blob: 37abf6b183779666b3b17b50681939f2e37c3b99 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import os
import subprocess
from scripts.test import shared
from . import utils
class DWARFTest(utils.BinaryenTestCase):
def test_no_crash(self):
# run dwarf processing on some interesting large files, too big to be
# worth putting in passes where the text output would be massive. We
# just check that no assertion are hit.
path = self.input_path('dwarf')
for name in os.listdir(path):
args = [os.path.join(path, name)] + \
['-g', '--dwarfdump', '--roundtrip', '--dwarfdump']
shared.run_process(shared.WASM_OPT + args, capture_output=True)
def test_dwarf_incompatibility(self):
warning = 'not fully compatible with DWARF'
path = self.input_path(os.path.join('dwarf', 'cubescript.wasm'))
args = [path, '-g']
# flatten warns
err = shared.run_process(shared.WASM_OPT + args + ['--flatten'], stderr=subprocess.PIPE).stderr
self.assertIn(warning, err)
# safe passes do not
err = shared.run_process(shared.WASM_OPT + args + ['--metrics'], stderr=subprocess.PIPE).stderr
self.assertNotIn(warning, err)
|