You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
5.2 KiB
152 lines
5.2 KiB
5 years ago
|
From 71b1c4b5322051320574f4de113e139e8aeb4b89 Mon Sep 17 00:00:00 2001
|
||
|
From: Jakub Filak <jfilak@redhat.com>
|
||
|
Date: Tue, 4 Nov 2014 15:29:06 +0100
|
||
|
Subject: [LIBREPORT PATCH 117/118] testsuite: do not expected ureport exiting
|
||
|
on rhsm cert errors
|
||
|
|
||
|
Related #1140224
|
||
|
|
||
|
Signed-off-by: Jakub Filak <jfilak@redhat.com>
|
||
|
---
|
||
|
tests/Makefile.am | 2 +-
|
||
|
tests/ureport.at | 66 +++++++++++++++++++++++++++++++++++++++++--------------
|
||
|
2 files changed, 51 insertions(+), 17 deletions(-)
|
||
|
|
||
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||
|
index cda9375..1cfc206 100644
|
||
|
--- a/tests/Makefile.am
|
||
|
+++ b/tests/Makefile.am
|
||
|
@@ -49,7 +49,7 @@ TESTSUITE = $(srcdir)/testsuite
|
||
|
MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
|
||
|
check_DATA = atconfig atlocal $(TESTSUITE)
|
||
|
DISTCLEANFILES = atconfig
|
||
|
-EXTRA_DIST += atlocal.in conf
|
||
|
+EXTRA_DIST += atlocal.in conf ureport
|
||
|
|
||
|
atconfig: $(top_builddir)/config.status
|
||
|
(cd ${top_builddir} && ./config.status ${subdir}/atconfig)
|
||
|
diff --git a/tests/ureport.at b/tests/ureport.at
|
||
|
index 22d34e9..76e2f7a 100644
|
||
|
--- a/tests/ureport.at
|
||
|
+++ b/tests/ureport.at
|
||
|
@@ -339,12 +339,24 @@ void set_ureport_server_config(struct ureport_server_config *config,
|
||
|
|
||
|
void my_assert(const char *str1, const char *str2)
|
||
|
{
|
||
|
- if (str1 == NULL || str2 == NULL)
|
||
|
- assert( str1 == NULL && str2 == NULL );
|
||
|
- else
|
||
|
- assert(strcmp(str1, str2) == 0);
|
||
|
+ if (str1 == str2)
|
||
|
+ return;
|
||
|
|
||
|
- return;
|
||
|
+ if (str1 == NULL && str2 != NULL)
|
||
|
+ {
|
||
|
+ fprintf(stderr, "Assertion failed: NULL == '%s'\n", str2);
|
||
|
+ abort();
|
||
|
+ }
|
||
|
+ else if (str1 != NULL && str2 == NULL)
|
||
|
+ {
|
||
|
+ fprintf(stderr, "Assertion failed: '%s' == NULL\n", str1);
|
||
|
+ abort();
|
||
|
+ }
|
||
|
+ else if (strcmp(str1, str2) != 0)
|
||
|
+ {
|
||
|
+ fprintf(stderr, "Assertion failed: '%s' == '%s'\n", str1, str2);
|
||
|
+ abort();
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
void assert_ureport_server_config(struct ureport_server_config *config,
|
||
|
@@ -365,8 +377,10 @@ void assert_ureport_server_config(struct ureport_server_config *config,
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
-int test_ureport_server_config_set_client_auth_exit_code(struct ureport_server_config *config,
|
||
|
- const char *client_auth)
|
||
|
+int test_ureport_server_config_set_client_auth_exit_code_ext(struct ureport_server_config *config,
|
||
|
+ const char *client_auth,
|
||
|
+ const char *cert_file,
|
||
|
+ const char *key_file)
|
||
|
{
|
||
|
ureport_server_config_init(config);
|
||
|
|
||
|
@@ -380,6 +394,8 @@ int test_ureport_server_config_set_client_auth_exit_code(struct ureport_server_c
|
||
|
if (pid == 0)
|
||
|
{
|
||
|
ureport_server_config_set_client_auth(config, client_auth);
|
||
|
+ assert((cert_file == (void *)-1) || (cert_file == NULL && config->ur_client_cert == NULL) || (strcmp(cert_file, config->ur_client_cert) == 0));
|
||
|
+ assert((key_file == (void *)-1) || (key_file == NULL && config->ur_client_cert == NULL) || (strcmp(key_file, config->ur_client_key) == 0));
|
||
|
exit(0);
|
||
|
}
|
||
|
int status;
|
||
|
@@ -390,6 +406,12 @@ int test_ureport_server_config_set_client_auth_exit_code(struct ureport_server_c
|
||
|
return status;
|
||
|
}
|
||
|
|
||
|
+int test_ureport_server_config_set_client_auth_exit_code(struct ureport_server_config *config,
|
||
|
+ const char *client_auth)
|
||
|
+{
|
||
|
+ return test_ureport_server_config_set_client_auth_exit_code_ext(config, client_auth, (void *)-1, (void *)-1);
|
||
|
+}
|
||
|
+
|
||
|
int main(void)
|
||
|
{
|
||
|
g_verbose=3;
|
||
|
@@ -418,8 +440,8 @@ int main(void)
|
||
|
assert(empty_cert_dir);
|
||
|
setenv("LIBREPORT_DEBUG_RHSMENT_PEM_DIR_PATH", empty_cert_dir, 1);
|
||
|
|
||
|
- int status = test_ureport_server_config_set_client_auth_exit_code(&config, "rhsm");
|
||
|
- assert(status != 0 && status != -1);
|
||
|
+ int status = test_ureport_server_config_set_client_auth_exit_code_ext(&config, "rhsm", NULL, NULL);
|
||
|
+ assert(status == 0);
|
||
|
|
||
|
assert(rmdir(empty_cert_dir) == 0);
|
||
|
|
||
|
@@ -429,8 +451,8 @@ int main(void)
|
||
|
|
||
|
setenv("LIBREPORT_DEBUG_RHSMENT_PEM_DIR_PATH", TESTING_CERTS_INCORRECT_CONTENT_DIR_PATH, 1);
|
||
|
|
||
|
- status = test_ureport_server_config_set_client_auth_exit_code(&config, "rhsm");
|
||
|
- assert(status != 0 && status != -1);
|
||
|
+ status = test_ureport_server_config_set_client_auth_exit_code_ext(&config, "rhsm", NULL, NULL);
|
||
|
+ assert(status == 0);
|
||
|
|
||
|
/* client_auth == rhsm */
|
||
|
/* ur_url == NULL */
|
||
|
@@ -548,12 +570,24 @@ AT_TESTFUN([ureport_server_config_set_basic_auth],
|
||
|
|
||
|
void my_assert(const char *str1, const char *str2)
|
||
|
{
|
||
|
- if (str1 == NULL || str2 == NULL)
|
||
|
- assert( str1 == NULL && str2 == NULL );
|
||
|
- else
|
||
|
- assert(strcmp(str1, str2) == 0);
|
||
|
+ if (str1 == str2)
|
||
|
+ return;
|
||
|
|
||
|
- return;
|
||
|
+ if (str1 == NULL && str2 != NULL)
|
||
|
+ {
|
||
|
+ fprintf(stderr, "Assertion failed: NULL == '%s'\n", str2);
|
||
|
+ abort();
|
||
|
+ }
|
||
|
+ else if (str1 != NULL && str2 == NULL)
|
||
|
+ {
|
||
|
+ fprintf(stderr, "Assertion failed: '%s' == NULL\n", str1);
|
||
|
+ abort();
|
||
|
+ }
|
||
|
+ else if (strcmp(str1, str2) != 0)
|
||
|
+ {
|
||
|
+ fprintf(stderr, "Assertion failed: '%s' == '%s'\n", str1, str2);
|
||
|
+ abort();
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
void assert_ureport_server_config(struct ureport_server_config *config,
|
||
|
--
|
||
|
1.8.3.1
|
||
|
|