summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVasilis Kalintiris <ehostunreach@gmail.com>2013-12-07 11:38:37 +0200
committerVasilis Kalintiris <ehostunreach@gmail.com>2013-12-07 19:35:54 +0200
commit70896abbf586e1cda0b25faf2500f74a02a85bf4 (patch)
tree50248dad27be03777247fa1b9b3be8a441fde644
parent6fdd8f7222a1ba02ad63116e9a602ea69fac178e (diff)
Use do_run_from_file() for test_class
-rw-r--r--tests/core/test_class.in26
-rw-r--r--tests/core/test_class.out1
-rw-r--r--tests/test_core.py31
3 files changed, 31 insertions, 27 deletions
diff --git a/tests/core/test_class.in b/tests/core/test_class.in
new file mode 100644
index 00000000..fc61869e
--- /dev/null
+++ b/tests/core/test_class.in
@@ -0,0 +1,26 @@
+
+ #include <stdio.h>
+ struct Random {
+ enum { IM = 139968, IA = 3877, IC = 29573 };
+ Random() : last(42) {}
+ float get( float max = 1.0f ) {
+ last = ( last * IA + IC ) % IM;
+ return max * last / IM;
+ }
+ protected:
+ unsigned int last;
+ } rng1;
+ int main()
+ {
+ Random rng2;
+ int count = 0;
+ for (int i = 0; i < 100; i++) {
+ float x1 = rng1.get();
+ float x2 = rng2.get();
+ printf("%f, %f\n", x1, x2);
+ if (x1 != x2) count += 1;
+ }
+ printf("*%d*\n", count);
+ return 0;
+ }
+ \ No newline at end of file
diff --git a/tests/core/test_class.out b/tests/core/test_class.out
new file mode 100644
index 00000000..a5e8240e
--- /dev/null
+++ b/tests/core/test_class.out
@@ -0,0 +1 @@
+*0* \ No newline at end of file
diff --git a/tests/test_core.py b/tests/test_core.py
index 6e378785..eba924dc 100644
--- a/tests/test_core.py
+++ b/tests/test_core.py
@@ -1395,33 +1395,10 @@ class T(RunnerCore): # Short name, to make it more fun to use manually on the co
self.do_run(src, '''reported\nExit Status: 1\npostRun\nok.\n''')
def test_class(self):
- src = '''
- #include <stdio.h>
- struct Random {
- enum { IM = 139968, IA = 3877, IC = 29573 };
- Random() : last(42) {}
- float get( float max = 1.0f ) {
- last = ( last * IA + IC ) % IM;
- return max * last / IM;
- }
- protected:
- unsigned int last;
- } rng1;
- int main()
- {
- Random rng2;
- int count = 0;
- for (int i = 0; i < 100; i++) {
- float x1 = rng1.get();
- float x2 = rng2.get();
- printf("%f, %f\\n", x1, x2);
- if (x1 != x2) count += 1;
- }
- printf("*%d*\\n", count);
- return 0;
- }
- '''
- self.do_run(src, '*0*')
+ test_path = path_from_root('tests', 'core', 'test_class')
+ src, output = (test_path + s for s in ('.in', '.out'))
+
+ self.do_run_from_file(src, output)
def test_inherit(self):
src = '''