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