Open Bug 742085 Opened 12 years ago Updated 2 years ago

Reduce forking in the jstest suite

Categories

(Core :: JavaScript Engine, defect)

defect

Tracking

()

People

(Reporter: terrence, Unassigned)

References

(Blocks 1 open bug)

Details

Our test suite has ~7000 tests.  Even if forking overhead is small, this is quite cumbersome.

We should investigate adding a special "test mode" to the shell which will, for example, read lines from stdin and create a new runtime for each input, rather than running one test and exiting.
Gregory Szorc filed a bug a while back with a prototype C++ test runner. One issue he identified was that you need to handle the case where a test crashes and somehow restart the test harness.
It may be easier to just augment the harness to run multiple tests in parallel, a -j# flag.
(In reply to David Mandelin from comment #1)
> Gregory Szorc filed a bug a while back with a prototype C++ test runner. One
> issue he identified was that you need to handle the case where a test
> crashes and somehow restart the test harness.

We can create a file which contains the argument vector of the shell, and separate each vector by a double \0, each shell (because we also want multiple instances) can lock the file, read the last argv, truncate the file, release the lock and continue with the runtime.

I think we can also use a socket where the python script is running the shell in parallel and work with some-kind of message passing system and report status of execution.
Assignee: general → nobody
Blocks: 745230
Component: JavaScript Engine → Keyboard: Navigation
QA Contact: general → keyboard.navigation
Assignee: nobody → general
Component: Keyboard: Navigation → JavaScript Engine
QA Contact: keyboard.navigation → general
Assignee: general → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.