diff options
-rw-r--r-- | tests/core/test_i64_b.in | 22 | ||||
-rw-r--r-- | tests/core/test_i64_b.out | 2 | ||||
-rw-r--r-- | tests/test_core.py | 26 |
3 files changed, 27 insertions, 23 deletions
diff --git a/tests/core/test_i64_b.in b/tests/core/test_i64_b.in new file mode 100644 index 00000000..b373a3aa --- /dev/null +++ b/tests/core/test_i64_b.in @@ -0,0 +1,22 @@ + + #include <stdio.h> + #include <sys/time.h> + + typedef long long int64; + + #define PRMJ_USEC_PER_SEC 1000000L + + int main(int argc, char * argv[]) { + int64 sec = 1329409675 + argc; + int64 usec = 2329509675; + int64 mul = int64(sec) * PRMJ_USEC_PER_SEC; + int64 add = mul + int64(usec); + int add_low = add; + int add_high = add >> 32; + printf("*%lld,%lld,%u,%u*\n", mul, add, add_low, add_high); + int64 x = sec + (usec << 25); + x >>= argc*3; + printf("*%llu*\n", x); + return 0; + } +
\ No newline at end of file diff --git a/tests/core/test_i64_b.out b/tests/core/test_i64_b.out new file mode 100644 index 00000000..70d0a95c --- /dev/null +++ b/tests/core/test_i64_b.out @@ -0,0 +1,2 @@ +*1329409676000000,1329412005509675,3663280683,309527* +*9770671914067409* diff --git a/tests/test_core.py b/tests/test_core.py index 5f65e623..48624464 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -264,30 +264,10 @@ class T(RunnerCore): # Short name, to make it more fun to use manually on the co def test_i64_b(self): if Settings.USE_TYPED_ARRAYS != 2: return self.skip('full i64 stuff only in ta2') - src = r''' - #include <stdio.h> - #include <sys/time.h> - - typedef long long int64; - - #define PRMJ_USEC_PER_SEC 1000000L - - int main(int argc, char * argv[]) { - int64 sec = 1329409675 + argc; - int64 usec = 2329509675; - int64 mul = int64(sec) * PRMJ_USEC_PER_SEC; - int64 add = mul + int64(usec); - int add_low = add; - int add_high = add >> 32; - printf("*%lld,%lld,%u,%u*\n", mul, add, add_low, add_high); - int64 x = sec + (usec << 25); - x >>= argc*3; - printf("*%llu*\n", x); - return 0; - } - ''' + test_path = path_from_root('tests', 'core', 'test_i64_b') + src, output = (test_path + s for s in ('.in', '.out')) - self.do_run(src, '*1329409676000000,1329412005509675,3663280683,309527*\n*9770671914067409*\n') + self.do_run_from_file(src, output) def test_i64_cmp(self): if Settings.USE_TYPED_ARRAYS != 2: return self.skip('full i64 stuff only in ta2') |