Пример #1
0
int main(int argc, char **argv) {
	if (argc != 2)
		return EXIT_FAILURE;

	int back_end_input[2];
	int back_end_output[2];

	if (pipe(back_end_input))
		exit(EXIT_FAILURE);
	if (pipe(back_end_output))
		exit(EXIT_FAILURE);

	switch (fork()) {
	case -1:
		exit(EXIT_FAILURE);
	case 0:
		if (dup2(back_end_input[0], STDIN_FILENO) == -1)
			exit(EXIT_FAILURE);
		if (dup2(back_end_output[1], STDOUT_FILENO) == -1)
			exit(EXIT_FAILURE);
		for (int i = 0; i < 2; i++) {
			if (close(back_end_input[i]))
				exit(EXIT_FAILURE);
			if (close(back_end_output[i]))
				exit(EXIT_FAILURE);
		}
		execl(argv[1], argv[1], (char *)NULL);
		exit(EXIT_FAILURE);
	}

	if (close(back_end_input[0]))
		exit(EXIT_FAILURE);
	if (close(back_end_output[1]))
		exit(EXIT_FAILURE);

	FILE *bei_file = fdopen(back_end_input[1], "wb");
	if (!bei_file)
		exit(EXIT_FAILURE);
	FILE *beo_file = fdopen(back_end_output[0], "rb");
	if (!beo_file)
		exit(EXIT_FAILURE);

	protocol_test(bei_file, beo_file);

	if (fclose(bei_file))
		exit(EXIT_FAILURE);
	if (fclose(beo_file))
		exit(EXIT_FAILURE);

	return EXIT_SUCCESS;
}
Пример #2
0
void test_run(void)
{    
 	initialize();
#if TEST_CASE == LOGIC_TEST
    logic_test();
#elif TEST_CASE == TIMER_TEST
    timer_test();
#elif TEST_CASE == COMPONENT_TEST
    component_test();
#elif TEST_CASE == PROTOCOL_TEST    
    protocol_test();
#elif TEST_CASE == POWER_TEST
    power_test();
#elif TEST_CASE == IDLE_TEST
    idle_test();
#elif TEST_CASE == STATE_TEST
    state_test();
#elif TEST_CASE == WORK_TEST
    work_test();
#elif TEST_CASE == FILE_TEST
    file_test();
#elif TEST_CASE == PICTURE_TEST    
    picture_test();
#elif TEST_CASE == CONSUME_POWER
    consume_power();
#elif TEST_CASE == INIT_FILE
	init_file();
#elif TEST_CASE == FACTORY_TEST
	factory_test();
#elif TEST_CASE ==  MOBILE_STATE_TEST
	 mobile_state_test();
#elif TEST_CASE ==  MESSAGE_REPLY_TEST
	 message_reply_test();
#elif TEST_CASE ==  TF_TEST
	tf_test();	
#elif TEST_CASE ==  SCREEN_TEST
	screen_test();
#elif TEST_CASE ==  UPGRADE_TEST
	upgrade_test();
#elif TEST_CASE ==  MOBILE_TEST
	mobile_test();
#endif
}