aboutsummaryrefslogtreecommitdiff
path: root/tests/runner.py
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-03-22 13:48:53 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-03-22 13:48:53 -0700
commite65c9798d79e84385e9caeb79c6055881ad64087 (patch)
treee1ee269faa1a7ef6182a3b954845791a19a86f5e /tests/runner.py
parent3b7bd2555a5e42814ce6c2ff39cc1dccc72d50dc (diff)
do preRun and postRun only if we actually run
Diffstat (limited to 'tests/runner.py')
-rwxr-xr-xtests/runner.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/runner.py b/tests/runner.py
index fddcf1df..00c78a35 100755
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -6539,6 +6539,29 @@ f.close()
Popen(['python', EMCC, os.path.join(self.get_dir(), 'main.cpp'), '--pre-js', 'before.js', '--post-js', 'after.js']).communicate()
self.assertContained('hello from main\nhello from js\n', run_js(os.path.join(self.get_dir(), 'a.out.js')))
+ def test_prepost(self):
+ open(os.path.join(self.get_dir(), 'main.cpp'), 'w').write('''
+ #include <stdio.h>
+ int main() {
+ printf("hello from main\\n");
+ return 0;
+ }
+ ''')
+ open(os.path.join(self.get_dir(), 'pre.js'), 'w').write('''
+ var Module = {
+ preRun: function() { Module.print('pre-run') },
+ postRun: function() { Module.print('post-run') }
+ };
+ ''')
+
+ Popen(['python', EMCC, os.path.join(self.get_dir(), 'main.cpp'), '--pre-js', 'pre.js']).communicate()
+ self.assertContained('pre-run\nhello from main\npost-run\n', run_js(os.path.join(self.get_dir(), 'a.out.js')))
+
+ # never run, so no preRun or postRun
+ src = open(os.path.join(self.get_dir(), 'a.out.js')).read().replace('// {{PRE_RUN_ADDITIONS}}', 'addRunDependency()')
+ open(os.path.join(self.get_dir(), 'a.out.js'), 'w').write(src)
+ self.assertNotContained('pre-run\nhello from main\npost-run\n', run_js(os.path.join(self.get_dir(), 'a.out.js')))
+
def test_eliminator(self):
input = open(path_from_root('tools', 'eliminator', 'eliminator-test.js')).read()
expected = open(path_from_root('tools', 'eliminator', 'eliminator-test-output.js')).read()