)]}'
{
  "log": [
    {
      "commit": "278bcfaed0dcaa13936831fb1769d15e7c1e3b2b",
      "tree": "9ca8636d03d82b9989438f67edb06a015195e707",
      "parents": [
        "4555345a943d0c99a9461182705543fb171dda4b"
      ],
      "author": {
        "name": "Shu-yu Guo",
        "email": "syg@chromium.org",
        "time": "Wed Jan 27 03:55:50 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 27 03:55:50 2021"
      },
      "message": "Update for main branch rename (#9)\n\n* Update for main branch rename\r\n\r\n* Update src/parseTestRecord.py\r\n\r\nCo-authored-by: Leo Balter \u003cleonardo.balter@gmail.com\u003e\r\n\r\nCo-authored-by: Leo Balter \u003cleonardo.balter@gmail.com\u003e"
    },
    {
      "commit": "4555345a943d0c99a9461182705543fb171dda4b",
      "tree": "8ce27d5171713149307833d0040b98e4848a3c56",
      "parents": [
        "9bd99c6f33be10561970bfe16f2f16a8a3d88722"
      ],
      "author": {
        "name": "Ms2ger",
        "email": "Ms2ger@gmail.com",
        "time": "Tue Apr 30 15:03:20 2019"
      },
      "committer": {
        "name": "Leo Balter",
        "email": "leonardo.balter@gmail.com",
        "time": "Tue Apr 30 15:03:20 2019"
      },
      "message": "Parse any license block accepted by the upstream lint check. (#6)\n\n"
    },
    {
      "commit": "9bd99c6f33be10561970bfe16f2f16a8a3d88722",
      "tree": "f31ccc7a552021bc278523f6a2c3987ca9d64241",
      "parents": [
        "0f2acdd882c84cff43b9d60df7574a1901e2cdcd",
        "7393e73ce30f506b083b3da3b00ea5e741c16177"
      ],
      "author": {
        "name": "Leo Balter",
        "email": "leonardo.balter@gmail.com",
        "time": "Tue Mar 12 21:26:39 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 12 21:26:39 2019"
      },
      "message": "Merge pull request #4 from caitp/anbafy-it\n\nIncorporate changes from test262/41edfcebce1a85096"
    },
    {
      "commit": "7393e73ce30f506b083b3da3b00ea5e741c16177",
      "tree": "f31ccc7a552021bc278523f6a2c3987ca9d64241",
      "parents": [
        "0f2acdd882c84cff43b9d60df7574a1901e2cdcd"
      ],
      "author": {
        "name": "Caitlin Potter",
        "email": "caitp@igalia.com",
        "time": "Fri Mar 08 02:29:34 2019"
      },
      "committer": {
        "name": "Caitlin Potter",
        "email": "caitp@igalia.com",
        "time": "Fri Mar 08 02:38:57 2019"
      },
      "message": "Incorporate changes from test262/41edfcebce1a85096\n\nAdds André Bargull\u0027s simplifications with some slight edits to prevent\nprinting error messages for hashbang tests, and to always load the local\nmonkeyYaml script.\n"
    },
    {
      "commit": "0f2acdd882c84cff43b9d60df7574a1901e2cdcd",
      "tree": "ea2ebf81e8a452b9d9b7c24d6e68b682a446cc5b",
      "parents": [
        "cbd968f54f7a95c6556d53ba852292a4c49d11d8",
        "45782a29fdd7444e460f7582c2203719ee6402a6"
      ],
      "author": {
        "name": "littledan",
        "email": "microdan@gmail.com",
        "time": "Fri Dec 23 05:21:19 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 23 05:21:19 2016"
      },
      "message": "Merge pull request #1 from test262-utils/parsing-fixes\n\nParsing fixes"
    },
    {
      "commit": "45782a29fdd7444e460f7582c2203719ee6402a6",
      "tree": "ea2ebf81e8a452b9d9b7c24d6e68b682a446cc5b",
      "parents": [
        "e1901b8b0f1f427bd4717ab3eb7abd67c94d629c"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Oct 18 19:47:31 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Wed Oct 19 15:03:50 2016"
      },
      "message": "Update to support new negative format\n"
    },
    {
      "commit": "e1901b8b0f1f427bd4717ab3eb7abd67c94d629c",
      "tree": "8df8f99095bbdc3b91ddba3d63d787a4d7e804aa",
      "parents": [
        "2614131db8a7995d23d264553e10090e2ef4a147"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Oct 18 22:07:15 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Wed Oct 19 14:59:31 2016"
      },
      "message": "[yaml] Correct parsing of multiline strings\n"
    },
    {
      "commit": "2614131db8a7995d23d264553e10090e2ef4a147",
      "tree": "83a5d7c01a5cc6bdc57546cf174bd244ec2ecbed",
      "parents": [
        "cbd968f54f7a95c6556d53ba852292a4c49d11d8"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Oct 18 21:03:56 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Oct 18 21:07:34 2016"
      },
      "message": "[yaml] Add support for blocks without folding\n"
    },
    {
      "commit": "cbd968f54f7a95c6556d53ba852292a4c49d11d8",
      "tree": "5028de844fffa77cd7e1ba5a7b457eb9378ca476",
      "parents": [
        "126ecd36b9aaa75504c05d9c7817b77a91bab836"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jun 07 21:34:41 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jun 07 21:34:41 2016"
      },
      "message": "Re-structure project\n"
    },
    {
      "commit": "126ecd36b9aaa75504c05d9c7817b77a91bab836",
      "tree": "a7da2ea8bea9b0e716e724c70f1acbf6ec82668e",
      "parents": [
        "6c0276440b857762123bc7957589553c54b84a8d"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jun 07 19:31:31 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jun 07 19:32:05 2016"
      },
      "message": "Improve project documentation\n"
    },
    {
      "commit": "6c0276440b857762123bc7957589553c54b84a8d",
      "tree": "b2d1b50e3ac97f4ccb091431c497832f7c3038c6",
      "parents": [
        "a607254b6732d4f82bf9691d10262fbdd965bd3d"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jun 07 19:22:51 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jun 07 19:32:05 2016"
      },
      "message": "Simplify module import logic\n"
    },
    {
      "commit": "a607254b6732d4f82bf9691d10262fbdd965bd3d",
      "tree": "5eaa3111a29222317449ff803aa9540995b83210",
      "parents": [
        "739dbf6d784b1b060b0addc1296ce3a6cd0c5c91"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jun 07 19:10:45 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jun 07 19:32:05 2016"
      },
      "message": "Re-name internal modules\n\nPrefix the names of internal module source files with an underscore\n(\"_\") character to clearly document their status, as is conventional in\nPython projects:\n\n\u003e Even with __all__ set appropriately, internal interfaces (packages,\n\u003e modules, classes, functions, attributes or other names) should still\n\u003e be prefixed with a single leading underscore.\n\nhttps://www.python.org/dev/peps/pep-0008/#id47\n"
    },
    {
      "commit": "739dbf6d784b1b060b0addc1296ce3a6cd0c5c91",
      "tree": "8c799858dc714d7080ead872b224693ef3448e4d",
      "parents": [
        "5c06e87dfbc9648b6fed3c8ae6df4e2779058b45"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue May 31 18:54:08 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jun 07 19:32:05 2016"
      },
      "message": "Introduce project README.md file\n"
    },
    {
      "commit": "5c06e87dfbc9648b6fed3c8ae6df4e2779058b45",
      "tree": "b50334fbf900af15009ae8d1f4a20ede6124095d",
      "parents": [
        "8b2da2e2f94b0bba94f8c14c873a3a6bb403c764"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue May 31 18:52:31 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jun 07 19:32:05 2016"
      },
      "message": "Ignore files generated by the project itself\n"
    },
    {
      "commit": "8b2da2e2f94b0bba94f8c14c873a3a6bb403c764",
      "tree": "6755dc5661e8ffb8f4c3cfcded9ebaa28cad3d96",
      "parents": [
        "111ff263e72499ce2ac3da7b79cbebd68b59f345"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue May 31 18:51:44 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jun 07 19:32:05 2016"
      },
      "message": "Satisfy failing test\n"
    },
    {
      "commit": "111ff263e72499ce2ac3da7b79cbebd68b59f345",
      "tree": "58fd6316ff3064176159d7ee7dbc4054371150e7",
      "parents": [
        "f4245911e9e24df59e9f5f48f6123427f105d9c8"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue May 31 18:51:05 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jun 07 19:32:05 2016"
      },
      "message": "Re-structure project files\n\nOrganize files to better support development of the test harness as a\nstandalone tool.\n"
    },
    {
      "commit": "f4245911e9e24df59e9f5f48f6123427f105d9c8",
      "tree": "35aab4c3575a2f3f58e9eab47df0cd9d2da313b6",
      "parents": [
        "e8a3bf2906f675b471ce48034bf48896b967ae79"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue May 31 17:58:58 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue May 31 18:15:11 2016"
      },
      "message": "Re-introduce LICENSE file from original repository\n"
    },
    {
      "commit": "e8a3bf2906f675b471ce48034bf48896b967ae79",
      "tree": "7e23ea571e0159973aac9fabfafa3782923ba8a4",
      "parents": [
        "be1a8d080aab1a7d2e116e2620def319d3886808",
        "26b1c5f9c0a3ce7399cc69b65de1ee5fe515dfbe"
      ],
      "author": {
        "name": "Leo Balter",
        "email": "leonardo.balter@gmail.com",
        "time": "Thu Mar 17 19:28:08 2016"
      },
      "committer": {
        "name": "Leo Balter",
        "email": "leonardo.balter@gmail.com",
        "time": "Thu Mar 17 19:28:08 2016"
      },
      "message": "Merge pull request #504 from bocoup/explicit-async\n\nMake asynchronous test configuration explicit"
    },
    {
      "commit": "be1a8d080aab1a7d2e116e2620def319d3886808",
      "tree": "fe8f9df1e211f5e144a6735649a815a38c077e44",
      "parents": [
        "7e90ed6bbb1d7f197b810a33f99c7d6e37d00862"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Fri Feb 19 15:46:18 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Fri Feb 19 15:46:18 2016"
      },
      "message": "Revert \"Enable parallel test execution in console runner\"\n\nThis reverts commit 7ae29d49aedb82e9d13fca159057e4b37ce36f02.\n"
    },
    {
      "commit": "7e90ed6bbb1d7f197b810a33f99c7d6e37d00862",
      "tree": "547edd01a2ca1041c22a26eefb0ad55001e6fe60",
      "parents": [
        "77900cf0a6ed94464740be6f1d6e2e5acd2e741f"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Fri Feb 19 15:46:17 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Fri Feb 19 15:46:17 2016"
      },
      "message": "Revert \"Test runner: Avoid race condition\"\n\nThis reverts commit 217812891cd63c20b25379b2cf73f3101416ffe4.\n"
    },
    {
      "commit": "77900cf0a6ed94464740be6f1d6e2e5acd2e741f",
      "tree": "40ec209cee9e8d9d318092fb7fe1e52920429189",
      "parents": [
        "83b87ff042d48cd20c155d28c617ad87ab83e8db"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Fri Feb 19 15:46:14 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Fri Feb 19 15:46:14 2016"
      },
      "message": "Revert \"Runner: Re-use lock to share access to stdout\"\n\nThis reverts commit b791cc4fbec459b2eef502502e44a3d00688e083.\n"
    },
    {
      "commit": "26b1c5f9c0a3ce7399cc69b65de1ee5fe515dfbe",
      "tree": "935a9e34414e48cc3acd77d5f5aa63b6de5f050d",
      "parents": [
        "30df4bcb76bb015b71528fc9c53bebcf02671b56"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Fri Feb 12 17:59:51 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Fri Feb 12 18:03:19 2016"
      },
      "message": "Make asynchronous test configuration explicit\n\nFor asynchronous tests, the contract between test file and test runner\nis implicit: runners are expected to inspect the source code for\nreferences to a global `$DONE` identifier.\n\nPromote a more explicit contract between test file and test runner by\nintroducing a new frontmatter \"tag\", `async`. This brings asynchronous\ntest configuration in-line with other configuration mechanisms and also\nprovides a more natural means of test filtering.\n\nThe modifications to test files was made programatically using the\n`grep` and `sed` utilities:\n\n    $ grep \"\\$DONE\" test/ -r --files-with-match --null | \\\n        xargs -0 sed -i \u0027s/^\\(flags:\\s*\\)\\[/\\1[async, /g\u0027\n    $ grep \"\\$DONE\" test/ -rl --null | \\\n        xargs -0 grep -E \u0027^flags:\u0027 --files-without-match --null | \\\n        xargs -0 sed -i \u0027s/^---\\*\\//flags: [async]\\n---*\\//\u0027\n"
    },
    {
      "commit": "83b87ff042d48cd20c155d28c617ad87ab83e8db",
      "tree": "1e4af6cc3e8ef2cbe3c3da8b9a3499d903879880",
      "parents": [
        "43b3ede92edc36fbc4c2b9153cbfa419586f6891"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Wed Feb 10 22:15:49 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Wed Feb 10 22:15:49 2016"
      },
      "message": "Runner: Re-use lock to share access to stdout\n\nWhen executing multiple tests in parallel, each \"child\" thread would\nwrite to the process\u0027s standard output buffer immediately upon test\ncompletion. Because thread execution order and instruction interleaving\nis non-deterministic, this made it possible for characters to be emitted\nout-of-order.\n\nWhen extended to support multiple concurrent threads, the runner was\noutfitted with a \"log lock\" dedicated to sharing access to the output\nfile (when applicable). Re-use this lock when writing to standard out,\nensuring proper ordering of test result messages.\n"
    },
    {
      "commit": "43b3ede92edc36fbc4c2b9153cbfa419586f6891",
      "tree": "40ec209cee9e8d9d318092fb7fe1e52920429189",
      "parents": [
        "30df4bcb76bb015b71528fc9c53bebcf02671b56"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Wed Feb 10 21:46:20 2016"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Wed Feb 10 21:47:01 2016"
      },
      "message": "Test runner: Avoid race condition\n\nA recent extension to the test runner introduced support for running\ntests in parallel using multi-threading. Following this, the runner\nwould incorrectly emit the \"final report\" before all individual test\nresults.\n\nIn order to emit the \"final report\" at the end of the output stream, the\nparent thread would initialize all children and wait for availability of\na \"log lock\" shared by all children.\n\nAccording to the documentation on the \"threading\" module\u0027s Lock object\n[1]:\n\n\u003e When more than one thread is blocked in acquire() waiting for the state\n\u003e to turn to unlocked, only one thread proceeds when a release() call\n\u003e resets the state to unlocked; which one of the waiting threads proceeds\n\u003e is not defined, and may vary across implementations.\n\nThis means the primitive cannot be used by the parent thread to reliably\ndetect completion of all child threads.\n\nUpdate the parent to maintain a reference for each child thread, and to\nexplicitly wait for every child thread to complete before emitting the\nfinal result.\n\n[1] https://docs.python.org/2/library/threading.html#lock-objects\n"
    },
    {
      "commit": "30df4bcb76bb015b71528fc9c53bebcf02671b56",
      "tree": "547edd01a2ca1041c22a26eefb0ad55001e6fe60",
      "parents": [
        "f11245822b065531cae8a935493a76c3f1e07bdb"
      ],
      "author": {
        "name": "Till Schneidereit",
        "email": "till@tillschneidereit.net",
        "time": "Mon Feb 08 16:36:15 2016"
      },
      "committer": {
        "name": "Till Schneidereit",
        "email": "till@tillschneidereit.net",
        "time": "Mon Feb 08 16:40:16 2016"
      },
      "message": "Enable parallel test execution in console runner\n\nAdds a `-j`/`--workers-count` parameter to `tools/packaging/test262.py`, defaulting to `[number of cores] - 1`.\n\nSpeeds up running the test suite by about ~3x on my 4-core machine, with the SpiderMonkey shell. This could certainly be optimized more by just appending test results to per-thread lists and merging them at the end, but it\u0027s better than nothing.\n"
    },
    {
      "commit": "f11245822b065531cae8a935493a76c3f1e07bdb",
      "tree": "fe8f9df1e211f5e144a6735649a815a38c077e44",
      "parents": [
        "f1266cd6fdaf39be22b81bb026bb8060812f6ef7"
      ],
      "author": {
        "name": "André Bargull",
        "email": "andre.bargull@gmail.com",
        "time": "Fri Jul 17 15:42:45 2015"
      },
      "committer": {
        "name": "André Bargull",
        "email": "andre.bargull@gmail.com",
        "time": "Fri Jul 17 15:43:09 2015"
      },
      "message": "Remove links to hg.ecmascript.org\n"
    },
    {
      "commit": "f1266cd6fdaf39be22b81bb026bb8060812f6ef7",
      "tree": "97ab9523233848922fbedf727e3b30cad85eaf14",
      "parents": [
        "bceec283a32c9c4ddf424150510bdfc29d79c2cf",
        "62e93c79d50ba0da36b6eaf922de4c9b888bc3d2"
      ],
      "author": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Tue Jul 07 19:35:11 2015"
      },
      "committer": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Tue Jul 07 19:35:11 2015"
      },
      "message": "Merge pull request #340 from bocoup/raw\n\nImplement `raw` flag"
    },
    {
      "commit": "62e93c79d50ba0da36b6eaf922de4c9b888bc3d2",
      "tree": "c5f45a3d32d0b20ea245d54d1fde376154c97aff",
      "parents": [
        "b36a8f7bdc5b54d1fc095445a7599b59a645bf64"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Mon Jun 08 19:35:16 2015"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Tue Jul 07 17:18:55 2015"
      },
      "message": "Implement `raw` flag\n\nSome tests involving the directive prologue are invalidated by source\ntext transformations that insert executable code in the beginning of the\nscript. Implement a `raw` flag that allows these tests to opt-out of\nthis transformation. Update the relevant tests to use this flag (and\nremove references to globals only available when code is injected).\n\nUpdate the Python runner accordingly:\n\n- Do not run tests marked as \"raw\" in strict mode\n- Reject invalid test configurations\n\nUpdate the browser runner accordingly:\n\n- Do not modify the script body of tests marked as \"raw\"\n"
    },
    {
      "commit": "bceec283a32c9c4ddf424150510bdfc29d79c2cf",
      "tree": "641a9165a738b5809ed87e20205f7bcbff19be73",
      "parents": [
        "ffbf95c15c1b5eb40b62a98b7308e5592e73d07c",
        "98e77fb3992ae4013823f057a80a719d12fbb1e7"
      ],
      "author": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Mon Jul 06 22:21:31 2015"
      },
      "committer": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Mon Jul 06 22:21:31 2015"
      },
      "message": "Merge pull request #351 from arv/fix-indentation\n\nUnify indentation in test_monkeyYaml.py"
    },
    {
      "commit": "ffbf95c15c1b5eb40b62a98b7308e5592e73d07c",
      "tree": "c88acf84666a52b0943174b50ecb0189f4c854be",
      "parents": [
        "b36a8f7bdc5b54d1fc095445a7599b59a645bf64",
        "6d9aa8648819679f62083c268d1fe8f131cb42c3"
      ],
      "author": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Mon Jul 06 21:51:00 2015"
      },
      "committer": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Mon Jul 06 21:51:00 2015"
      },
      "message": "Merge pull request #347 from bocoup/all-monkey-all-the-time\n\nUse \"monkeyYaml\" in all environments"
    },
    {
      "commit": "98e77fb3992ae4013823f057a80a719d12fbb1e7",
      "tree": "ebe7a0e5921c296294705f01560efa3cb70c508d",
      "parents": [
        "b36a8f7bdc5b54d1fc095445a7599b59a645bf64"
      ],
      "author": {
        "name": "Erik Arvidsson",
        "email": "arv@chromium.org",
        "time": "Mon Jul 06 14:09:26 2015"
      },
      "committer": {
        "name": "Erik Arvidsson",
        "email": "arv@chromium.org",
        "time": "Mon Jul 06 14:09:26 2015"
      },
      "message": "Unify indentation in test_monkeyYaml.py\n"
    },
    {
      "commit": "6d9aa8648819679f62083c268d1fe8f131cb42c3",
      "tree": "c67c579f42e94f9ca3030ae995fd2a0a2175d112",
      "parents": [
        "d6727d69b0f15ab27aa62eadf6bd28a36874b7b5"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Wed Jul 01 18:35:13 2015"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Wed Jul 01 18:49:54 2015"
      },
      "message": "Use \"monkeyYaml\" in all environments\n\nThe \"monkeyYaml\" parser is intended to serve as a lightweight fallback\nto Python\u0027s standard YAML parser in contexts where the latter is not\navailable. Any intentionally-simplified implementation will necessarily\nexhibit non-standard behavior for different input, so not all input\naccepted by the standard parser will be accepted by \"monkeyYaml\". If\nloaded exclusively in fallback situations, these edge cases can only be\nidentified (and debugged) in the environments that require the fallback.\nThis has allowed developers to unknowingly author tests that cause\nerrors.\n\nUpdate the test runner to use \"monkeyYaml\" in all cases, ensuring more\nconsistent behavior across contexts and precluding this class of\nregression.\n"
    },
    {
      "commit": "b36a8f7bdc5b54d1fc095445a7599b59a645bf64",
      "tree": "52e0676e676e7dceb13b3b0dca11c5e5c69947bb",
      "parents": [
        "d6727d69b0f15ab27aa62eadf6bd28a36874b7b5"
      ],
      "author": {
        "name": "Erik Arvidsson",
        "email": "arv@chromium.org",
        "time": "Wed Jul 01 14:19:33 2015"
      },
      "committer": {
        "name": "Erik Arvidsson",
        "email": "arv@chromium.org",
        "time": "Wed Jul 01 15:09:08 2015"
      },
      "message": "monkeyYaml: Add support for line folding\n\nFixes #345\n"
    },
    {
      "commit": "d6727d69b0f15ab27aa62eadf6bd28a36874b7b5",
      "tree": "cfe3bc65e719846aec03b8df258ff2754d00802f",
      "parents": [
        "cbf0b07d9393600e43586cf835c2849792ec671c"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Fri Jun 26 16:11:04 2015"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Fri Jun 26 17:29:07 2015"
      },
      "message": "Move website scripts to a dedicated directory\n\nSome JavaScript source files are only relevant in the context of the\nTest262 website. They should not be explicitly included by individual\ntests, so their presence in the `harness/` directory alongside \"include\"\nfiles is misleading.\n\nMove the scripts to a location within the `website/` directory to\nbetter-reflect their intended use. Update the relevant HTML templates\nwith the new locations.\n"
    },
    {
      "commit": "cbf0b07d9393600e43586cf835c2849792ec671c",
      "tree": "5987eb0d47fbe431873a3e071f36d141feaa43b6",
      "parents": [
        "55e44be8c18458830a2f41157929149f48708b8c"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Thu Jun 18 16:06:20 2015"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Fri Jun 26 17:29:07 2015"
      },
      "message": "Remove support for legacy `$INCLUDE` syntax\n\nAlthough test files once expressed dependencies on external files using\na global `$INCLUDE` function, that pattern was removed in favor of\ndeclarative meta-data [1].\n\nRemove the associated logic from the Python runner and the browser.\n\n[1] See commit d4354d14d534abaf2bcb1f82b3daae0702f3b8ee.\n"
    },
    {
      "commit": "55e44be8c18458830a2f41157929149f48708b8c",
      "tree": "00081c2acc9d69f7c3e84f816d8878e141335482",
      "parents": [
        "d50bd067042ba9c1313af97a5e8439ee2f2ada5b"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Thu Jun 18 17:40:05 2015"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Thu Jun 18 17:53:09 2015"
      },
      "message": "Update browser runner to inject `assert.js`\n\nSince the Python runner was updated to include `assert.js` in all tests\nunconditionally, a number of tests have been written that implicitly\nrely on its presence. The browser runner does not currently provide this\nfile\u0027s contents to these tests, so they fail unconditionally.\n\nUpdate the browser runner to inject that file\u0027s contents into every test\ncontext.\n\nNote: the existing approach to file retrieval (namely loading via\nsynchronous XHR requests) is inefficient and deprecated in some\nbrowsers. It is honored here for the sake of consistency and to minimize\nthe changeset necessary to fix the browser runner.\n"
    },
    {
      "commit": "d50bd067042ba9c1313af97a5e8439ee2f2ada5b",
      "tree": "448b29d81c945ebd057918375faa6ba3528a9635",
      "parents": [
        "67cab754e226e490b8c1e125a97f7a978181eb65"
      ],
      "author": {
        "name": "Erik Arvidsson",
        "email": "arv@chromium.org",
        "time": "Wed Jun 10 14:30:55 2015"
      },
      "committer": {
        "name": "Erik Arvidsson",
        "email": "arv@chromium.org",
        "time": "Wed Jun 10 14:45:23 2015"
      },
      "message": "Fix monkey yaml\u0027s handling of carriage return\n\nmonkeyYaml didn\u0027t split lines correctly leading to \\r in resulting\nvalues.\n\nFixes #295\n"
    },
    {
      "commit": "67cab754e226e490b8c1e125a97f7a978181eb65",
      "tree": "96624ee9b685d08504102a6c4731c2c76aa6f230",
      "parents": [
        "e01107d0bc75713dbb2d12ca59c1c1508d9badda"
      ],
      "author": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Mon May 25 21:35:35 2015"
      },
      "committer": {
        "name": "Mike Pennisi",
        "email": "mike@mikepennisi.com",
        "time": "Mon May 25 21:41:13 2015"
      },
      "message": "Update contribution information\n\nTest262 now accepts community contributions. Update the copy on the\nwebsite to reflect this.\n"
    },
    {
      "commit": "e01107d0bc75713dbb2d12ca59c1c1508d9badda",
      "tree": "c1af1300b516c150ace79f1f4e14d2134cef9c84",
      "parents": [
        "3ae86bfb575ca7e66aa95cf9ed8f7ca35e29acb5"
      ],
      "author": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Thu May 14 01:52:01 2015"
      },
      "committer": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Thu May 14 01:52:01 2015"
      },
      "message": "Python harness: run tests in both modes by default"
    },
    {
      "commit": "3ae86bfb575ca7e66aa95cf9ed8f7ca35e29acb5",
      "tree": "4b9046c563692b7fe0ed988ae0d1bb99947e6093",
      "parents": [
        "005cb5286a4d4c524c9a5d3f171d88aa18ea5ef8"
      ],
      "author": {
        "name": "smikes",
        "email": "smikes@cubane.com",
        "time": "Mon Mar 30 20:46:49 2015"
      },
      "committer": {
        "name": "smikes",
        "email": "smikes@cubane.com",
        "time": "Mon Mar 30 21:37:59 2015"
      },
      "message": "candidate fix for #215\n\nadditional test, tests should have unique names\nimprove python style thx to arv\n"
    },
    {
      "commit": "005cb5286a4d4c524c9a5d3f171d88aa18ea5ef8",
      "tree": "22b41bd284c082f6fe89a0749bd970c7021d818f",
      "parents": [
        "86a0068dfc0b559594aab5a5be84299af5065a92"
      ],
      "author": {
        "name": "Gregory Brail",
        "email": "greg@apigee.com",
        "time": "Thu Jan 22 01:43:56 2015"
      },
      "committer": {
        "name": "Gregory Brail",
        "email": "greg@apigee.com",
        "time": "Fri Feb 27 00:46:59 2015"
      },
      "message": "Fix JUnit output so that it can be actually be parsed by JUnit and\nJenkins. Wrap XML output correctly and\npost-process failure messages to avoid invalid XML characters.\n"
    },
    {
      "commit": "86a0068dfc0b559594aab5a5be84299af5065a92",
      "tree": "4084f80a59dd205661cc26beb62ce992e4609996",
      "parents": [
        "47dfe80077c255dc6ac71b46f28cd3bcb1347f0e"
      ],
      "author": {
        "name": "Brian Terlson",
        "email": "brian.terlson@microsoft.com",
        "time": "Tue Dec 09 22:52:12 2014"
      },
      "committer": {
        "name": "Brian Terlson",
        "email": "brian.terlson@microsoft.com",
        "time": "Tue Dec 09 22:52:12 2014"
      },
      "message": "Fix packager.py for updated locations\n"
    },
    {
      "commit": "47dfe80077c255dc6ac71b46f28cd3bcb1347f0e",
      "tree": "926dcfe833fe9d4745d36119bbfca6daeaf20526",
      "parents": [
        "b7cda46a1b6748764d27b1e2b9e4b75ecb9063ff"
      ],
      "author": {
        "name": "Brian Terlson",
        "email": "brian.terlson@microsoft.com",
        "time": "Sun Dec 07 23:42:12 2014"
      },
      "committer": {
        "name": "Brian Terlson",
        "email": "brian.terlson@microsoft.com",
        "time": "Sun Dec 07 23:42:12 2014"
      },
      "message": "Update python scripts for new paths\n"
    },
    {
      "commit": "b7cda46a1b6748764d27b1e2b9e4b75ecb9063ff",
      "tree": "0ac3471cf3ddaf608b5da4e1bd0ce71410cfbfa0",
      "parents": [
        "6b1a0f1aae9fe899e30802b17081d79b7b9e4523",
        "2e3d3569ccf7704d3388f18a17d0602780ec6092"
      ],
      "author": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Tue Dec 02 04:14:47 2014"
      },
      "committer": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Tue Dec 02 04:14:47 2014"
      },
      "message": "Merge pull request #127 from smikes/asserts\n\nadd \"assert.js\" to python, website runners too"
    },
    {
      "commit": "2e3d3569ccf7704d3388f18a17d0602780ec6092",
      "tree": "3fe57856050a3b0e22b9be5e7581f34437059589",
      "parents": [
        "4b92a4f22ed843c8c8550ee45ef2f97bd60424a5"
      ],
      "author": {
        "name": "smikes",
        "email": "smikes@cubane.com",
        "time": "Tue Dec 02 03:02:31 2014"
      },
      "committer": {
        "name": "smikes",
        "email": "smikes@cubane.com",
        "time": "Tue Dec 02 03:04:35 2014"
      },
      "message": "add \"assert.js\" to python, website runners too\n"
    },
    {
      "commit": "6b1a0f1aae9fe899e30802b17081d79b7b9e4523",
      "tree": "25b98b8b3308f659b6d30543fdd6189413ff5cab",
      "parents": [
        "a666fde76a70a7979e9727ea12c241c5cc2748af"
      ],
      "author": {
        "name": "Domenic Denicola",
        "email": "d@domenic.me",
        "time": "Mon Dec 01 20:46:46 2014"
      },
      "committer": {
        "name": "Domenic Denicola",
        "email": "d@domenic.me",
        "time": "Mon Dec 01 20:53:27 2014"
      },
      "message": "Fix whitespace for async test detection\n\nPresumably since Python is whitespace-sensitive, this is actually quite important?\n"
    },
    {
      "commit": "a666fde76a70a7979e9727ea12c241c5cc2748af",
      "tree": "3f8cd390b2ba91d5976988dd376d1797f2f78995",
      "parents": [
        "4b92a4f22ed843c8c8550ee45ef2f97bd60424a5"
      ],
      "author": {
        "name": "Domenic Denicola",
        "email": "d@domenic.me",
        "time": "Mon Dec 01 20:46:34 2014"
      },
      "committer": {
        "name": "Domenic Denicola",
        "email": "d@domenic.me",
        "time": "Mon Dec 01 20:52:19 2014"
      },
      "message": "Remove trailing whitespace from the Python\n"
    },
    {
      "commit": "4b92a4f22ed843c8c8550ee45ef2f97bd60424a5",
      "tree": "4fcea6f90518ba958a68a2345de436ea5951033d",
      "parents": [
        "dbe1457459cb8902d2ffd98b71387ca39e5d26a7"
      ],
      "author": {
        "name": "smikes",
        "email": "smikes@cubane.com",
        "time": "Tue Nov 11 18:20:57 2014"
      },
      "committer": {
        "name": "smikes",
        "email": "smikes@cubane.com",
        "time": "Wed Nov 12 00:07:48 2014"
      },
      "message": "add some unit tests\n\nadd test to repro #114\nfix issue #114\nfactor out PercentFormat function\nnew fn write; start factoring summary output\nfix tests to match\nconsolidate \"Failed Tests\" message\nadd test for successful run\nconsolidate all_succeeded message\nconsolidate summary line\nconsolidate ntests\nfailing negative tests\nsqueeze whitespace\n"
    },
    {
      "commit": "dbe1457459cb8902d2ffd98b71387ca39e5d26a7",
      "tree": "83ecc1b6e27c2bbc424474ec7573ccfc584d8a2d",
      "parents": [
        "d88a88fd3f8b35488e95ec9f2637ef35d5f3b230",
        "78edb47c568c761ef072bee898b6796f8a775ec8"
      ],
      "author": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Fri Oct 24 21:41:40 2014"
      },
      "committer": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Fri Oct 24 21:41:40 2014"
      },
      "message": "Merge pull request #104 from smikes/monkeyYaml-loadfix\n\nload monkeyYaml without assuming it is on path"
    },
    {
      "commit": "78edb47c568c761ef072bee898b6796f8a775ec8",
      "tree": "617236d0e3396776eaecea81a0aadbbb1a7d99b5",
      "parents": [
        "1509860eddc76ac7662d22ab5fe7a250618b84a3"
      ],
      "author": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Fri Oct 24 16:44:18 2014"
      },
      "committer": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Fri Oct 24 21:36:03 2014"
      },
      "message": "load monkeyYaml without assuming it is on path\nuse imp to import monkeyYaml locally\nmake monkeyYaml the backup again\n"
    },
    {
      "commit": "d88a88fd3f8b35488e95ec9f2637ef35d5f3b230",
      "tree": "48bf91ab24aa36aa23c9259ff57ba05402e86d7c",
      "parents": [
        "1509860eddc76ac7662d22ab5fe7a250618b84a3"
      ],
      "author": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Fri Oct 24 14:18:37 2014"
      },
      "committer": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Fri Oct 24 14:18:37 2014"
      },
      "message": "additional fixes suggested by @anba\n"
    },
    {
      "commit": "1509860eddc76ac7662d22ab5fe7a250618b84a3",
      "tree": "814082202255cedf590e2dd44baf82a6775ccc5b",
      "parents": [
        "845dace798c7c099f796203a05b9296dbc834998"
      ],
      "author": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Thu Aug 28 11:47:58 2014"
      },
      "committer": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Thu Aug 28 11:47:58 2014"
      },
      "message": "provide fallback parser if YAML not installed\n\nparseTestRecord.py:\n- recover from ImportError when YAML not defined\n- use monkeyYaml as backup\n\nmonkeyYaml.py:\n- parser for subset of YAML used in test262 frontmatter\n\ntest_monkeyYaml.py:\n- unit tests\n"
    },
    {
      "commit": "845dace798c7c099f796203a05b9296dbc834998",
      "tree": "b7dd9c53a4d963368142274fa2da5e82e8931edb",
      "parents": [
        "2b4e57a300425545eaffb91910b9dc759dfaba21"
      ],
      "author": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Fri Aug 01 11:35:15 2014"
      },
      "committer": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Tue Aug 12 23:19:11 2014"
      },
      "message": "bestPractice: supply error names to negative\n\npilot directory for replacing flags: [negative] with\nnegative: errorname\n\nch07-7.2,7.3: add error names\nch07-rest: insert error names rest of ch07\nch08: add expected error name\nch11: add error name to negative\nch12: put error name in negative\n\nch13: add error name to negative\nonly one test, did it manually\n\nch15: add error name to negative:\n\nch07: add error name to negative\n\nthese tests used flags: \\n - negative and so\nwere not caught by the earlier naive grep for flags: [negative]\n\n--- changes suggested by @anba\n\nbestPractice - remove added NotEarlyError\nch07,ch11 - expect ReferenceError (req\u0027d by ES6)\ncorrect test descriptions to expect ReferenceError only\nenforce parsing as block statement by adding `;`\nremove needless include of $FAIL.js\n\neffectively, a rebase of all changes onto master\n\n    Merge branch \u0027negative-addErrorName-work\u0027 into negative-addErrorName-bestPractice\n\n    Merge branch \u0027saved-bestPractice-negative\u0027 into negative-addErrorName-work\n\n    Conflicts:\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js\n    \ttest/suite/ch12/12.1/S12.1_A4_T1.js\n    \ttest/suite/ch12/12.5/S12.5_A2.js\n\n    incorporate changes made on PR branch\n\n    re-remove added NotEarlyError\n\n    Merge branch \u0027negative-addErrorName-work\u0027 into negative-addErrorName-bestPractice\n\n    Conflicts:\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js\n    \ttest/suite/ch12/12.1/S12.1_A4_T1.js\n    \ttest/suite/ch12/12.5/S12.5_A2.js\n\n    ch15: correct negative regexes\n\n    ch10: avoid use of not-NotEarlyError regex\n\n    ch14 error regexps\n\n    ch13 error regexps\n\n    ch12: negative error matching\n\n    Merge branch \u0027console-runner-checkError\u0027 into negative-addErrorName-work\n\n    test262.py: check negative tests with regex\n\n    implement checking of negative tests \u003d\u003e\n\n    negative: SyntaxError\n\n    means that /SyntaxError/ must match stderr\n    or test is reported as failure\n\n    Fixes #78\n\n    expect real errors\n\n    bestPractice: supply error names to negative\n\n    pilot directory for replacing flags: [negative] with\n    negative: errorname\n\n    ch07-7.2,7.3: add error names\n    ch07-rest: insert error names rest of ch07\n    ch08: add expected error name\n    ch11: add error name to negative\n    ch12: put error name in negative\n\n    ch13: add error name to negative\n    only one test, did it manually\n\n    ch15: add error name to negative:\n\n    ch07: add error name to negative\n\n    these tests used flags: \\n - negative and so\n    were not caught by the earlier naive grep for flags: [negative]\n\n    --- changes suggested by @anba\n\n    bestPractice - remove added NotEarlyError\n    ch07,ch11 - expect ReferenceError (req\u0027d by ES6)\n    correct test descriptions to expect ReferenceError only\n    enforce parsing as block statement by adding `;`\n    remove needless include of $FAIL.js\n\n    Merge branch \u0027negative-addErrorName-work\u0027 into negative-addErrorName-bestPractice\n\n    resolved Conflicts:\n    \ttest/suite/ch07/7.9/S7.9_A5.7_T1.js\n    \ttest/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T3.js\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T1.js\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T10.js\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T11.js\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T3.js\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T4.js\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T5.js\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T6.js\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T7.js\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T8.js\n    \ttest/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T9.js\n    \ttest/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T3.js\n    \ttest/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T3.js\n    \ttest/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T3.js\n    \ttest/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T3.js\n    \ttest/suite/ch12/12.5/S12.5_A2.js\n    \ttest/suite/ch12/12.6/12.6.3/S12.6.3_A4_T2.js\n\n    negative: second half of @anba notes\n\n    correct test descriptions to expect ReferenceError only\n    enforce parse as block statement by adding `;`\n    remove needless include of $FAIL.js\n\n    ch12: specify type\n\n    negative: @anba fixes\n\n    bestPractice - remove added NotEarlyError\n    ch07,ch11 - expect ReferenceError (req\u0027d by ES6)\n\n    bestPractice: supply error names to negative\n\n    pilot directory for replacing flags: [negative] with\n    negative: errorname\n\n    ch07-7.2,7.3: add error names\n    ch07-rest: insert error names rest of ch07\n    ch08: add expected error name\n    ch11: add error name to negative\n    ch12: put error name in negative\n\n    ch13: add error name to negative\n    only one test, did it manually\n\n    ch15: add error name to negative:\n\n    ch07: add error name to negative\n\n    these tests used flags: \\n - negative and so\n    were not caught by the earlier naive grep for flags: [negative]\n\n    expect a SyntaxError\n\n    ch07: add error name to negative\n\n    these tests used flags: \\n - negative and so\n    were not caught by the earlier naive grep for flags: [negative]\n\n    ch15: add error name to negative:\n\n    ch13: add error name to negative\n\n    only one test, did it manually\n\n    ch12: put error name in negative\n\n    ch11: add error name to negative\n\n    ch08: add expected error name\n    ch07-rest: insert error names rest of ch07\n\n    ch07-7.2,7.3: add error names\n\n    negative-errorname: pilot\n\n    pilot directory for replacing flags: [negative] with\n    negative: errorname\n\n    bestPractice: supply error names to negative\n\nbestPractice: supply error names to negative\n\npilot directory for replacing flags: [negative] with\nnegative: errorname\n\nch07-7.2,7.3: add error names\nch07-rest: insert error names rest of ch07\nch08: add expected error name\nch11: add error name to negative\nch12: put error name in negative\n\nch13: add error name to negative\nonly one test, did it manually\n\nch15: add error name to negative:\n\nch07: add error name to negative\n\nthese tests used flags: \\n - negative and so\nwere not caught by the earlier naive grep for flags: [negative]\n\nbestPractice: supply error names to negative\n\nnegative-errorname: pilot\n\npilot directory for replacing flags: [negative] with\nnegative: errorname\n\nch07-7.2,7.3: add error names\n\nch07-rest: insert error names rest of ch07\n\nch08: add expected error name\n\nch11: add error name to negative\n\nch12: put error name in negative\n\nch13: add error name to negative\n\nonly one test, did it manually\n\nch15: add error name to negative:\n\nch07: add error name to negative\n\nthese tests used flags: \\n - negative and so\nwere not caught by the earlier naive grep for flags: [negative]\n\nexpect a SyntaxError\n\nnegative: @anba fixes\n\nbestPractice - remove added NotEarlyError\nch07,ch11 - expect ReferenceError (req\u0027d by ES6)\n\nch12: specify type\n\nnegative: second half of @anba notes\n\ncorrect test descriptions to expect ReferenceError only\nenforce parse as block statement by adding `;`\nremove needless include of $FAIL.js\n\nexpect real errors\n\nch12: negative error matching\n\nch13 error regexps\n\nch14 error regexps\n\nadd \"description\" header back\n\nremove now-unused includes\n\nremove needless include\n"
    },
    {
      "commit": "2b4e57a300425545eaffb91910b9dc759dfaba21",
      "tree": "261e604217f933d88045f30e5643970b3e4ab2b2",
      "parents": [
        "c3543f1e2fb6337b50ae6393c9282fb627740c74"
      ],
      "author": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Fri Aug 01 11:38:31 2014"
      },
      "committer": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Sat Aug 02 23:33:08 2014"
      },
      "message": "harness: remove unused code\n\nsta.js:\nslight change to Test262Error() semantics; message property now always set (default \"\")\nmake $ERROR a var\nset $ERROR to function $ERROR so it can be overridden if needed\nremove 2009 copyright in favor of 2012 copyright\nREVERTED: remove never-used fn testFailed\ntestFailed actually used by $FAIL\nremove obsolete fn $INCLUDE\n\ned.js:\nremove commented-out obsolete code\n\ntest262.py:\nremove always-included harness file that provides no functions used by any extant test\nadd comment line to nonstrict\n\ncth.js: define `print` for node, cscript\n\nuse cth (console test harness) to define functions\nfor console runner.  V8, Spidermonkey (js) and JavaScriptCore (jsc)\nprovide a function `print`.  Provide a default `print` for node\nand cscript\n\nset print_handle to \u0027print\u0027 by default (can still override)\nfor cscript: wrap tests in try/catch so we get syntax errors\n"
    },
    {
      "commit": "c3543f1e2fb6337b50ae6393c9282fb627740c74",
      "tree": "c6ccb76aa4132f760b352efea69aec6bb40e617f",
      "parents": [
        "b0ae688d1a4d1ff4927c4e78245d91a5d7bd0b0b"
      ],
      "author": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Fri Jul 18 22:22:37 2014"
      },
      "committer": {
        "name": "Brian Terlson",
        "email": "brian.terlson@microsoft.com",
        "time": "Wed Jul 30 22:39:04 2014"
      },
      "message": "tools, harness: support new YAML frontmatter\n\nparseTestRecord: add support for YAML frontmatter\nparseTestRecord: initial unit test for test record parser\nparseTestRecord: refactor for testing\n\nfactor old parsing; add YAML parsing\n\nrunner: support \"includes\" from YAML frontmatter\n\nsupport frontmatter \"includes\" in python runner\nuse test.includes if present instead of scanning test code with regex\n\nharness: factor individual functions out into files\n\ntools: handle YAML errors\n\ntolerate missing keys in dictionary (flags, includes)\nreport filename when empty frontmatter block\nnew option --list-includes to test262.py\n\nharness: factor helper functions into separate files\n\nsth: remove extra close-paren (syntax error)\n\ntest_common: TDD; failing parse of YAML\n\ncommon: use parseTestRecord (YAML-aware)\n"
    },
    {
      "commit": "b0ae688d1a4d1ff4927c4e78245d91a5d7bd0b0b",
      "tree": "47c5756e9e2b772552d3e9ff65dbe379abc09672",
      "parents": [
        "5999ab79f04cdf967711bdf0a627047795019763"
      ],
      "author": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Mon Jul 21 14:15:04 2014"
      },
      "committer": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Mon Jul 21 14:15:04 2014"
      },
      "message": "test262.py: only include helper scripts when needed\n\ntest262.py: only supply async helper scripts when test is async\nsth.js: factor out function isAsyncTest()\ntimer.js: improve workaround for async tests when Promise is defined but setTimeout is noot\n\ntimer.js emulates setTimeout using Promise by doing a busy loop that checks\nif `timeout` milliseconds have elapsed.  Modified check to (timeLeft \u003e 0) instead\nof (!timeLeft) to prevent infinite loop when check does not happen to run\nat precise millisecond timeout expires.\n\nBecause test262.py did not support the $INCLUDE directive, some helper\nscripts were added to every test -- notably testIntl, timer, and donePrintHandle\nNow that $INCLUDE is supported, these can be dropped, speeding overall test run time\n"
    },
    {
      "commit": "5999ab79f04cdf967711bdf0a627047795019763",
      "tree": "7bb5536a0c4a9cd146e6d69dff1f5f6a0b6000b9",
      "parents": [
        "67bd476e0ac2939992341df47d8ede10467f36b0",
        "a2d3b833ace73613b7694257c67858b7e330ab26"
      ],
      "author": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Fri Jul 18 18:38:31 2014"
      },
      "committer": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Fri Jul 18 18:38:31 2014"
      },
      "message": "Merge pull request #31 from Constellation/fix-error-code\n\nPropagate error code when test cases are failed"
    },
    {
      "commit": "67bd476e0ac2939992341df47d8ede10467f36b0",
      "tree": "59728f242b7baee324c51663006376bad535c5fa",
      "parents": [
        "e31f71e644af1c9ee9d3d5c3c5eee4810f6021ee",
        "e9afaf8314208cebb762c3114de30077878871e9"
      ],
      "author": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Fri Jul 18 18:22:48 2014"
      },
      "committer": {
        "name": "Brian Terlson",
        "email": "btthalion@gmail.com",
        "time": "Fri Jul 18 18:22:48 2014"
      },
      "message": "Merge pull request #43 from smikes/initial-Promise-tests\n\nInitial promise tests"
    },
    {
      "commit": "e31f71e644af1c9ee9d3d5c3c5eee4810f6021ee",
      "tree": "a379d26b2d11cf191d929cc08d2edd9b40d93fb0",
      "parents": [
        "7a673fc8ce8678210b241da29ac04a6d88a797e3"
      ],
      "author": {
        "name": "smikes",
        "email": "smikes@cubane.com",
        "time": "Fri Jul 18 07:15:07 2014"
      },
      "committer": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Fri Jul 18 07:53:29 2014"
      },
      "message": "packager: make packager runnable\n\npackager.py cannot run due to syntax errors in a few script files\n\npackagerConfig: use git instead of hg\ntest262: use pop instead of delete to avoid throw if property missing\nS22.1.2.1_T*: fix docString header comment: s/b /**\nS22.1.2.1_T3: fix docString header comment: s/b /**, fix end of docstring * / \u003d\u003e */\n"
    },
    {
      "commit": "e9afaf8314208cebb762c3114de30077878871e9",
      "tree": "6c635b77717aa5979cef5cc44f95879494bd4bb0",
      "parents": [
        "7a673fc8ce8678210b241da29ac04a6d88a797e3"
      ],
      "author": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Thu Jul 17 17:49:35 2014"
      },
      "committer": {
        "name": "Sam Mikes",
        "email": "smikes@cubane.com",
        "time": "Fri Jul 18 04:37:08 2014"
      },
      "message": "async,promises: initial tests of Promises\n\ndoneprintHandle.js: make $DONE accept any falsy argument as meaning \u0027pass\u0027\nPromiseHelper.js: checkSequence: new helper fn for async tests\n.gitignore: port .hgignore to .gitignore syntax\ntest262.py: support $INCLUDE directive in python test runner\n\nS25.4.4.1*: tests to cover Section 25.4.4.1, Promise.all( iterable )\nA1.1: Promise.all is callable\nA1.2: Promise.all expects 1 argument\nA2.1: Promise.all([]) is a Promise\nA2.2: Promise.all([]) is resolved immediately\nA2.3: Promise.all([]) is resolved with a new empty array\nA3.1: Promise.all expects an iterable argument\n"
    },
    {
      "commit": "7a673fc8ce8678210b241da29ac04a6d88a797e3",
      "tree": "87de7d829454422b4c2c05466bebaefb0199d56e",
      "parents": [
        "247a7040bfb6d9ede0daba79bda7f05cf9599cc5"
      ],
      "author": {
        "name": "NikSurya",
        "email": "niksurya@microsoft.com",
        "time": "Tue Jul 15 20:47:59 2014"
      },
      "committer": {
        "name": "NikSurya",
        "email": "niksurya@microsoft.com",
        "time": "Tue Jul 15 20:47:59 2014"
      },
      "message": "Adding Support for Async Tests\n"
    },
    {
      "commit": "a2d3b833ace73613b7694257c67858b7e330ab26",
      "tree": "e6c26a3c9b9b5591fc8459f75cac7e50685e10f2",
      "parents": [
        "247a7040bfb6d9ede0daba79bda7f05cf9599cc5"
      ],
      "author": {
        "name": "Yusuke Suzuki",
        "email": "utatane.tea@gmail.com",
        "time": "Sun Mar 02 18:32:26 2014"
      },
      "committer": {
        "name": "Yusuke Suzuki",
        "email": "utatane.tea@gmail.com",
        "time": "Sun Mar 02 18:32:26 2014"
      },
      "message": "Propagate error code when test cases are failed\n"
    },
    {
      "commit": "247a7040bfb6d9ede0daba79bda7f05cf9599cc5",
      "tree": "8b804bc73efa714b77b0bee9cc84e8aea8b9f795",
      "parents": [
        "4df16d838823a4eaeb5206e1def8b3cc86d36ab6"
      ],
      "author": {
        "name": "Prashanth Srinivasan",
        "email": "prsriniv@adobe.com",
        "time": "Mon Jun 10 15:51:24 2013"
      },
      "committer": {
        "name": "Prashanth Srinivasan",
        "email": "prsriniv@adobe.com",
        "time": "Mon Jun 10 15:51:24 2013"
      },
      "message": "Bug 1472: Adding JUnit Compatible XML and Logfile support for Python test runner\n"
    },
    {
      "commit": "4df16d838823a4eaeb5206e1def8b3cc86d36ab6",
      "tree": "607c667d83fccbe8df8875ca7191e548a1dfec8b",
      "parents": [
        "58bcc62626373a824297c53c7f7a6cd6ce469d15"
      ],
      "author": {
        "name": "Dan Schaffer",
        "email": "dschaffe@adobe.com",
        "time": "Fri May 10 20:19:32 2013"
      },
      "committer": {
        "name": "Dan Schaffer",
        "email": "dschaffe@adobe.com",
        "time": "Fri May 10 20:19:32 2013"
      },
      "message": "Bug 1466: add test262.py parameter to set loglevel\n"
    },
    {
      "commit": "58bcc62626373a824297c53c7f7a6cd6ce469d15",
      "tree": "2db83a9fd2ec1e0e4e4c310eeba60b51bf0f9cd1",
      "parents": [
        "69cee2da42c28bc72de3830dc45c361fcd520b52"
      ],
      "author": {
        "name": "Dan Schaffer",
        "email": "dschaffe@adobe.com",
        "time": "Fri May 10 20:16:51 2013"
      },
      "committer": {
        "name": "Dan Schaffer",
        "email": "dschaffe@adobe.com",
        "time": "Fri May 10 20:16:51 2013"
      },
      "message": "Bug 1457: fix for Windows to remove quotes in test262.py\n"
    },
    {
      "commit": "69cee2da42c28bc72de3830dc45c361fcd520b52",
      "tree": "c114af619ac9dd3ef1db6dc3cae4743b27ef2eca",
      "parents": [
        "5090e46da372636b80101ac3a8701ca310b68949"
      ],
      "author": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Tue Dec 18 07:49:06 2012"
      },
      "committer": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Tue Dec 18 07:49:06 2012"
      },
      "message": "Updated test402 main page to reflect that ECMA-402 is now an approved standard.\nFixed a property access in 6.4_c so that the error message shows the correct expected value.\n"
    },
    {
      "commit": "5090e46da372636b80101ac3a8701ca310b68949",
      "tree": "a03828a5eff42880ee7e11b98c05eb1dbe99f507",
      "parents": [
        "afef85f269f4e0d19b31c362d446943566b5f24a"
      ],
      "author": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Wed Sep 12 22:09:36 2012"
      },
      "committer": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Wed Sep 12 22:09:36 2012"
      },
      "message": "Made web site packager insert line breaks into JSON files for saner diffs.\n"
    },
    {
      "commit": "afef85f269f4e0d19b31c362d446943566b5f24a",
      "tree": "9e42d264d5d7bb8294a0066c158a65c036eab8bc",
      "parents": [
        "a1ef45a472382f88790eb52fd96d60c4de10610d"
      ],
      "author": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Mon Aug 27 03:49:25 2012"
      },
      "committer": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Mon Aug 27 03:49:25 2012"
      },
      "message": "Added new tests for chapters 6 and 9 of ECMAScript Internationalization API Specification.\n- Removed a few old test cases that were redundant with new, more comprehensive ones.\n- Added testIntl.js as standard include for all console tests in test262.py – see related bug 574.\n- Added .jshintrc file for settings for the JSHint tool.\n"
    },
    {
      "commit": "a1ef45a472382f88790eb52fd96d60c4de10610d",
      "tree": "f83efc35f2a38b50acebeb7af6158d55cafc245b",
      "parents": [
        "6b0e76b306860378e881d0ea39e336f2cc5a93b6"
      ],
      "author": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Mon Aug 27 03:48:49 2012"
      },
      "committer": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Mon Aug 27 03:48:49 2012"
      },
      "message": "Added tests for requirements imposed on the built-in objects of the ECMAScript Internationalization API Specification by the introduction of chapter 15 of the ECMAScript Language Specification.\n- Removed some old tests that were redundant with the new tests.\n- Added testBuiltInObject.js as standard include for all console tests in test262.py – see related bug 574.\n"
    },
    {
      "commit": "6b0e76b306860378e881d0ea39e336f2cc5a93b6",
      "tree": "5887f3eff05d72a99284153e5cd0632604aa5ef9",
      "parents": [
        "e09543785fbf0e4494bcde6709ffb4a12f86e88d"
      ],
      "author": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Thu Aug 23 00:53:26 2012"
      },
      "committer": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Thu Aug 23 00:53:26 2012"
      },
      "message": "Updated existing tests for June 2012 spec changes; removed LocaleList tests; fixed minor issues.\n- Removed LocaleList tests; updated other tests so they don\u0027t depend on LocaleList.\n- Updated tests so they no longer assume that the prototype object of a constructor is an instance of that constructor.\n- Updated tests so that jshint is happy.\n- Removed @path attributes from test files; updated comment in packager.py explaining why they\u0027re unnecessary.\n- Removed \"use strict\" statements, which interfere with strict/non-strict testing.\n- Removed testcase functions, which are unnecessary.\n"
    },
    {
      "commit": "e09543785fbf0e4494bcde6709ffb4a12f86e88d",
      "tree": "198b0098a1f2d4d04875e1418c430d5a0a449236",
      "parents": [
        "a7939a33c6b285dd37c558fdcffd00f2741a88b1",
        "9c24cb8e4a4dfcaad2996216b624e5a17e37a56d"
      ],
      "author": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Wed Aug 22 23:12:54 2012"
      },
      "committer": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Wed Aug 22 23:12:54 2012"
      },
      "message": "Merged changes.\n"
    },
    {
      "commit": "a7939a33c6b285dd37c558fdcffd00f2741a88b1",
      "tree": "c5c16f64d985c56d6e0060674633d1a1d2822802",
      "parents": [
        "b1b3b82c2b6e2988c0d2c29982f20f21b72de49f"
      ],
      "author": {
        "name": "Bill Ticehurst",
        "email": "billti@microsoft.com",
        "time": "Thu Aug 09 19:29:48 2012"
      },
      "committer": {
        "name": "Bill Ticehurst",
        "email": "billti@microsoft.com",
        "time": "Thu Aug 09 19:29:48 2012"
      },
      "message": "Fixing Intl402 and BestPractice pages as per bug https://bugs.ecmascript.org/show_bug.cgi?id\u003d611\n"
    },
    {
      "commit": "9c24cb8e4a4dfcaad2996216b624e5a17e37a56d",
      "tree": "9d509d9660b9f4d6a7973eb4a6801620a163f4d3",
      "parents": [
        "90460082215266fabe0d5beffa3beeccc36bd8e4"
      ],
      "author": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Wed Jul 18 19:32:54 2012"
      },
      "committer": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Wed Jul 18 19:32:54 2012"
      },
      "message": "Got test402 web site into usable shape. Unified headers of test262/402 sites.\n- Added table of contents for ECMA-402.\n- Added ability to load the right table of contents into results display.\n- Added meaningful text to test402 web page.\n- Updated test262 web pages for 5.1 edition of ECMA-262.\n- Unified headers of test262/402 web pages to ECMAScript \u003carea\u003e \u003ctest\u003e.\n- Replaced text logos with styled text.\n- Decapitalized some text; fixed a typo; expanded an abbreviation.\n- Fixed a few issues found by W3 HTML validator.\n"
    },
    {
      "commit": "90460082215266fabe0d5beffa3beeccc36bd8e4",
      "tree": "8532669c92072d99d69e31c68ede8066bb8a4d8c",
      "parents": [
        "b76b618908d8838f643657345a865a88e88bee17"
      ],
      "author": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Wed Jul 18 19:19:53 2012"
      },
      "committer": {
        "name": "Norbert Lindenberg",
        "email": "ecmascript@lindenbergsoftware.com",
        "time": "Wed Jul 18 19:19:53 2012"
      },
      "message": "Fixed bug 443: packager.py fails on Mac because of .DS_Store files.\nRunning packager.py on Mac unfortunately also changes some line terminators in generated files (bug 444), so lots of additional files in this commit.\n"
    },
    {
      "commit": "b1b3b82c2b6e2988c0d2c29982f20f21b72de49f",
      "tree": "67259ea7397e47a8a9706b13184b906ba1e6e691",
      "parents": [
        "b76b618908d8838f643657345a865a88e88bee17"
      ],
      "author": {
        "name": "t-adamre",
        "email": "t-adamre@T-ADAMRE.redmond.corp.microsoft.com",
        "time": "Tue Jun 12 21:54:30 2012"
      },
      "committer": {
        "name": "t-adamre",
        "email": "t-adamre@T-ADAMRE.redmond.corp.microsoft.com",
        "time": "Tue Jun 12 21:54:30 2012"
      },
      "message": "Add capability to run chapters individually from the website\n"
    },
    {
      "commit": "b76b618908d8838f643657345a865a88e88bee17",
      "tree": "6cbc1d4521aac312f3aec1f4ddde79c72f9e23cf",
      "parents": [
        "b7bd9abfca92d8aac3367119b65a81a30eb03e23"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Wed Mar 28 23:05:03 2012"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Wed Mar 28 23:05:03 2012"
      },
      "message": "https://bugs.ecmascript.org/show_bug.cgi?id\u003d65 fixed.\n"
    },
    {
      "commit": "b7bd9abfca92d8aac3367119b65a81a30eb03e23",
      "tree": "28ba9795559e4cc6ca572c9c086119ea570cdf91",
      "parents": [
        "be2b812cb9c9356907a874cf96ed74f22d40c6fc"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Wed Feb 29 22:23:47 2012"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Wed Feb 29 22:23:47 2012"
      },
      "message": "Added a LICENSE file to the root of the enlistment.\nAll Microsoft-contributed *.js and *.py sources now have Ecma\u0027s copyright header.\n"
    },
    {
      "commit": "be2b812cb9c9356907a874cf96ed74f22d40c6fc",
      "tree": "2298be940c2bbcd6efa829b9b646cedc0aec744d",
      "parents": [
        "17dcd8e8594427d12525d86c681a042e88f8caaa"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Wed Feb 29 17:02:11 2012"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Wed Feb 29 17:02:11 2012"
      },
      "message": "Made it clear on testcases_bestPractice.html that it\u0027s not the same as default.html.\n"
    },
    {
      "commit": "17dcd8e8594427d12525d86c681a042e88f8caaa",
      "tree": "aed007783828641fd7f09c31aa8a141592b6803a",
      "parents": [
        "94f0630d93296b0b0de6380248c21fd9ffdccddc"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Mon Feb 27 23:46:23 2012"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Mon Feb 27 23:46:23 2012"
      },
      "message": "Migrated latest external\\contributions\\Microsoft\\ietcLatest changes over to test\\suite\\*.\n"
    },
    {
      "commit": "94f0630d93296b0b0de6380248c21fd9ffdccddc",
      "tree": "e2c5be7bc9b11a916e5d61429350d12d08f3826e",
      "parents": [
        "c7ab8b1561d3619472aaf17a679f6f1b0d9fc47f"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Wed Jan 25 22:29:00 2012"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Wed Jan 25 22:29:00 2012"
      },
      "message": "Experimental test402 (internationalization testing) page added.\n"
    },
    {
      "commit": "c7ab8b1561d3619472aaf17a679f6f1b0d9fc47f",
      "tree": "6cd4fa3c9fa157da1b11a68653f65bf22d4b124e",
      "parents": [
        "690975feb741a3d1bc1315431b3555bcec3c9fcc"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Wed Jan 25 22:04:40 2012"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Wed Jan 25 22:04:40 2012"
      },
      "message": "Added experimental test402 support (JS internationalization standard).\n"
    },
    {
      "commit": "690975feb741a3d1bc1315431b3555bcec3c9fcc",
      "tree": "12ce77eb4091bda44e6e9c1152c4eb718348ded6",
      "parents": [
        "6022df60f42e5d2632ef1947e641d2942742474e"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Fri Jan 20 00:03:21 2012"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Fri Jan 20 00:03:21 2012"
      },
      "message": "Generate one *.html per *.json in addition to the default.html which includes all tests.\n\nAdded support to create testcases_bestPractice.html without also adding them to default.html.\n\nPreliminary support for tests under test/suite/internationalization has been added.\n"
    },
    {
      "commit": "6022df60f42e5d2632ef1947e641d2942742474e",
      "tree": "9a87e3b381086c22bcc21465cc91b5d3b79bf5d9",
      "parents": [
        "08478a31272780015c57644c49669867c33c3a3a"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Fri Nov 04 19:04:46 2011"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Fri Nov 04 19:04:46 2011"
      },
      "message": "Preserve only the first line of each test case\u0027s copyright header\nwhen encoding to JSON which coincidentally preserves the BOM as well.\nThis shaved ~10 megs off of chapter15.json alone.\n"
    },
    {
      "commit": "08478a31272780015c57644c49669867c33c3a3a",
      "tree": "9ceba76d78f01ac10604455e20c80f7e932dc2b8",
      "parents": [
        "33e781200adfa563e4e100b57ae321b86de36da4"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Mon Oct 03 23:01:47 2011"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Mon Oct 03 23:01:47 2011"
      },
      "message": "Fewer Json files (experiment...).\n"
    },
    {
      "commit": "33e781200adfa563e4e100b57ae321b86de36da4",
      "tree": "037dfeadf52951e9c2759119599650f39423be8b",
      "parents": [
        "dbb71fa19edd21a0b0d810ff6ebf167c60b1d675"
      ],
      "author": {
        "name": "Mark Miller",
        "email": "erights@gmail.com",
        "time": "Fri Sep 30 12:24:38 2011"
      },
      "committer": {
        "name": "Mark Miller",
        "email": "erights@gmail.com",
        "time": "Fri Sep 30 12:24:38 2011"
      },
      "message": "test262 console runner working!\n"
    },
    {
      "commit": "dbb71fa19edd21a0b0d810ff6ebf167c60b1d675",
      "tree": "41d4e6eec63ef383801ac96633e409a49c4ffa84",
      "parents": [
        "1e5d61e0ed16fb5f862a320651fdc6483ae0b220"
      ],
      "author": {
        "name": "Mark Miller",
        "email": "erights@gmail.com",
        "time": "Fri Sep 30 07:59:50 2011"
      },
      "committer": {
        "name": "Mark Miller",
        "email": "erights@gmail.com",
        "time": "Fri Sep 30 07:59:50 2011"
      },
      "message": "Just reformatting to 80 columns\n"
    },
    {
      "commit": "1e5d61e0ed16fb5f862a320651fdc6483ae0b220",
      "tree": "c6341191edb383a53561cbabfca634a5fd3fe1b8",
      "parents": [
        "fe3d4072aee682dac65a1c04ce2f6d1ab8d9ea30"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Tue Sep 27 00:22:29 2011"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Tue Sep 27 00:22:29 2011"
      },
      "message": "Do not include \u0027code\u0027 key in test object metadata.\n"
    },
    {
      "commit": "fe3d4072aee682dac65a1c04ce2f6d1ab8d9ea30",
      "tree": "eb55077648900145cffdb0bc0adf56ffa9e2ea07",
      "parents": [
        "dbf94e707888cc58fb95396b8f5f1969fcabcc09"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Mon Sep 26 23:12:46 2011"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Mon Sep 26 23:12:46 2011"
      },
      "message": "Moved all test helper functions into sta.js; removed sputnikLib.js.\nLaid down the groundwork for a console-based test runner.\n"
    },
    {
      "commit": "dbf94e707888cc58fb95396b8f5f1969fcabcc09",
      "tree": "64610f377070e5f80bfc7ffea286b4edf364f1c2",
      "parents": [
        "5f3a14e467845e161f3d7dc5ce84c2362527f3ed"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Sun Sep 25 22:37:56 2011"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Sun Sep 25 22:37:56 2011"
      },
      "message": "Do not put \u0027best practice\u0027 tests on the live website.\n"
    },
    {
      "commit": "5f3a14e467845e161f3d7dc5ce84c2362527f3ed",
      "tree": "758a45a31949e860d06c2e9d1080423fda19187d",
      "parents": [
        "33aab7b18c9f59ac8dd8010785247441ff92b0c1"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Sun Sep 25 18:41:04 2011"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Sun Sep 25 18:41:04 2011"
      },
      "message": "Regenerated website using new package.py and test/suite/converted.\n"
    },
    {
      "commit": "33aab7b18c9f59ac8dd8010785247441ff92b0c1",
      "tree": "70f8142b7ed6c656b86ed704980ce2b058482d33",
      "parents": [
        "a4970aaecc6b3124a32c7267a63aa6a3af9baa18"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Sat Sep 24 23:35:45 2011"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Sat Sep 24 23:35:45 2011"
      },
      "message": "All tests are globally scoped tests - Part I.\n"
    },
    {
      "commit": "a4970aaecc6b3124a32c7267a63aa6a3af9baa18",
      "tree": "66588795ad7d7ccb4d96b88a1c48e8cc21ac78b0",
      "parents": [
        "611df2061429e7c7570ca1514f3f35b93ff9f344"
      ],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Sat Sep 24 18:47:48 2011"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Sat Sep 24 18:47:48 2011"
      },
      "message": "Moved resources and images directories (from website) up a couple levels.\nAdded new \u0027packaging\u0027 directory to tooling.\n"
    },
    {
      "commit": "611df2061429e7c7570ca1514f3f35b93ff9f344",
      "tree": "6528fbb9d510fc718671e1f4a44ba55ae55f4bb9",
      "parents": [],
      "author": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Sat Sep 24 17:35:50 2011"
      },
      "committer": {
        "name": "David Fugate",
        "email": "dfugate@microsoft.com",
        "time": "Sat Sep 24 17:35:50 2011"
      },
      "message": "New HTML+console packager.\n"
    }
  ]
}
