summaryrefslogtreecommitdiff
path: root/scripts/test/lld.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/test/lld.py')
-rwxr-xr-xscripts/test/lld.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/scripts/test/lld.py b/scripts/test/lld.py
new file mode 100755
index 000000000..793031ca6
--- /dev/null
+++ b/scripts/test/lld.py
@@ -0,0 +1,62 @@
+#!/usr/bin/env python
+
+# Copyright 2017 WebAssembly Community Group participants
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import os
+from support import run_command
+from shared import (
+ fail, fail_with_error, files_with_pattern, options,
+ WASM_LINK_METADATA, WASM_EMSCRIPTEN_FINALIZE
+)
+
+
+def test_wasm_link_metadata():
+ print '\n[ checking wasm-link-metadata testcases... ]\n'
+
+ for obj_path in files_with_pattern(options.binaryen_test, 'lld', '*.o'):
+ print '..', obj_path
+ expected_file = obj_path.replace('.o', '.json')
+
+ cmd = WASM_LINK_METADATA + [obj_path]
+ actual = run_command(cmd)
+
+ if not os.path.exists(expected_file):
+ print actual
+ fail_with_error('output ' + expected_file + ' does not exist')
+ expected = open(expected_file, 'rb').read()
+ if actual != expected:
+ fail(actual, expected)
+
+
+def test_wasm_emscripten_finalize():
+ print '\n[ checking wasm-emscripten-finalize testcases... ]\n'
+
+ for wast_path in files_with_pattern(options.binaryen_test, 'lld', '*.wast'):
+ print '..', wast_path
+ expected_file = wast_path + '.out'
+ cmd = WASM_EMSCRIPTEN_FINALIZE + [wast_path, '-S']
+ actual = run_command(cmd)
+
+ if not os.path.exists(expected_file):
+ print actual
+ fail_with_error('output ' + expected_file + ' does not exist')
+ expected = open(expected_file, 'rb').read()
+ if actual != expected:
+ fail(actual, expected)
+
+
+if __name__ == '__main__':
+ test_wasm_link_metadata()
+ test_wasm_emscripten_finalize()