[X2Go-Commits] [libx2goclient] 47/132: src/test/sshtest.c: run all tests twice - with concrete implementation and super class semantics.
git-admin at x2go.org
git-admin at x2go.org
Fri Dec 3 15:26:30 CET 2021
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository libx2goclient.
commit 64ffafde6de0a1604b44909071863083e54a58d1
Author: Mihai Moldovan <ionic at ionic.de>
Date: Fri Apr 30 12:49:09 2021 +0200
src/test/sshtest.c: run all tests twice - with concrete implementation and super class semantics.
This should test if all functions work well and can be used
interchangeably - which should be the case.
---
src/test/sshtest.c | 58 +++++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 44 insertions(+), 14 deletions(-)
diff --git a/src/test/sshtest.c b/src/test/sshtest.c
index b1c827e..93c9444 100644
--- a/src/test/sshtest.c
+++ b/src/test/sshtest.c
@@ -202,13 +202,18 @@ static _Bool test_x2goclient_network_ssh_set_conn_ret (X2GoClientNetworkSSH *net
return (ret);
}
-static _Bool test_x2goclient_network_ssh_connect_after_connect (X2GoClientNetworkSSH *net_ssh, const gboolean conn_ret) {
+static _Bool test_x2goclient_network_ssh_connect_after_connect (X2GoClientNetworkSSH *net_ssh, const gboolean conn_ret, const _Bool use_super) {
_Bool ret = TRUE;
/* Connect again, shouldn't cause anything to change. */
gboolean conn_ret_new = FALSE;
g_printf ("Trying to connect again...\n");
- conn_ret_new = x2goclient_network_ssh_connect (net_ssh, NULL);
+ if (use_super) {
+ conn_ret_new = x2goclient_network_connect ((X2GoClientNetwork*) (net_ssh), NULL);
+ }
+ else {
+ conn_ret_new = x2goclient_network_ssh_connect (net_ssh, NULL);
+ }
g_printf ("Connection status: %s.\n", x2goclient_bool_to_str (conn_ret_new));
ret &= (conn_ret == conn_ret_new);
@@ -220,13 +225,18 @@ static _Bool test_x2goclient_network_ssh_connect_after_connect (X2GoClientNetwor
return (ret);
}
-static _Bool test_x2goclient_network_ssh_connect (X2GoClientNetworkSSH *net_ssh, gboolean * const conn_ret) {
+static _Bool test_x2goclient_network_ssh_connect (X2GoClientNetworkSSH *net_ssh, gboolean * const conn_ret, const _Bool use_super) {
_Bool ret = (!(!(conn_ret)));
if (ret) {
/* Actually connect. */
g_printf ("Trying to connect...\n");
- (*conn_ret) = x2goclient_network_ssh_connect (net_ssh, NULL);
+ if (use_super) {
+ (*conn_ret) = x2goclient_network_connect ((X2GoClientNetwork*) (net_ssh), NULL);
+ }
+ else {
+ (*conn_ret) = x2goclient_network_ssh_connect (net_ssh, NULL);
+ }
g_printf ("Connection status: %s.\n", x2goclient_bool_to_str (*conn_ret));
}
@@ -244,12 +254,18 @@ static _Bool test_x2goclient_network_ssh_connect (X2GoClientNetworkSSH *net_ssh,
return (ret);
}
-static _Bool test_x2goclient_network_ssh_disconnect (X2GoClientNetworkSSH *net_ssh) {
+static _Bool test_x2goclient_network_ssh_disconnect (X2GoClientNetworkSSH *net_ssh, const _Bool use_super) {
_Bool ret = TRUE;
/* Actually disconnect. */
g_printf ("Trying to disconnect...\n");
- gboolean disconn_ret = x2goclient_network_ssh_disconnect (net_ssh, NULL);
+ gboolean disconn_ret = FALSE;
+ if (use_super) {
+ disconn_ret = x2goclient_network_disconnect ((X2GoClientNetwork*) (net_ssh), NULL);
+ }
+ else {
+ disconn_ret = x2goclient_network_ssh_disconnect (net_ssh, NULL);
+ }
g_printf ("Disconnection status: %s.\n", x2goclient_bool_to_str (disconn_ret));
ret &= disconn_ret;
@@ -266,9 +282,18 @@ static _Bool test_x2goclient_network_ssh_disconnect (X2GoClientNetworkSSH *net_s
return (ret);
}
-static _Bool test_x2goclient_network_ssh (const GString * const ssh_uri) {
+static _Bool test_x2goclient_network_ssh (const GString * const ssh_uri, const _Bool use_super) {
_Bool ret = TRUE;
+ g_printf ("Testing X2GoClientNetworkSSH with ");
+ if (use_super) {
+ g_printf ("super class (X2GoClientNetwork)");
+ }
+ else {
+ g_printf ("actual class");
+ }
+ g_printf (" interactions.\n");
+
/* Create object. */
X2GoClientNetworkSSH *net_ssh = x2goclient_network_ssh_new (NULL);
@@ -296,11 +321,11 @@ static _Bool test_x2goclient_network_ssh (const GString * const ssh_uri) {
gboolean conn_ret = FALSE;
if (ret) {
- ret &= test_x2goclient_network_ssh_connect (net_ssh, &conn_ret);
+ ret &= test_x2goclient_network_ssh_connect (net_ssh, &conn_ret, use_super);
}
if (ret) {
- ret &= test_x2goclient_network_ssh_connect_after_connect (net_ssh, conn_ret);
+ ret &= test_x2goclient_network_ssh_connect_after_connect (net_ssh, conn_ret, use_super);
}
if (ret) {
@@ -309,7 +334,7 @@ static _Bool test_x2goclient_network_ssh (const GString * const ssh_uri) {
}
if (ret) {
- ret &= test_x2goclient_network_ssh_disconnect (net_ssh);
+ ret &= test_x2goclient_network_ssh_disconnect (net_ssh, use_super);
}
if (ret) {
@@ -317,7 +342,7 @@ static _Bool test_x2goclient_network_ssh (const GString * const ssh_uri) {
* Connect again, checking whether a connect-disconnect-connect cycle works
* correctly.
*/
- ret &= test_x2goclient_network_ssh_connect (net_ssh, &conn_ret);
+ ret &= test_x2goclient_network_ssh_connect (net_ssh, &conn_ret, use_super);
}
if (ret) {
@@ -353,9 +378,14 @@ int main (const int argc, const char * const * const argv) {
/* Initialize ret to failure. */
ret = EXIT_FAILURE;
- if (test_x2goclient_network_ssh (ssh_uri)) {
- /* We'll only not fail if all tests succeded. */
- ret = EXIT_SUCCESS;
+
+ /* First, do the test with concrete classes. */
+ if (test_x2goclient_network_ssh (ssh_uri, FALSE)) {
+ /* Then, with super classes. */
+ if (test_x2goclient_network_ssh (ssh_uri, TRUE)) {
+ /* We'll only not fail if all tests succeeded. */
+ ret = EXIT_SUCCESS;
+ }
}
}
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
More information about the x2go-commits
mailing list