Commit-ID: bfa1ed0ae9cb15b54b008431d122db3c22cd45eb
Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=bfa1ed0ae9cb15b54b008431d122db3c22cd45eb
Author: Cyrill Gorcunov <gor...@gm...>
AuthorDate: Sun, 28 Oct 2018 23:47:08 +0300
Committer: Cyrill Gorcunov <gor...@gm...>
CommitDate: Sun, 28 Oct 2018 23:51:45 +0300
test: nasm-t -- Add UTF testcase
Signed-off-by: Cyrill Gorcunov <gor...@gm...>
---
travis/test/utf-error.stderr | 18 ++++++++++++++++++
{test => travis/test}/utf.asm | 4 +---
travis/test/utf.bin.t | Bin 0 -> 369 bytes
travis/test/utf.json | 20 ++++++++++++++++++++
4 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/travis/test/utf-error.stderr b/travis/test/utf-error.stderr
new file mode 100644
index 0000000..3f420e3
--- /dev/null
+++ b/travis/test/utf-error.stderr
@@ -0,0 +1,18 @@
+./travis/test/utf.asm:63: error: __utf16__ must be followed by a string constant
+./travis/test/utf.asm:64: error: __utf16__ must be followed by a string constant
+./travis/test/utf.asm:65: error: unterminated __utf16__ function
+./travis/test/utf.asm:65: error: comma expected after operand 2
+./travis/test/utf.asm:66: error: unterminated __utf16__ function
+./travis/test/utf.asm:67: error: invalid string for transform
+./travis/test/utf.asm:69: error: __utf16le__ must be followed by a string constant
+./travis/test/utf.asm:70: error: __utf16le__ must be followed by a string constant
+./travis/test/utf.asm:71: error: unterminated __utf16le__ function
+./travis/test/utf.asm:71: error: comma expected after operand 2
+./travis/test/utf.asm:72: error: unterminated __utf16le__ function
+./travis/test/utf.asm:73: error: invalid string for transform
+./travis/test/utf.asm:75: error: __utf16be__ must be followed by a string constant
+./travis/test/utf.asm:76: error: __utf16be__ must be followed by a string constant
+./travis/test/utf.asm:77: error: unterminated __utf16be__ function
+./travis/test/utf.asm:77: error: comma expected after operand 2
+./travis/test/utf.asm:78: error: unterminated __utf16be__ function
+./travis/test/utf.asm:79: error: invalid string for transform
diff --git a/test/utf.asm b/travis/test/utf.asm
similarity index 90%
copy from test/utf.asm
copy to travis/test/utf.asm
index 00207dc..5ff1e55 100644
--- a/test/utf.asm
+++ b/travis/test/utf.asm
@@ -1,5 +1,3 @@
-;Testname=test; Arguments=-fbin -outf.bin; Files=stdout stderr utf.bin
-;Testname=error; Arguments=-fbin -outf.bin -DERROR; Files=stdout stderr utf.bin
%define u(x) __utf16__(x)
%define w(x) __utf32__(x)
%define ul(x) __utf16le__(x)
@@ -42,7 +40,7 @@
mov eax,ul(`ab`)
mov ebx,ul(`\U0001abcd`)
mov ecx,wl(`\U0001abcd`)
-
+
db `Test \u306a\U0001abcd\n`
dw ub(`Test \u306a\U0001abcd\n`)
dd wb(`Test \u306a\U0001abcd\n`)
diff --git a/travis/test/utf.bin.t b/travis/test/utf.bin.t
new file mode 100644
index 0000000..a6c3421
Binary files /dev/null and b/travis/test/utf.bin.t differ
diff --git a/travis/test/utf.json b/travis/test/utf.json
new file mode 100644
index 0000000..c1126d8
--- /dev/null
+++ b/travis/test/utf.json
@@ -0,0 +1,20 @@
+[
+ {
+ "description": "Test __utf__ helpers",
+ "id": "utf",
+ "format": "bin",
+ "source": "utf.asm",
+ "target": [
+ { "output": "utf.bin" }
+ ]
+ },
+ {
+ "description": "Test errors in __utf__ helpers",
+ "ref": "utf",
+ "option": "-DERROR",
+ "target": [
+ { "stderr": "utf-error.stderr" }
+ ],
+ "error": "expected"
+ }
+]
|