aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/core/test_strtol_hex.in22
-rw-r--r--tests/core/test_strtol_hex.out1
-rw-r--r--tests/test_core.py25
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...)