1 #include "tls_test_frame.h"
2 
3 /* Get the name of the instance. */
tls_test_instance_get_name(TLS_TEST_INSTANCE * instance_ptr,CHAR ** name_ptr)4 INT tls_test_instance_get_name( TLS_TEST_INSTANCE* instance_ptr, CHAR** name_ptr)
5 {
6     *name_ptr = instance_ptr -> tls_test_instance_name;
7     return_value_if_fail(NULL != *name_ptr, TLS_TEST_UNKNOWN_TYPE_ERROR);
8     return TLS_TEST_SUCCESS;
9 }
10 
11 /* Get the exit code of the instance. */
tls_test_instance_get_exit_status(TLS_TEST_INSTANCE * instance_ptr,INT * exit_status_ptr)12 INT tls_test_instance_get_exit_status( TLS_TEST_INSTANCE* instance_ptr, INT* exit_status_ptr)
13 {
14     *exit_status_ptr = instance_ptr -> tls_test_instance_exit_status;
15     return TLS_TEST_SUCCESS;
16 }
17 
18 /* Print the comments of the exit status of test instances. */
tls_test_instance_show_exit_status(TLS_TEST_INSTANCE * instance_ptr)19 INT tls_test_instance_show_exit_status(TLS_TEST_INSTANCE* instance_ptr)
20 {
21 INT         status, exit_status;
22 CHAR        *name;
23 
24     /* Check instance pointer. */
25     return_value_if_fail(NULL != instance_ptr, TLS_TEST_INVALID_POINTER);
26 
27     /* Ensure that the test instance is exited or signaled. */
28     return_value_if_fail(instance_ptr -> tls_test_instance_status & (TLS_TEST_INSTANCE_STATUS_EXITED | TLS_TEST_INSTANCE_STATUS_SIGNALED), TLS_TEST_INSTANCE_UNEXITED);
29 
30     status = tls_test_instance_get_exit_status(instance_ptr, &exit_status);
31     return_value_if_fail(TLS_TEST_SUCCESS == status, status);
32 
33     status = tls_test_instance_get_name(instance_ptr, &name);
34     return_value_if_fail(TLS_TEST_SUCCESS == status, status);
35 
36     if (0 <= exit_status)
37     {
38         print_error_message("Instance %s exited with return code %d.\n", name, exit_status);
39     }
40     else if (0 > exit_status)
41     {
42         print_error_message("Instance %s is killed by signal %d.\n", name, -exit_status);
43     }
44     return TLS_TEST_SUCCESS;
45 }
46