diff options
Diffstat (limited to 'xpcom/tests/unit/test_nsIProcess_stress.js')
-rw-r--r-- | xpcom/tests/unit/test_nsIProcess_stress.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/xpcom/tests/unit/test_nsIProcess_stress.js b/xpcom/tests/unit/test_nsIProcess_stress.js new file mode 100644 index 000000000..63799141d --- /dev/null +++ b/xpcom/tests/unit/test_nsIProcess_stress.js @@ -0,0 +1,27 @@ +function run_test() { + set_process_running_environment(); + + var file = get_test_program("TestQuickReturn"); + var thread = Components.classes["@mozilla.org/thread-manager;1"] + .getService().currentThread; + + for (var i = 0; i < 1000; i++) { + var process = Components.classes["@mozilla.org/process/util;1"] + .createInstance(Components.interfaces.nsIProcess); + process.init(file); + + process.run(false, [], 0); + + try { + process.kill(); + } + catch (e) { } + + // We need to ensure that we process any events on the main thread - + // this allow threads to clean up properly and avoid out of memory + // errors during the test. + while (thread.hasPendingEvents()) + thread.processNextEvent(false); + } + +}
\ No newline at end of file |