1 #include "tls_test_frame.h"
2
3 INT demo_timeout_test_entry(TLS_TEST_INSTANCE* instance_ptr);
4
main(INT argc,CHAR * argv[])5 INT main(INT argc, CHAR* argv[])
6 {
7 INT status, exit_status;
8 UINT offset, length;
9 VOID* shared_buffer;
10 TLS_TEST_INSTANCE *ins0;
11 TLS_TEST_DIRECTOR *director;
12
13 /* Create a test instance. */
14 status = tls_test_instance_create(&ins0, /* test instance ptr */
15 "timeout_test_instance", /* instance name */
16 demo_timeout_test_entry, /* test entry */
17 0, /* delay(seconds) */
18 3, /* timeout(seconds) */
19 1024, /* shared buffer size */
20 NULL); /* reserved */
21 return_value_if_fail(TLS_TEST_SUCCESS == status, status);
22
23 /* Launch the test instance. */
24 status = tls_test_director_create(&director, NULL);
25 status += tls_test_director_register_test_instance(director, ins0);
26 status += tls_test_director_test_start(director);
27 return_value_if_fail(TLS_TEST_SUCCESS == status, status);
28
29 /* Get exit status. */
30 status = tls_test_instance_get_exit_status(ins0, &exit_status);
31 return_value_if_fail(TLS_TEST_SUCCESS == status, status);
32
33 status = tls_test_instance_show_exit_status(ins0);
34 return_value_if_fail( TLS_TEST_SUCCESS == status, status);
35
36 /* Destroy the test director and registered test instances. */
37 status = tls_test_director_clean_all(director);
38 return_value_if_fail(TLS_TEST_SUCCESS == status, status);
39
40 /* Check exit status. */
41 return_value_if_fail( -SIGALRM == exit_status, TLS_TEST_UNKNOWN_TYPE_ERROR);
42
43 return 0;
44 }
45
demo_timeout_test_entry(TLS_TEST_INSTANCE * instance_ptr)46 INT demo_timeout_test_entry(TLS_TEST_INSTANCE* instance_ptr)
47 {
48 INT status, exit_status;
49 CHAR* external_cmd[] = { "sleep_5_secs_then_echo_hello.sh", NULL};
50
51 status = tls_test_launch_external_test_process( &exit_status, external_cmd);
52 return exit_status;
53 }
54