| from scripts.test import shared |
| from . import utils |
| |
| |
| class Wasm2CTest(utils.BinaryenTestCase): |
| def test_wrapper(self): |
| # the wrapper C code should only call the hang limit initializer if |
| # that is present. |
| empty_wasm = self.input_path('empty.wasm') |
| args = [empty_wasm, '--emit-wasm2c-wrapper=output.c'] |
| shared.run_process(shared.WASM_OPT + args) |
| with open('output.c') as f: |
| normal_output = f.read() |
| # running with ttf generates a new wasm for fuzzing, which always |
| # includes the hang limit initializer function |
| shared.run_process(shared.WASM_OPT + args + ['-ttf']) |
| with open('output.c') as f: |
| ttf_output = f.read() |
| hang_limit_name = 'hangLimitInitializer' |
| self.assertIn(hang_limit_name, ttf_output) |
| self.assertNotIn(hang_limit_name, normal_output) |