Jakub Filak c5487ab
From 5a60e11298020e04b17160edbd9d575055ecb643 Mon Sep 17 00:00:00 2001
Jakub Filak c5487ab
From: Jakub Filak <jfilak@redhat.com>
Jakub Filak c5487ab
Date: Tue, 4 Nov 2014 15:29:06 +0100
Jakub Filak c5487ab
Subject: [PATCH] testsuite: do not expected ureport exiting on rhsm cert
Jakub Filak c5487ab
 errors
Jakub Filak c5487ab
Jakub Filak c5487ab
Related #1140224
Jakub Filak c5487ab
Jakub Filak c5487ab
Signed-off-by: Jakub Filak <jfilak@redhat.com>
Jakub Filak c5487ab
---
Jakub Filak c5487ab
 tests/ureport.at | 66 ++++++++++++++++++++++++++++++++++++++++++--------------
Jakub Filak c5487ab
 1 file changed, 50 insertions(+), 16 deletions(-)
Jakub Filak c5487ab
Jakub Filak c5487ab
diff --git a/tests/ureport.at b/tests/ureport.at
Jakub Filak c5487ab
index 22d34e9..76e2f7a 100644
Jakub Filak c5487ab
--- a/tests/ureport.at
Jakub Filak c5487ab
+++ b/tests/ureport.at
Jakub Filak c5487ab
@@ -339,12 +339,24 @@ void set_ureport_server_config(struct ureport_server_config *config,
Jakub Filak c5487ab
 
Jakub Filak c5487ab
 void my_assert(const char *str1, const char *str2)
Jakub Filak c5487ab
 {
Jakub Filak c5487ab
-    if (str1 == NULL || str2 == NULL)
Jakub Filak c5487ab
-        assert( str1 == NULL && str2 == NULL );
Jakub Filak c5487ab
-    else
Jakub Filak c5487ab
-        assert(strcmp(str1, str2) == 0);
Jakub Filak c5487ab
+    if (str1 == str2)
Jakub Filak c5487ab
+        return;
Jakub Filak c5487ab
 
Jakub Filak c5487ab
-    return;
Jakub Filak c5487ab
+    if (str1 == NULL && str2 != NULL)
Jakub Filak c5487ab
+    {
Jakub Filak c5487ab
+        fprintf(stderr, "Assertion failed: NULL == '%s'\n", str2);
Jakub Filak c5487ab
+        abort();
Jakub Filak c5487ab
+    }
Jakub Filak c5487ab
+    else if (str1 != NULL && str2 == NULL)
Jakub Filak c5487ab
+    {
Jakub Filak c5487ab
+        fprintf(stderr, "Assertion failed: '%s' == NULL\n", str1);
Jakub Filak c5487ab
+        abort();
Jakub Filak c5487ab
+    }
Jakub Filak c5487ab
+    else if (strcmp(str1, str2) != 0)
Jakub Filak c5487ab
+    {
Jakub Filak c5487ab
+        fprintf(stderr, "Assertion failed: '%s' == '%s'\n", str1, str2);
Jakub Filak c5487ab
+        abort();
Jakub Filak c5487ab
+    }
Jakub Filak c5487ab
 }
Jakub Filak c5487ab
 
Jakub Filak c5487ab
 void assert_ureport_server_config(struct ureport_server_config *config,
Jakub Filak c5487ab
@@ -365,8 +377,10 @@ void assert_ureport_server_config(struct ureport_server_config *config,
Jakub Filak c5487ab
     return;
Jakub Filak c5487ab
 }
Jakub Filak c5487ab
 
Jakub Filak c5487ab
-int test_ureport_server_config_set_client_auth_exit_code(struct ureport_server_config *config,
Jakub Filak c5487ab
-                                                         const char *client_auth)
Jakub Filak c5487ab
+int test_ureport_server_config_set_client_auth_exit_code_ext(struct ureport_server_config *config,
Jakub Filak c5487ab
+                                                             const char *client_auth,
Jakub Filak c5487ab
+                                                             const char *cert_file,
Jakub Filak c5487ab
+                                                             const char *key_file)
Jakub Filak c5487ab
 {
Jakub Filak c5487ab
     ureport_server_config_init(config);
Jakub Filak c5487ab
 
Jakub Filak c5487ab
@@ -380,6 +394,8 @@ int test_ureport_server_config_set_client_auth_exit_code(struct ureport_server_c
Jakub Filak c5487ab
     if (pid == 0)
Jakub Filak c5487ab
     {
Jakub Filak c5487ab
         ureport_server_config_set_client_auth(config, client_auth);
Jakub Filak c5487ab
+        assert((cert_file == (void *)-1) || (cert_file == NULL && config->ur_client_cert == NULL) || (strcmp(cert_file, config->ur_client_cert) == 0));
Jakub Filak c5487ab
+        assert((key_file == (void *)-1) || (key_file == NULL && config->ur_client_cert == NULL) || (strcmp(key_file, config->ur_client_key) == 0));
Jakub Filak c5487ab
         exit(0);
Jakub Filak c5487ab
     }
Jakub Filak c5487ab
     int status;
Jakub Filak c5487ab
@@ -390,6 +406,12 @@ int test_ureport_server_config_set_client_auth_exit_code(struct ureport_server_c
Jakub Filak c5487ab
     return status;
Jakub Filak c5487ab
 }
Jakub Filak c5487ab
 
Jakub Filak c5487ab
+int test_ureport_server_config_set_client_auth_exit_code(struct ureport_server_config *config,
Jakub Filak c5487ab
+                                                         const char *client_auth)
Jakub Filak c5487ab
+{
Jakub Filak c5487ab
+    return test_ureport_server_config_set_client_auth_exit_code_ext(config, client_auth, (void *)-1, (void *)-1);
Jakub Filak c5487ab
+}
Jakub Filak c5487ab
+
Jakub Filak c5487ab
 int main(void)
Jakub Filak c5487ab
 {
Jakub Filak c5487ab
     g_verbose=3;
Jakub Filak c5487ab
@@ -418,8 +440,8 @@ int main(void)
Jakub Filak c5487ab
     assert(empty_cert_dir);
Jakub Filak c5487ab
     setenv("LIBREPORT_DEBUG_RHSMENT_PEM_DIR_PATH", empty_cert_dir, 1);
Jakub Filak c5487ab
 
Jakub Filak c5487ab
-    int status = test_ureport_server_config_set_client_auth_exit_code(&config, "rhsm");
Jakub Filak c5487ab
-    assert(status != 0 && status != -1);
Jakub Filak c5487ab
+    int status = test_ureport_server_config_set_client_auth_exit_code_ext(&config, "rhsm", NULL, NULL);
Jakub Filak c5487ab
+    assert(status == 0);
Jakub Filak c5487ab
 
Jakub Filak c5487ab
     assert(rmdir(empty_cert_dir) == 0);
Jakub Filak c5487ab
 
Jakub Filak c5487ab
@@ -429,8 +451,8 @@ int main(void)
Jakub Filak c5487ab
 
Jakub Filak c5487ab
     setenv("LIBREPORT_DEBUG_RHSMENT_PEM_DIR_PATH", TESTING_CERTS_INCORRECT_CONTENT_DIR_PATH, 1);
Jakub Filak c5487ab
 
Jakub Filak c5487ab
-    status = test_ureport_server_config_set_client_auth_exit_code(&config, "rhsm");
Jakub Filak c5487ab
-    assert(status != 0 && status != -1);
Jakub Filak c5487ab
+    status = test_ureport_server_config_set_client_auth_exit_code_ext(&config, "rhsm", NULL, NULL);
Jakub Filak c5487ab
+    assert(status == 0);
Jakub Filak c5487ab
 
Jakub Filak c5487ab
     /* client_auth == rhsm */
Jakub Filak c5487ab
     /* ur_url == NULL */
Jakub Filak c5487ab
@@ -548,12 +570,24 @@ AT_TESTFUN([ureport_server_config_set_basic_auth],
Jakub Filak c5487ab
 
Jakub Filak c5487ab
 void my_assert(const char *str1, const char *str2)
Jakub Filak c5487ab
 {
Jakub Filak c5487ab
-    if (str1 == NULL || str2 == NULL)
Jakub Filak c5487ab
-        assert( str1 == NULL && str2 == NULL );
Jakub Filak c5487ab
-    else
Jakub Filak c5487ab
-        assert(strcmp(str1, str2) == 0);
Jakub Filak c5487ab
+    if (str1 == str2)
Jakub Filak c5487ab
+        return;
Jakub Filak c5487ab
 
Jakub Filak c5487ab
-    return;
Jakub Filak c5487ab
+    if (str1 == NULL && str2 != NULL)
Jakub Filak c5487ab
+    {
Jakub Filak c5487ab
+        fprintf(stderr, "Assertion failed: NULL == '%s'\n", str2);
Jakub Filak c5487ab
+        abort();
Jakub Filak c5487ab
+    }
Jakub Filak c5487ab
+    else if (str1 != NULL && str2 == NULL)
Jakub Filak c5487ab
+    {
Jakub Filak c5487ab
+        fprintf(stderr, "Assertion failed: '%s' == NULL\n", str1);
Jakub Filak c5487ab
+        abort();
Jakub Filak c5487ab
+    }
Jakub Filak c5487ab
+    else if (strcmp(str1, str2) != 0)
Jakub Filak c5487ab
+    {
Jakub Filak c5487ab
+        fprintf(stderr, "Assertion failed: '%s' == '%s'\n", str1, str2);
Jakub Filak c5487ab
+        abort();
Jakub Filak c5487ab
+    }
Jakub Filak c5487ab
 }
Jakub Filak c5487ab
 
Jakub Filak c5487ab
 void assert_ureport_server_config(struct ureport_server_config *config,
Jakub Filak c5487ab
-- 
Jakub Filak c5487ab
2.1.0
Jakub Filak c5487ab