]> git.draconx.ca Git - cdecl99.git/blobdiff - tests/internal.at
tests: Don't use #n in sed scripts.
[cdecl99.git] / tests / internal.at
index 859807354d3aec74be7901e05c7d30e1e8354e92..3430c1a905f15c043c06971deb22351d6104286e 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2021, 2023 Nick Bowler
+# Copyright © 2021, 2023-2024 Nick Bowler
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -74,6 +74,14 @@ AT_CLEANUP
 TEST_TAP_SIMPLE([cdecl__err sanity], [cdeclerr],
   [TEST_NEED_PROGRAM([cdeclerr])], [libcdecl internal])
 
+AT_SETUP([cdecl_err thread safety])
+AT_KEYWORDS([libcdecl internal threads])dnl
+TEST_NEED_PROGRAM([errthread])
+AT_XFAIL_IF(
+  [grep '^#define USE_WINDOWS_THREADS 1' "$builddir/config.h" >/dev/null 2>&1])
+TEST_TAP([errthread])
+AT_CLEANUP
+
 AT_SETUP([cdecl_declare truncation])
 AT_KEYWORDS([libcdecl internal])
 
@@ -83,8 +91,8 @@ int x[1234567890]
 ]])
 
 AT_CHECK([rendertest -n 0 <input], [0],
-[[15 @&t@
-17 @&t@
+[[15
+17
 ]])
 
 AT_CHECK([rendertest -n 10 <input], [0],
@@ -103,8 +111,8 @@ type array 123456789 of int
 ]])
 
 AT_CHECK([rendertest --english -n 0 <input], [0],
-[[16 @&t@
-27 @&t@
+[[16
+27
 ]])
 
 AT_CHECK([rendertest --english -n 15 <input], [0],
@@ -113,3 +121,37 @@ AT_CHECK([rendertest --english -n 15 <input], [0],
 ]])
 
 AT_CLEANUP
+
+AT_SETUP([cdecl__yylex integer constants])
+
+AT_CHECK([scantest \
+  '0 000 0x00 0X00' \
+  '1234 01234 0x1234 0X1234' \
+  '4294967295 037777777777 0xffffffff 0XFFFFFFFF' \
+  09 012345678 0x 0X], [0],
+[[integer constant 0
+integer constant 0
+integer constant 0
+integer constant 0
+eof
+integer constant 1234
+integer constant 668
+integer constant 4660
+integer constant 4660
+eof
+integer constant 4294967295
+integer constant 4294967295
+integer constant 4294967295
+integer constant 4294967295
+eof
+T_LEX_ERROR
+eof
+T_LEX_ERROR
+eof
+T_LEX_ERROR
+eof
+T_LEX_ERROR
+eof
+]])
+
+AT_CLEANUP