summaryrefslogtreecommitdiff
path: root/auto_update_tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'auto_update_tests.py')
-rwxr-xr-xauto_update_tests.py47
1 files changed, 39 insertions, 8 deletions
diff --git a/auto_update_tests.py b/auto_update_tests.py
index fd6e76119..67f71b69b 100755
--- a/auto_update_tests.py
+++ b/auto_update_tests.py
@@ -7,25 +7,56 @@ print '[ processing and updating testcases... ]\n'
for asm in sorted(os.listdir('test')):
if asm.endswith('.asm.js'):
print '..', asm
- wasm = asm.replace('.asm.js', '.wast')
+ wasm = asm.replace('.asm.js', '.fromasm')
actual, err = subprocess.Popen([os.path.join('bin', 'asm2wasm'), os.path.join('test', asm)], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
- assert err == '', 'bad err:' + err
-
- # verify output
- if not os.path.exists(os.path.join('test', wasm)):
- print actual
- raise Exception('output .wast file does not exist')
open(os.path.join('test', wasm), 'w').write(actual)
+for wasm in sorted(os.listdir('test')):
+ if wasm.endswith('.wast'):
+ print '..', wasm
+ asm = wasm.replace('.wast', '.2asm.js')
+ actual, err = subprocess.Popen([os.path.join('bin', 'wasm2asm'), os.path.join('test', wasm)], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
+ open(os.path.join('test', asm), 'w').write(actual)
+
for t in sorted(os.listdir('test')):
if t.endswith('.wast') and not t.startswith('spec'):
print '..', t
t = os.path.join('test', t)
actual, err = subprocess.Popen([os.path.join('bin', 'binaryen-shell'), t, '-print-before'], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
- assert err == '', 'bad err:' + err
actual = actual.replace('printing before:\n', '')
open(t, 'w').write(actual)
+for s in sorted(os.listdir(os.path.join('test', 'dot_s'))) + sorted(os.listdir(os.path.join('test', 'experimental', 'prototype-wasmate', 'test'))):
+ if not s.endswith('.s'): continue
+ if s in ['inline-asm.s', 'userstack.s']: continue
+ print '..', s
+ wasm = s.replace('.s', '.wast')
+ full = os.path.join('test', 'dot_s', s)
+ if not os.path.exists(full):
+ full = os.path.join('test', 'experimental', 'prototype-wasmate', 'test', s)
+ actual, err = subprocess.Popen([os.path.join('bin', 's2wasm'), full], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
+ assert err == '', 'bad err:' + err
+ expected_file = os.path.join('test', 'dot_s', wasm)
+ open(expected_file, 'w').write(actual)
+
+for wasm in ['min.wast', 'hello_world.wast', 'unit.wast', 'emcc_O2_hello_world.wast', 'emcc_hello_world.wast']:
+ if wasm.endswith('.wast'):
+ print '..', wasm
+ asm = wasm.replace('.wast', '.2asm.js')
+ actual, err = subprocess.Popen([os.path.join('bin', 'wasm2asm'), os.path.join('test', wasm)], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
+ assert err == '', 'bad err:' + err
+ expected_file = os.path.join('test', asm)
+ open(expected_file, 'w').write(actual)
+
+for t in sorted(os.listdir(os.path.join('test', 'passes'))):
+ if t.endswith('.wast'):
+ print '..', t
+ passname = os.path.basename(t).replace('.wast', '')
+ cmd = [os.path.join('bin', 'binaryen-shell'), '-print-before', '-print-after', '-' + passname, os.path.join('test', 'passes', t)]
+ print ' ', ' '.join(cmd)
+ actual, err = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
+ open(os.path.join('test', 'passes', passname + '.txt'), 'w').write(actual)
+
print '\n[ success! ]'