Skip to content

bocoup/test262-v8-machinery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

test262-v8-machinery

Tooling to assist in the process of re-implementing JavaScript language tests from Google's V8 project to ECMA's Test262 project.

Setup

This repository serves as a superproject to Bocoup's forks of V8 and Test262. Because of this, the repo shouldn't be cloned using git clone directly. Instead, follow these steps:

  1. Install Node.js
  2. Install git-slave: http://gitslave.sourceforge.net/
  3. Clone this repository: gits clone git@github.com:bocoup/test262-v8-machinery.git
  4. Run the bin/init.sh script

Workflow

Use the gits wrapper and a few simple Bash scripts to synchronize changes across the V8 and Test262 projects.

  1. Create a migration branch.
gits checkout -b migration-twenty-three
  1. Use the scripts/migrate.sh executable to move a test file from the V8 project into the Test262 project. This will automatically apply some simple transformations necessary to run the tests in the Test262 harness.
./scripts/migrate.sh \
    v8-git-mirror/test/mjsunit/es6/json.js \
    test262/test/built-ins/JSON/new-stuff.js
  1. Update the new test file to fit more naturally in the Test262 test suite. This can be done with any editor and may include:

    • removing assertions for V8 internals
    • modifying code style
    • re-factoring the tests to span multiple files
  2. Verify the new tests pass:

$ ./scripts/run-tests.sh

# The above assumes V8 has been built in this project's clone of the project.
# You may optionally specify a different JavaScript runtime
$ ./scripts/run-tests.sh js
  1. Add the changes from each sub-project.
gits add --all .
  1. Commit the changes.
./scripts/commit.sh
  1. Publish your work!
gits push origin migration-twenty-three

Runtimes

  • io.js
    • via Homebrew: brew install iojs
  • Node.js
    • via Homebrew: brew install node
    • via Apt: apt-get install nodejs
  • SpiderMonkey
  • V8
    • via Homebrew: brew install v8

Sync at any time:

gits pull --rebase upstream master

License

Copyright (c) 2015 Bocoup
Licensed under the MIT Expat license.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published