diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-05-03 17:14:07 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-05-03 17:14:07 -0700 |
commit | 5b2adeb4b2a66dfcda7667ce7a4c27ec49c62b1b (patch) | |
tree | 01dc41e6217c6026e4c97f0fe5bbc28066f79479 /check.py | |
parent | d435670997e524df9707354d468a22432a181411 (diff) | |
parent | fd14d9cfc4cd744a8d143bb6a2622c68f5d33cfd (diff) | |
download | binaryen-5b2adeb4b2a66dfcda7667ce7a4c27ec49c62b1b.tar.gz binaryen-5b2adeb4b2a66dfcda7667ce7a4c27ec49c62b1b.tar.bz2 binaryen-5b2adeb4b2a66dfcda7667ce7a4c27ec49c62b1b.zip |
Merge pull request #427 from WebAssembly/c-api-nice
C API
Diffstat (limited to 'check.py')
-rwxr-xr-x | check.py | 42 |
1 files changed, 27 insertions, 15 deletions
@@ -569,21 +569,33 @@ if has_vanilla_emcc and has_vanilla_llvm: print '\n[ checking example testcases... ]\n' -cmd = [os.environ.get('CXX') or 'g++', '-std=c++11', - os.path.join('test', 'example', 'find_div0s.cpp'), - os.path.join('src', 'pass.cpp'), - os.path.join('src', 'wasm.cpp'), - os.path.join('src', 'passes', 'Print.cpp'), - '-Isrc', '-g', '-lasmjs', '-lsupport', '-Llib/.', '-pthread'] -if os.environ.get('COMPILER_FLAGS'): - for f in os.environ.get('COMPILER_FLAGS').split(' '): - cmd.append(f) -print ' '.join(cmd) -subprocess.check_call(cmd) -actual = subprocess.Popen(['./a.out'], stdout=subprocess.PIPE).communicate()[0] -expected = open(os.path.join('test', 'example', 'find_div0s.txt')).read() -if actual != expected: - fail(actual, expected) +for t in sorted(os.listdir(os.path.join('test', 'example'))): + cmd = ['-Isrc', '-g', '-lasmjs', '-lsupport', '-Llib/.', '-pthread'] + if t.endswith('.cpp'): + cmd = [os.path.join('test', 'example', t), + os.path.join('src', 'pass.cpp'), + os.path.join('src', 'wasm.cpp'), + os.path.join('src', 'passes', 'Print.cpp')] + cmd + elif t.endswith('.c'): + # build the C file separately + extra = [os.environ.get('CC') or 'gcc', + os.path.join('test', 'example', t), '-c', '-o', 'example.o', + '-Isrc', '-g', '-lasmjs', '-lsupport', '-Llib/.', '-pthread'] + print ' '.join(extra) + subprocess.check_call(extra) + cmd = ['example.o', '-lbinaryen-c'] + cmd + else: + continue + if os.environ.get('COMPILER_FLAGS'): + for f in os.environ.get('COMPILER_FLAGS').split(' '): + cmd.append(f) + cmd = [os.environ.get('CXX') or 'g++', '-std=c++11'] + cmd + print ' '.join(cmd) + subprocess.check_call(cmd) + actual = subprocess.Popen(['./a.out'], stdout=subprocess.PIPE).communicate()[0] + expected = open(os.path.join('test', 'example', '.'.join(t.split('.')[:-1]) + '.txt')).read() + if actual != expected: + fail(actual, expected) if has_emcc: |