Код программы
#include <process.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h> int main()
{
int test_num=35;
int i=0,j=0,y=0,e=0,rez,mis=0,not=0;
char *arg[5];
arg[1]=new char[10];
arg[2]=new char[10];
arg[3]=new char[10];
arg[4]=new char[10];
char rec_res [30];
char test_rec [50];
char exp_res [30];
FILE *in,*in2;
clrscr();
printf("\tПрограмма-тестер\n\tТестирование файла");
in2 = fopen("TESTS.TXT", "r");
while( fgets(test_rec, 50, in2) != NULL)
{
clrscr();
in = fopen("RESULT.TXT", "r");
printf("\tТест номер %i\n\n",i+1);
printf("\tВ программу передаются аргументы:\n\t");
j=-1;
for(y=1; y<=4; y++)
{
e=0;
j++;
while(j<strlen(test_rec)&&test_rec[j]!=' ')
{
arg[y][e]=test_rec[j];
j++;
e++;
}
arg[y][e]='\0';
}
j++;
e=0;
while(j<strlen(test_rec))
{
exp_res[e]=test_rec[j];
e++;
j++;
}
for(j=1; j<5; j++)
{
printf("%s ",arg[j]);
}
printf("\n\n\tОжидаемый результат: %s\n\n",exp_res);
rez=spawnv(P_WAIT,"RECT.EXE", arg);
if(rez!=0)
{
printf("\tОшибка! Код ошибки: %i\n",rez);
not++;
}
else
{
printf("\tПрограмма выполнена успешно\n\n");
printf("\tРезультат выполнения: ");
while (!feof(in))
{
if ( fgets(rec_res, 30, in) != NULL )
printf("%s ", rec_res);
}
if(strstr(rec_res,exp_res)!=NULL) printf("\n\tБыл получен ожидаемый результат.\n");
else
{
printf("\n\tПолученный результат не совпадает с ожидаемым!\n");
mis++;
}
}
fclose(in);
printf("\n\tНажмите любую клавишу для перехода к следующему тесту");
i++;
getch();
}
clrscr();
printf("\tБыло проведено тестов: %i\n\tОжидаемый результат не совпал с полученным %i раз\n\tТестируемая программа аварийно завершила работу %i раз",test_num,mis,not);
getch();
fclose(in2);
delete arg;
return 0;
}
Напишите комментарии