diff options
author | Vasilis Kalintiris <ehostunreach@gmail.com> | 2013-12-07 17:09:01 +0200 |
---|---|---|
committer | Vasilis Kalintiris <ehostunreach@gmail.com> | 2013-12-07 19:36:01 +0200 |
commit | 4dbb76786ee2d914c13ced432b7ede74a3799433 (patch) | |
tree | da2db8d746853303c0d63395819a289f45ac0ff7 /tests | |
parent | 002a677488c3c7f4f57b37803dab25ca05974dfc (diff) |
Use do_run_from_file() for test_typeid
Diffstat (limited to 'tests')
-rw-r--r-- | tests/core/test_typeid.in | 53 | ||||
-rw-r--r-- | tests/core/test_typeid.out | 23 | ||||
-rw-r--r-- | tests/test_core.py | 80 |
3 files changed, 80 insertions, 76 deletions
diff --git a/tests/core/test_typeid.in b/tests/core/test_typeid.in new file mode 100644 index 00000000..fc777183 --- /dev/null +++ b/tests/core/test_typeid.in @@ -0,0 +1,53 @@ + + #include <stdio.h> + #include <string.h> + #include <typeinfo> + int main() { + printf("*\n"); + #define MAX 100 + int ptrs[MAX]; + int groups[MAX]; + memset(ptrs, 0, MAX*sizeof(int)); + memset(groups, 0, MAX*sizeof(int)); + int next_group = 1; + #define TEST(X) { \ + int ptr = (int)&typeid(X); \ + int group = 0; \ + int i; \ + for (i = 0; i < MAX; i++) { \ + if (!groups[i]) break; \ + if (ptrs[i] == ptr) { \ + group = groups[i]; \ + break; \ + } \ + } \ + if (!group) { \ + groups[i] = group = next_group++; \ + ptrs[i] = ptr; \ + } \ + printf("%s:%d\n", #X, group); \ + } + TEST(int); + TEST(unsigned int); + TEST(unsigned); + TEST(signed int); + TEST(long); + TEST(unsigned long); + TEST(signed long); + TEST(long long); + TEST(unsigned long long); + TEST(signed long long); + TEST(short); + TEST(unsigned short); + TEST(signed short); + TEST(char); + TEST(unsigned char); + TEST(signed char); + TEST(float); + TEST(double); + TEST(long double); + TEST(void); + TEST(void*); + printf("*\n"); + } +
\ No newline at end of file diff --git a/tests/core/test_typeid.out b/tests/core/test_typeid.out new file mode 100644 index 00000000..6355c27d --- /dev/null +++ b/tests/core/test_typeid.out @@ -0,0 +1,23 @@ +* +int:1 +unsigned int:2 +unsigned:2 +signed int:1 +long:3 +unsigned long:4 +signed long:3 +long long:5 +unsigned long long:6 +signed long long:5 +short:7 +unsigned short:8 +signed short:7 +char:9 +unsigned char:10 +signed char:11 +float:12 +double:13 +long double:14 +void:15 +void*:16 +* diff --git a/tests/test_core.py b/tests/test_core.py index 97636b51..4f3d9cb5 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -4462,82 +4462,10 @@ return malloc(size); ''', 'hello world'); def test_typeid(self): - self.do_run(r''' - #include <stdio.h> - #include <string.h> - #include <typeinfo> - int main() { - printf("*\n"); - #define MAX 100 - int ptrs[MAX]; - int groups[MAX]; - memset(ptrs, 0, MAX*sizeof(int)); - memset(groups, 0, MAX*sizeof(int)); - int next_group = 1; - #define TEST(X) { \ - int ptr = (int)&typeid(X); \ - int group = 0; \ - int i; \ - for (i = 0; i < MAX; i++) { \ - if (!groups[i]) break; \ - if (ptrs[i] == ptr) { \ - group = groups[i]; \ - break; \ - } \ - } \ - if (!group) { \ - groups[i] = group = next_group++; \ - ptrs[i] = ptr; \ - } \ - printf("%s:%d\n", #X, group); \ - } - TEST(int); - TEST(unsigned int); - TEST(unsigned); - TEST(signed int); - TEST(long); - TEST(unsigned long); - TEST(signed long); - TEST(long long); - TEST(unsigned long long); - TEST(signed long long); - TEST(short); - TEST(unsigned short); - TEST(signed short); - TEST(char); - TEST(unsigned char); - TEST(signed char); - TEST(float); - TEST(double); - TEST(long double); - TEST(void); - TEST(void*); - printf("*\n"); - } - ''', '''* -int:1 -unsigned int:2 -unsigned:2 -signed int:1 -long:3 -unsigned long:4 -signed long:3 -long long:5 -unsigned long long:6 -signed long long:5 -short:7 -unsigned short:8 -signed short:7 -char:9 -unsigned char:10 -signed char:11 -float:12 -double:13 -long double:14 -void:15 -void*:16 -* -'''); + test_path = path_from_root('tests', 'core', 'test_typeid') + src, output = (test_path + s for s in ('.in', '.out')) + + self.do_run_from_file(src, output) def test_static_variable(self): if self.emcc_args is None: Settings.SAFE_HEAP = 0 # LLVM mixes i64 and i8 in the guard check |