diff options
-rw-r--r-- | tests/core/test_strtol_hex.in | 22 | ||||
-rw-r--r-- | tests/core/test_strtol_hex.out | 1 | ||||
-rw-r--r-- | tests/test_core.py | 25 |
3 files changed, 26 insertions, 22 deletions
diff --git a/tests/core/test_strtol_hex.in b/tests/core/test_strtol_hex.in new file mode 100644 index 00000000..f11d786a --- /dev/null +++ b/tests/core/test_strtol_hex.in @@ -0,0 +1,22 @@ + + #include <stdio.h> + #include <stdlib.h> + + int main() { + const char *STRING = "0x4 -0x3A +0xDEAD"; + char *end_char; + + // undefined base + long l1 = strtol(STRING, &end_char, 0); + long l2 = strtol(end_char, &end_char, 0); + long l3 = strtol(end_char, NULL, 0); + + // defined base + long l4 = strtol(STRING, &end_char, 16); + long l5 = strtol(end_char, &end_char, 16); + long l6 = strtol(end_char, NULL, 16); + + printf("%d%d%d%d%d%d\n", l1==0x4, l2==-0x3a, l3==0xdead, l4==0x4, l5==-0x3a, l6==0xdead); + return 0; + } +
\ No newline at end of file diff --git a/tests/core/test_strtol_hex.out b/tests/core/test_strtol_hex.out new file mode 100644 index 00000000..b23c1c51 --- /dev/null +++ b/tests/core/test_strtol_hex.out @@ -0,0 +1 @@ +111111
\ No newline at end of file diff --git a/tests/test_core.py b/tests/test_core.py index 41603f5b..610896be 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -2390,29 +2390,10 @@ The current type of b is: 9 def test_strtol_hex(self): # tests strtoll for hex strings (0x...) - src = r''' - #include <stdio.h> - #include <stdlib.h> - - int main() { - const char *STRING = "0x4 -0x3A +0xDEAD"; - char *end_char; - - // undefined base - long l1 = strtol(STRING, &end_char, 0); - long l2 = strtol(end_char, &end_char, 0); - long l3 = strtol(end_char, NULL, 0); - - // defined base - long l4 = strtol(STRING, &end_char, 16); - long l5 = strtol(end_char, &end_char, 16); - long l6 = strtol(end_char, NULL, 16); + test_path = path_from_root('tests', 'core', 'test_strtol_hex') + src, output = (test_path + s for s in ('.in', '.out')) - printf("%d%d%d%d%d%d\n", l1==0x4, l2==-0x3a, l3==0xdead, l4==0x4, l5==-0x3a, l6==0xdead); - return 0; - } - ''' - self.do_run(src, '111111') + self.do_run_from_file(src, output) def test_strtol_dec(self): # tests strtoll for decimal strings (0x...) |