diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-03-22 13:48:53 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-03-22 13:48:53 -0700 |
commit | e65c9798d79e84385e9caeb79c6055881ad64087 (patch) | |
tree | e1ee269faa1a7ef6182a3b954845791a19a86f5e /tests/runner.py | |
parent | 3b7bd2555a5e42814ce6c2ff39cc1dccc72d50dc (diff) |
do preRun and postRun only if we actually run
Diffstat (limited to 'tests/runner.py')
-rwxr-xr-x | tests/runner.py | 23 |
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() |