qa: introduce runners and more tests for newlib
For each test, if a script exists with the same name of the test plus the .runner suffix, the runner is run instead of the test. As a first example qa/lib/newlib/testsuite/atexit is run by qa/lib/newlib/testsuite/atexit.runner. These .runner scripts allow more complex checks of the side effects generated by the test.
This commit is contained in:
35
qa/lib/newlib/100-files.c
Normal file
35
qa/lib/newlib/100-files.c
Normal file
@ -0,0 +1,35 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(int argc, char** argv) {
|
||||
FILE *fp;
|
||||
int i;
|
||||
char * output = "/tmp/io-test.txt";
|
||||
|
||||
if(argc == 2){
|
||||
output = argv[1];
|
||||
}else if(argc > 2){
|
||||
printf("usage: %s [output]", argv[0]);
|
||||
return 100;
|
||||
}
|
||||
|
||||
fp = fopen(output, "w+");
|
||||
if(fp == NULL){
|
||||
printf("Can't open %s", output);
|
||||
return 1;
|
||||
}
|
||||
i = fprintf(fp, "%s works.\n", "fprintf");
|
||||
if(i <= 0){
|
||||
fclose(fp);
|
||||
printf("Can't write 'fprintf works.' to %s", output);
|
||||
return 2;
|
||||
}
|
||||
i = fputs("fputs works.\n", fp);
|
||||
if(i == EOF){
|
||||
fclose(fp);
|
||||
printf("Can't write 'fputs works.' to %s", output);
|
||||
return 3;
|
||||
}
|
||||
fclose(fp);
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user