Use do_run_from_file() for test_sscanf_n

This commit is contained in:
Vasilis Kalintiris 2013-12-07 15:40:55 +02:00
Родитель 4ca97d11ef
Коммит cc6043603f
3 изменённых файлов: 27 добавлений и 21 удалений

Просмотреть файл

@ -0,0 +1,21 @@
#include<stdio.h>
int main() {
char *line = "version 1.0";
int i, l, lineno;
char word[80];
if (sscanf(line, "%s%n", word, &l) != 1) {
printf("Header format error, line %d\n", lineno);
}
printf("[DEBUG] word 1: %s, l: %d\n", word, l);
int x = sscanf("one %n two", "%s %n", word, &l);
printf("%d,%s,%d\n", x, word, l);
{
int a, b, c, count;
count = sscanf("12345 6789", "%d %n%d", &a, &b, &c);
printf("%i %i %i %i\n", count, a, b, c);
}
return 0;
}

Просмотреть файл

@ -0,0 +1,3 @@
[DEBUG] word 1: version, l: 7
1,one,4
2 12345 6 6789

Просмотреть файл

@ -3698,28 +3698,10 @@ Pass: 0.000012 0.000012
Pass: 0.000012 0.000012''')
def test_sscanf_n(self):
src = r'''
#include<stdio.h>
int main() {
char *line = "version 1.0";
int i, l, lineno;
char word[80];
if (sscanf(line, "%s%n", word, &l) != 1) {
printf("Header format error, line %d\n", lineno);
}
printf("[DEBUG] word 1: %s, l: %d\n", word, l);
test_path = path_from_root('tests', 'core', 'test_sscanf_n')
src, output = (test_path + s for s in ('.in', '.out'))
int x = sscanf("one %n two", "%s %n", word, &l);
printf("%d,%s,%d\n", x, word, l);
{
int a, b, c, count;
count = sscanf("12345 6789", "%d %n%d", &a, &b, &c);
printf("%i %i %i %i\n", count, a, b, c);
}
return 0;
}
'''
self.do_run(src, '''[DEBUG] word 1: version, l: 7\n1,one,4\n2 12345 6 6789\n''')
self.do_run_from_file(src, output)
def test_sscanf_whitespace(self):
src = r'''