summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/core/test_structs.in22
-rw-r--r--tests/core/test_structs.out1
-rw-r--r--tests/test_core.py27
3 files changed, 27 insertions, 23 deletions
diff --git a/tests/core/test_structs.in b/tests/core/test_structs.in
new file mode 100644
index 00000000..47158351
--- /dev/null
+++ b/tests/core/test_structs.in
@@ -0,0 +1,22 @@
+
+ #include <stdio.h>
+ struct S
+ {
+ int x, y;
+ };
+ int main()
+ {
+ S a, b;
+ a.x = 5; a.y = 6;
+ b.x = 101; b.y = 7009;
+ S *c, *d;
+ c = &a;
+ c->x *= 2;
+ c = &b;
+ c->y -= 1;
+ d = c;
+ d->y += 10;
+ printf("*%d,%d,%d,%d,%d,%d,%d,%d*\n", a.x, a.y, b.x, b.y, c->x, c->y, d->x, d->y);
+ return 0;
+ }
+ \ No newline at end of file
diff --git a/tests/core/test_structs.out b/tests/core/test_structs.out
new file mode 100644
index 00000000..7748b49e
--- /dev/null
+++ b/tests/core/test_structs.out
@@ -0,0 +1 @@
+*10,6,101,7018,101,7018,101,7018* \ No newline at end of file
diff --git a/tests/test_core.py b/tests/test_core.py
index 823c0285..ffbdf487 100644
--- a/tests/test_core.py
+++ b/tests/test_core.py
@@ -964,29 +964,10 @@ class T(RunnerCore): # Short name, to make it more fun to use manually on the co
self.do_run_from_file(src, output)
def test_structs(self):
- src = '''
- #include <stdio.h>
- struct S
- {
- int x, y;
- };
- int main()
- {
- S a, b;
- a.x = 5; a.y = 6;
- b.x = 101; b.y = 7009;
- S *c, *d;
- c = &a;
- c->x *= 2;
- c = &b;
- c->y -= 1;
- d = c;
- d->y += 10;
- printf("*%d,%d,%d,%d,%d,%d,%d,%d*\\n", a.x, a.y, b.x, b.y, c->x, c->y, d->x, d->y);
- return 0;
- }
- '''
- self.do_run(src, '*10,6,101,7018,101,7018,101,7018*')
+ test_path = path_from_root('tests', 'core', 'test_structs')
+ src, output = (test_path + s for s in ('.in', '.out'))
+
+ self.do_run_from_file(src, output)
gen_struct_src = '''
#include <stdio.h>