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