summaryrefslogtreecommitdiffstats
path: root/xpcom/tests/unit/test_nsIProcess_stress.js
diff options
context:
space:
mode:
Diffstat (limited to 'xpcom/tests/unit/test_nsIProcess_stress.js')
-rw-r--r--xpcom/tests/unit/test_nsIProcess_stress.js27
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