This directory contains code for binding the es5conform test suite
into the v8 test harness.  To use the tests check out the es5conform
tests from

  https://es5conform.svn.codeplex.com/svn

in revision 71525 as 'data' in this directory.  Using later version
may be possible but the tests are only known to pass (and indeed run)
with that revision.

If you do update to a newer revision you may have to change the test
harness adapter code since it uses internal functionality from the
harness that comes bundled with the tests.  You will most likely also
have to update the test expectation file.
