summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Meta/generate-libwasm-spec-test.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/Meta/generate-libwasm-spec-test.py b/Meta/generate-libwasm-spec-test.py
index dad5157131..dc968bf323 100644
--- a/Meta/generate-libwasm-spec-test.py
+++ b/Meta/generate-libwasm-spec-test.py
@@ -126,7 +126,7 @@ def genarg(spec):
return '-NaN'
try:
- x = float.fromhex(x)
+ x = float(x)
if math.isnan(x):
# FIXME: This is going to mess up the different kinds of nan
return '-NaN' if math.copysign(1.0, x) < 0 else 'NaN'
@@ -135,10 +135,19 @@ def genarg(spec):
return str(x)
except ValueError:
try:
- x = int(x, 0)
+ x = float.fromhex(x)
+ if math.isnan(x):
+ # FIXME: This is going to mess up the different kinds of nan
+ return '-NaN' if math.copysign(1.0, x) < 0 else 'NaN'
+ if math.isinf(x):
+ return 'Infinity' if x > 0 else '-Infinity'
return str(x)
except ValueError:
- return x
+ try:
+ x = int(x, 0)
+ return str(x)
+ except ValueError:
+ return x
x = gen()
if x.startswith('nan'):
@@ -173,7 +182,7 @@ def genresult(ident, entry):
def gentest(entry, main_name):
- name = entry["function"]["name"]
+ name = json.dumps(entry["function"]["name"])[1:-1]
if type(name) != str:
print("Unsupported test case (call to", name, ")", file=stderr)
return '\n '