summaryrefslogtreecommitdiff
path: root/test/unit/test_features.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/test_features.py')
-rw-r--r--test/unit/test_features.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/unit/test_features.py b/test/unit/test_features.py
index f9c410414..f130e1408 100644
--- a/test/unit/test_features.py
+++ b/test/unit/test_features.py
@@ -124,23 +124,37 @@ class TargetFeaturesSectionTest(unittest.TestCase):
self.assertEqual(p.stderr, '')
return p.stdout
+ def roundtrip(self, filename):
+ path = os.path.join(options.binaryen_test, 'unit', 'input', filename)
+ p = run_process(WASM_OPT + ['-g', '-o', '-', path], check=False,
+ capture_output=True)
+ self.assertEqual(p.returncode, 0)
+ self.assertEqual(p.stderr, '')
+ with open(path, 'rb') as f:
+ self.assertEqual(str(p.stdout), str(f.read()))
+
def test_atomics(self):
+ self.roundtrip('atomics_target_feature.wasm')
module = self.disassemble('atomics_target_feature.wasm')
self.assertIn('i32.atomic.rmw.add', module)
def test_bulk_memory(self):
+ self.roundtrip('bulkmem_target_feature.wasm')
module = self.disassemble('bulkmem_target_feature.wasm')
self.assertIn('memory.copy', module)
def test_nontrapping_fptoint(self):
+ self.roundtrip('truncsat_target_feature.wasm')
module = self.disassemble('truncsat_target_feature.wasm')
self.assertIn('i32.trunc_sat_f32_u', module)
def test_sign_ext(self):
+ self.roundtrip('signext_target_feature.wasm')
module = self.disassemble('signext_target_feature.wasm')
self.assertIn('i32.extend8_s', module)
def test_simd(self):
+ self.roundtrip('simd_target_feature.wasm')
module = self.disassemble('simd_target_feature.wasm')
self.assertIn('i32x4.splat', module)