Use do_run_from_file() for test_funcptr_namecollide
This commit is contained in:
Родитель
c704860e22
Коммит
1985354735
|
@ -0,0 +1,27 @@
|
|||
|
||||
#include <stdio.h>
|
||||
|
||||
void do_call(void (*puts)(const char *), const char *str);
|
||||
|
||||
void do_print(const char *str) {
|
||||
if (!str) do_call(NULL, "delusion");
|
||||
if ((int)str == -1) do_print(str+10);
|
||||
puts("====");
|
||||
puts(str);
|
||||
puts("====");
|
||||
}
|
||||
|
||||
void do_call(void (*puts)(const char *), const char *str) {
|
||||
if (!str) do_print("confusion");
|
||||
if ((int)str == -1) do_call(NULL, str-10);
|
||||
(*puts)(str);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
for (int i = 0; i < argc; i++) {
|
||||
do_call(i != 10 ? do_print : NULL, i != 15 ? "waka waka" : NULL);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
waka
|
|
@ -1538,34 +1538,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_funcptr_namecollide(self):
|
||||
src = r'''
|
||||
#include <stdio.h>
|
||||
test_path = path_from_root('tests', 'core', 'test_funcptr_namecollide')
|
||||
src, output = (test_path + s for s in ('.in', '.out'))
|
||||
|
||||
void do_call(void (*puts)(const char *), const char *str);
|
||||
|
||||
void do_print(const char *str) {
|
||||
if (!str) do_call(NULL, "delusion");
|
||||
if ((int)str == -1) do_print(str+10);
|
||||
puts("====");
|
||||
puts(str);
|
||||
puts("====");
|
||||
}
|
||||
|
||||
void do_call(void (*puts)(const char *), const char *str) {
|
||||
if (!str) do_print("confusion");
|
||||
if ((int)str == -1) do_call(NULL, str-10);
|
||||
(*puts)(str);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
for (int i = 0; i < argc; i++) {
|
||||
do_call(i != 10 ? do_print : NULL, i != 15 ? "waka waka" : NULL);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
'''
|
||||
self.do_run(src, 'waka', force_c=True)
|
||||
self.do_run_from_file(src, output, force_c=True)
|
||||
|
||||
def test_emptyclass(self):
|
||||
if self.emcc_args is None: return self.skip('requires emcc')
|
||||
|
|
Загрузка…
Ссылка в новой задаче