@@ -111,14 +111,15 @@ GST_START_TEST(kvsproducersinkteststop)
111111 }
112112GST_END_TEST;
113113
114- GST_START_TEST (check_stream_name_null_handled )
114+ GST_START_TEST (check_kvssink_null_stream_name_fails_init_play )
115115 {
116116 GstElement *kinesisvideoproducersink;
117117
118118 // Setup
119119 kinesisvideoproducersink = gst_check_setup_element (" kvssink" );
120120 fail_unless (kinesisvideoproducersink != nullptr , " Failed to create kvssink element" );
121121
122+ // Set stream-name to null. Only possible programmatically, not through gst-parse-launch-1.0 command
122123 g_object_set (G_OBJECT (kinesisvideoproducersink),
123124 " stream-name" , nullptr ,
124125 NULL );
@@ -132,7 +133,7 @@ GST_START_TEST(check_stream_name_null_handled)
132133 }
133134GST_END_TEST;
134135
135- GST_START_TEST (check_no_pads_content_type_set_correctly )
136+ GST_START_TEST (check_kvssink_no_pads_fails_to_play )
136137 {
137138 GstElement *kinesisvideoproducersink;
138139
@@ -301,7 +302,27 @@ GST_END_TEST;
301302
302303GST_START_TEST (test_check_credentials)
303304 {
304- ck_abort_msg (" Required environment variables (ACCESS_KEY and/or SECRET_KEY) are not set" );
305+ CHAR missingVars[128 ] = {0 };
306+ SIZE_T missingVarsLen = 0 ;
307+
308+ if (accessKey[0 ] == ' \0 ' ) {
309+ SNPRINTF (missingVars + missingVarsLen, SIZEOF (missingVars) - missingVarsLen, " %s" , ACCESS_KEY_ENV_VAR);
310+ missingVarsLen = STRNLEN (missingVars, SIZEOF (missingVars));
311+ }
312+
313+ if (secretKey[0 ] == ' \0 ' ) {
314+ if (missingVarsLen > 0 ) {
315+ STRNCAT (missingVars, " and " , SIZEOF (missingVars) - missingVarsLen - 1 );
316+ missingVarsLen = STRNLEN (missingVars, SIZEOF (missingVars));
317+ }
318+ STRNCAT (missingVars, SECRET_KEY_ENV_VAR, SIZEOF (missingVars) - missingVarsLen - 1 );
319+ missingVarsLen = STRNLEN (missingVars, SIZEOF (missingVars));
320+ }
321+
322+ ck_abort_msg (" Required environment variable%s %s %s not set" ,
323+ STRCHR (missingVars, ' ' ) ? " s" : " " ,
324+ missingVars,
325+ STRCHR (missingVars, ' ' ) ? " are" : " is" );
305326 }
306327GST_END_TEST;
307328
@@ -321,6 +342,7 @@ Suite *gst_kinesisvideoproducer_suite(void) {
321342 sessionToken = sessionToken ? sessionToken : " " ;
322343
323344 // Check if required environment variables are set
345+ // Note: Session token can be empty if permanent credentials are used
324346 if (accessKey[0 ] == ' \0 ' || secretKey[0 ] == ' \0 ' ) {
325347 TCase *tc_env = tcase_create (" Credentials check" );
326348 tcase_add_test_raise_signal (tc_env, test_check_credentials, SIGABRT);
@@ -330,8 +352,8 @@ Suite *gst_kinesisvideoproducer_suite(void) {
330352 return s;
331353 }
332354
333- tcase_add_test (tc, check_stream_name_null_handled );
334- tcase_add_test (tc, check_no_pads_content_type_set_correctly );
355+ tcase_add_test (tc, check_kvssink_null_stream_name_fails_init_play );
356+ tcase_add_test (tc, check_kvssink_no_pads_fails_to_play );
335357 tcase_add_test (tc, kvsproducersinktestplayandstop);
336358 tcase_add_test (tc, kvsproducersinktestplaytopausetoplay);
337359 tcase_add_test (tc, kvsproducersinkteststop);
0 commit comments