diff options
author | Daiki Ueno <ueno@gnu.org> | 2021-08-31 18:37:55 +0000 |
---|---|---|
committer | Daiki Ueno <ueno@gnu.org> | 2021-08-31 18:37:55 +0000 |
commit | 6b4f1079af3eecca8f5c26db81a1dd44af939f0f (patch) | |
tree | ef41f7170990eb5734f0ee1c37dfd708dfc43abe | |
parent | f3b6739f4d243084ff402dfa2c28455487104bb3 (diff) | |
parent | 8554e98779e6b021cd4888eccda89c99b52b7f13 (diff) | |
download | gnutls-6b4f1079af3eecca8f5c26db81a1dd44af939f0f.tar.gz |
Merge branch 'terminate-fixes' into 'master'
Avoid tests killing entire process groups
See merge request gnutls/gnutls!1463
54 files changed, 132 insertions, 111 deletions
diff --git a/tests/alerts.c b/tests/alerts.c index 7e9b20667c..6bc2868add 100644 --- a/tests/alerts.c +++ b/tests/alerts.c @@ -125,13 +125,13 @@ static void client(int fd, const char *prio, int ign) ret = gnutls_alert_send(session, GNUTLS_AL_WARNING, GNUTLS_A_USER_CANCELED); if (ret < 0) { fail("server: Error sending user cancelled alert: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } ret = gnutls_alert_send(session, GNUTLS_AL_FATAL, GNUTLS_A_DECRYPT_ERROR); if (ret < 0) { fail("server: Error sending decrypt error alert: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } close(fd); @@ -149,6 +149,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/alpn-server-prec.c b/tests/alpn-server-prec.c index 0461c5d39a..115522c843 100644 --- a/tests/alpn-server-prec.c +++ b/tests/alpn-server-prec.c @@ -160,7 +160,7 @@ static void client(int fd, const char *protocol0, const char *protocol1, const c static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/client-fastopen.c b/tests/client-fastopen.c index 5a1457a8e8..cf527ffeda 100644 --- a/tests/client-fastopen.c +++ b/tests/client-fastopen.c @@ -154,6 +154,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/custom-urls-override.c b/tests/custom-urls-override.c index 8ce3606cf9..1ed55b2fde 100644 --- a/tests/custom-urls-override.c +++ b/tests/custom-urls-override.c @@ -140,6 +140,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/custom-urls.c b/tests/custom-urls.c index a7295a174c..81bf8353f9 100644 --- a/tests/custom-urls.c +++ b/tests/custom-urls.c @@ -137,6 +137,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/dtls-client-with-seccomp.c b/tests/dtls-client-with-seccomp.c index 7fc77263b4..c39068c18b 100644 --- a/tests/dtls-client-with-seccomp.c +++ b/tests/dtls-client-with-seccomp.c @@ -169,7 +169,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/dtls-etm.c b/tests/dtls-etm.c index 765bc1fb19..1a8c1b55aa 100644 --- a/tests/dtls-etm.c +++ b/tests/dtls-etm.c @@ -180,6 +180,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/dtls-rehandshake-anon.c b/tests/dtls-rehandshake-anon.c index e102a54b3e..f281f5d3fa 100644 --- a/tests/dtls-rehandshake-anon.c +++ b/tests/dtls-rehandshake-anon.c @@ -145,7 +145,7 @@ static void client(int fd, int server_init) if (ret < 0) { fail("2nd client gnutls_handshake: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } } else { do { @@ -200,7 +200,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/dtls-rehandshake-cert-2.c b/tests/dtls-rehandshake-cert-2.c index e16372b5ef..c9d50585a8 100644 --- a/tests/dtls-rehandshake-cert-2.c +++ b/tests/dtls-rehandshake-cert-2.c @@ -153,7 +153,7 @@ static void client(int fd, int server_init, const char *prio) if (ret < 0) { fail("2nd client gnutls_handshake: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } } else { do { @@ -205,7 +205,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/dtls-rehandshake-cert-3.c b/tests/dtls-rehandshake-cert-3.c index b537a2b670..855f63cee6 100644 --- a/tests/dtls-rehandshake-cert-3.c +++ b/tests/dtls-rehandshake-cert-3.c @@ -212,7 +212,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/dtls-rehandshake-cert.c b/tests/dtls-rehandshake-cert.c index 0591c771eb..3439ee9e93 100644 --- a/tests/dtls-rehandshake-cert.c +++ b/tests/dtls-rehandshake-cert.c @@ -146,7 +146,7 @@ static void client(int fd, int server_init, const char *prio) if (ret < 0) { fail("2nd client gnutls_handshake: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } } else { do { @@ -201,7 +201,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/dtls-with-seccomp.c b/tests/dtls-with-seccomp.c index fa46c3dfc9..357c3336c4 100644 --- a/tests/dtls-with-seccomp.c +++ b/tests/dtls-with-seccomp.c @@ -160,7 +160,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/fallback-scsv.c b/tests/fallback-scsv.c index aeaa9d8056..d823e625a7 100644 --- a/tests/fallback-scsv.c +++ b/tests/fallback-scsv.c @@ -161,6 +161,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/key-material-dtls.c b/tests/key-material-dtls.c index 195afd0795..e54500d7bf 100644 --- a/tests/key-material-dtls.c +++ b/tests/key-material-dtls.c @@ -83,8 +83,10 @@ static void terminate(void) { int status = 0; - kill(child, SIGTERM); - wait(&status); + if (child) { + kill(child, SIGTERM); + wait(&status); + } exit(1); } @@ -141,7 +143,7 @@ static void client(int fd) if (ret < 0) { fail("client: Handshake failed: %s\n", strerror(ret)); - terminate(); + exit(1); } else { if (debug) success("client: Handshake was completed\n"); @@ -155,13 +157,13 @@ static void client(int fd) ret = gnutls_cipher_get(session); if (ret != GNUTLS_CIPHER_AES_128_CBC) { fprintf(stderr, "negotiated unexpected cipher: %s\n", gnutls_cipher_get_name(ret)); - terminate(); + exit(1); } ret = gnutls_mac_get(session); if (ret != GNUTLS_MAC_SHA1) { fprintf(stderr, "negotiated unexpected mac: %s\n", gnutls_mac_get_name(ret)); - terminate(); + exit(1); } iv_size = 16; @@ -174,7 +176,7 @@ static void client(int fd) if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } p = key_material; @@ -183,33 +185,33 @@ static void client(int fd) if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } if (memcmp(wseq_number, "\x00\x01\x00\x00\x00\x00\x00\x01", 8) != 0) { dump("wseq:", wseq_number, 8); fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } ret = gnutls_record_get_state(session, 1, &read_mac_key, &read_iv, &read_cipher_key, rseq_number); if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } if (memcmp(rseq_number, "\x00\x01\x00\x00\x00\x00\x00\x01", 8) != 0) { dump("rseq:", rseq_number, 8); fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } if (hash_size != mac_key.size || memcmp(p, mac_key.data, hash_size) != 0) { dump("MAC:", mac_key.data, mac_key.size); dump("Block:", key_material, block_size); fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } p+= hash_size; @@ -217,19 +219,19 @@ static void client(int fd) dump("MAC:", read_mac_key.data, read_mac_key.size); dump("Block:", key_material, block_size); fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } p+= hash_size; if (key_size != cipher_key.size || memcmp(p, cipher_key.data, key_size) != 0) { fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } p+= key_size; if (key_size != read_cipher_key.size || memcmp(p, read_cipher_key.data, key_size) != 0) { fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } p+= key_size; @@ -246,13 +248,13 @@ static void client(int fd) if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } if (memcmp(wseq_number, "\x00\x01\x00\x00\x00\x00\x00\x06", 8) != 0) { dump("wseq:", wseq_number, 8); fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } memset(rseq_number, 0xAA, sizeof(rseq_number)); @@ -260,13 +262,13 @@ static void client(int fd) if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } if (memcmp(rseq_number, "\x00\x01\x00\x00\x00\x00\x00\x01", 8) != 0) { dump("rseq:", rseq_number, 8); fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } gnutls_bye(session, GNUTLS_SHUT_WR); diff --git a/tests/key-material-set-dtls.c b/tests/key-material-set-dtls.c index 4a569162bb..6e6d6d2df5 100644 --- a/tests/key-material-set-dtls.c +++ b/tests/key-material-set-dtls.c @@ -71,8 +71,10 @@ static void terminate(void) { int status = 0; - kill(child, SIGTERM); - wait(&status); + if (child) { + kill(child, SIGTERM); + wait(&status); + } exit(1); } @@ -127,7 +129,7 @@ static void client(int fd) if (ret < 0) { fail("client: Handshake failed: %s\n", strerror(ret)); - terminate(); + exit(1); } else { if (debug) success("client: Handshake was completed\n"); @@ -141,13 +143,13 @@ static void client(int fd) ret = gnutls_cipher_get(session); if (ret != GNUTLS_CIPHER_AES_128_CBC) { fprintf(stderr, "negotiated unexpected cipher: %s\n", gnutls_cipher_get_name(ret)); - terminate(); + exit(1); } ret = gnutls_mac_get(session); if (ret != GNUTLS_MAC_SHA1) { fprintf(stderr, "negotiated unexpected mac: %s\n", gnutls_mac_get_name(ret)); - terminate(); + exit(1); } /* save state */ @@ -155,14 +157,14 @@ static void client(int fd) if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } ret = gnutls_record_get_state(session, 1, NULL, NULL, NULL, rseq_number); if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } /* skip past the sliding window */ @@ -187,14 +189,14 @@ static void client(int fd) if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } ret = gnutls_record_set_state(session, 1, rseq_number); if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } ret = gnutls_record_send(session, "ping", 4); diff --git a/tests/keylog-func.c b/tests/keylog-func.c index 4350698e6b..8145c55d1d 100644 --- a/tests/keylog-func.c +++ b/tests/keylog-func.c @@ -303,8 +303,10 @@ static void terminate(void) { int status = 0; - kill(child, SIGTERM); - wait(&status); + if (child) { + kill(child, SIGTERM); + wait(&status); + } exit(1); } diff --git a/tests/mini-alpn.c b/tests/mini-alpn.c index bed981451a..a8c9eb50af 100644 --- a/tests/mini-alpn.c +++ b/tests/mini-alpn.c @@ -162,7 +162,7 @@ static void client(int fd, const char *protocol0, const char *protocol2, const c static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/mini-dtls-discard.c b/tests/mini-dtls-discard.c index 2ad841b1d8..7b0d23ed5a 100644 --- a/tests/mini-dtls-discard.c +++ b/tests/mini-dtls-discard.c @@ -169,7 +169,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/mini-dtls-fork.c b/tests/mini-dtls-fork.c index b3164ef65c..f7b0ee7f60 100644 --- a/tests/mini-dtls-fork.c +++ b/tests/mini-dtls-fork.c @@ -56,7 +56,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/mini-dtls-heartbeat.c b/tests/mini-dtls-heartbeat.c index cb575f9b2c..c5ca28b1a7 100644 --- a/tests/mini-dtls-heartbeat.c +++ b/tests/mini-dtls-heartbeat.c @@ -142,7 +142,7 @@ static void client(int fd, int server_init) if (ret2 < 0) { fail("pong: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } } } @@ -151,7 +151,7 @@ static void client(int fd, int server_init) if (ret < 0) { fail("recv: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } } else { do { @@ -167,7 +167,7 @@ static void client(int fd, int server_init) if (ret < 0) { fail("ping: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } } @@ -205,7 +205,7 @@ static gnutls_session_t initialize_tls_session(void) static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/mini-dtls-hello-verify.c b/tests/mini-dtls-hello-verify.c index 1029c86877..8019313987 100644 --- a/tests/mini-dtls-hello-verify.c +++ b/tests/mini-dtls-hello-verify.c @@ -167,7 +167,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/mini-dtls-large.c b/tests/mini-dtls-large.c index 8ae5c6905b..96e2a15b99 100644 --- a/tests/mini-dtls-large.c +++ b/tests/mini-dtls-large.c @@ -132,7 +132,7 @@ static void client(int fd) if (ret < 0) { fail("recv: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } close(fd); diff --git a/tests/mini-dtls-lowmtu.c b/tests/mini-dtls-lowmtu.c index a04d6227ef..6f8da5c597 100644 --- a/tests/mini-dtls-lowmtu.c +++ b/tests/mini-dtls-lowmtu.c @@ -199,6 +199,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/mini-dtls-mtu.c b/tests/mini-dtls-mtu.c index fa79cd6447..d48c328a07 100644 --- a/tests/mini-dtls-mtu.c +++ b/tests/mini-dtls-mtu.c @@ -201,7 +201,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/mini-dtls-record-asym.c b/tests/mini-dtls-record-asym.c index 234e51b109..59e7467b13 100644 --- a/tests/mini-dtls-record-asym.c +++ b/tests/mini-dtls-record-asym.c @@ -239,7 +239,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/mini-dtls-record.c b/tests/mini-dtls-record.c index 4d24f3b33f..bcda720391 100644 --- a/tests/mini-dtls-record.c +++ b/tests/mini-dtls-record.c @@ -247,12 +247,12 @@ static void client(int fd) if (recv_msg_seq[current] == -1) { fail("received message sequence differs\n"); - terminate(); + exit(1); } if (((uint32_t)recv_msg_seq[current]) != useq) { fail("received message sequence differs (current: %u, got: %u, expected: %u)\n", (unsigned)current, (unsigned)useq, (unsigned)recv_msg_seq[current]); - terminate(); + exit(1); } current++; @@ -275,7 +275,7 @@ static void client(int fd) static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/mini-dtls-srtp.c b/tests/mini-dtls-srtp.c index 78c03b3d1e..1d40d734c1 100644 --- a/tests/mini-dtls-srtp.c +++ b/tests/mini-dtls-srtp.c @@ -184,7 +184,7 @@ static void client(int fd, int profile) static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/mini-dtls0-9.c b/tests/mini-dtls0-9.c index 496df46aab..1877f7c485 100644 --- a/tests/mini-dtls0-9.c +++ b/tests/mini-dtls0-9.c @@ -178,7 +178,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/mini-key-material.c b/tests/mini-key-material.c index aa7af6dd02..39493d92f4 100644 --- a/tests/mini-key-material.c +++ b/tests/mini-key-material.c @@ -82,8 +82,10 @@ static void terminate(void) { int status = 0; - kill(child, SIGTERM); - wait(&status); + if (child) { + kill(child, SIGTERM); + wait(&status); + } exit(1); } @@ -140,7 +142,7 @@ static void client(int fd) if (ret < 0) { fail("client: Handshake failed: %s\n", strerror(ret)); - terminate(); + exit(1); } else { if (debug) success("client: Handshake was completed\n"); @@ -154,13 +156,13 @@ static void client(int fd) ret = gnutls_cipher_get(session); if (ret != GNUTLS_CIPHER_AES_128_CBC) { fprintf(stderr, "negotiated unexpected cipher: %s\n", gnutls_cipher_get_name(ret)); - terminate(); + exit(1); } ret = gnutls_mac_get(session); if (ret != GNUTLS_MAC_SHA1) { fprintf(stderr, "negotiated unexpected mac: %s\n", gnutls_mac_get_name(ret)); - terminate(); + exit(1); } iv_size = 16; @@ -173,7 +175,7 @@ static void client(int fd) if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } p = key_material; @@ -182,33 +184,33 @@ static void client(int fd) if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } if (memcmp(wseq_number, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) != 0) { dump("wseq:", wseq_number, 8); fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } ret = gnutls_record_get_state(session, 1, &read_mac_key, &read_iv, &read_cipher_key, rseq_number); if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } if (memcmp(rseq_number, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) != 0) { dump("rseq:", rseq_number, 8); fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } if (hash_size != mac_key.size || memcmp(p, mac_key.data, hash_size) != 0) { dump("MAC:", mac_key.data, mac_key.size); dump("Block:", key_material, block_size); fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } p+= hash_size; @@ -216,31 +218,31 @@ static void client(int fd) dump("MAC:", read_mac_key.data, read_mac_key.size); dump("Block:", key_material, block_size); fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } p+= hash_size; if (key_size != cipher_key.size || memcmp(p, cipher_key.data, key_size) != 0) { fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } p+= key_size; if (key_size != read_cipher_key.size || memcmp(p, read_cipher_key.data, key_size) != 0) { fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } p+= key_size; if (iv_size != iv.size || memcmp(p, iv.data, iv_size) != 0) { fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } p+=iv_size; if (iv_size != read_iv.size || memcmp(p, read_iv.data, iv_size) != 0) { fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } /* check sequence numbers */ @@ -255,26 +257,26 @@ static void client(int fd) if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } if (memcmp(wseq_number, "\x00\x00\x00\x00\x00\x00\x00\x06", 8) != 0) { dump("wseq:", wseq_number, 8); fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } ret = gnutls_record_get_state(session, 1, NULL, NULL, NULL, rseq_number); if (ret < 0) { fprintf(stderr, "error in %d\n", __LINE__); gnutls_perror(ret); - terminate(); + exit(1); } if (memcmp(rseq_number, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) != 0) { dump("wseq:", wseq_number, 8); fprintf(stderr, "error in %d\n", __LINE__); - terminate(); + exit(1); } gnutls_bye(session, GNUTLS_SHUT_WR); diff --git a/tests/mini-overhead.c b/tests/mini-overhead.c index 6cd230d2df..4496491884 100644 --- a/tests/mini-overhead.c +++ b/tests/mini-overhead.c @@ -214,6 +214,7 @@ static gnutls_session_t initialize_tls_session(const char *prio) static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/mini-record-2.c b/tests/mini-record-2.c index 578766b208..6a73ad98d8 100644 --- a/tests/mini-record-2.c +++ b/tests/mini-record-2.c @@ -182,7 +182,7 @@ static void client(int fd, const char *prio, int ign) if (ret < 0) { fail("server (%s): Error sending %d byte packet: %s\n", prio, i, gnutls_strerror(ret)); - terminate(); + exit(1); } } @@ -248,6 +248,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/mini-record-failure.c b/tests/mini-record-failure.c index da4e31354f..5eb2eff216 100644 --- a/tests/mini-record-failure.c +++ b/tests/mini-record-failure.c @@ -158,7 +158,7 @@ static void client(int fd, const char *prio, int ign) if (ret < 0) { fail("client[%s]: Error sending packet: %s\n", prio, gnutls_strerror(ret)); - terminate(); + exit(1); } gnutls_bye(session, GNUTLS_SHUT_WR); @@ -179,6 +179,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/mini-record-range.c b/tests/mini-record-range.c index f0f0b25723..4c4242a6ea 100644 --- a/tests/mini-record-range.c +++ b/tests/mini-record-range.c @@ -177,6 +177,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/mini-record.c b/tests/mini-record.c index 8a912a425c..4081cdeb7a 100644 --- a/tests/mini-record.c +++ b/tests/mini-record.c @@ -214,6 +214,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/mini-server-name.c b/tests/mini-server-name.c index 4f241c66ff..cc431adc11 100644 --- a/tests/mini-server-name.c +++ b/tests/mini-server-name.c @@ -148,6 +148,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/mini-termination.c b/tests/mini-termination.c index f0b232cefa..2bb2d4735e 100644 --- a/tests/mini-termination.c +++ b/tests/mini-termination.c @@ -200,6 +200,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/mini-tls-nonblock.c b/tests/mini-tls-nonblock.c index 4a58bcdeec..b2c6578b88 100644 --- a/tests/mini-tls-nonblock.c +++ b/tests/mini-tls-nonblock.c @@ -218,6 +218,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/prf.c b/tests/prf.c index aa4f36af6a..02a174d5ac 100644 --- a/tests/prf.c +++ b/tests/prf.c @@ -346,8 +346,10 @@ static void terminate(void) { int status = 0; - kill(child, SIGTERM); - wait(&status); + if (child) { + kill(child, SIGTERM); + wait(&status); + } exit(1); } diff --git a/tests/record-pad.c b/tests/record-pad.c index 1402a9ad93..f625163179 100644 --- a/tests/record-pad.c +++ b/tests/record-pad.c @@ -181,6 +181,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/record-retvals.c b/tests/record-retvals.c index 84328b9652..9d3d131e76 100644 --- a/tests/record-retvals.c +++ b/tests/record-retvals.c @@ -182,12 +182,12 @@ static void client(int fd, const char *prio, int ign) if (ret < 0) { fail("server (%s): Error sending %d byte packet: %s\n", prio, i, gnutls_strerror(ret)); - terminate(); + exit(1); } if (ret > 0 && ret != (int)i) { fail("server (%s): Error sending %d byte packet: sent: %d\n", prio, i, ret); - terminate(); + exit(1); } } @@ -257,6 +257,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/recv-data-before-handshake.c b/tests/recv-data-before-handshake.c index 0aedfca47b..98a5645c8c 100644 --- a/tests/recv-data-before-handshake.c +++ b/tests/recv-data-before-handshake.c @@ -186,6 +186,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/send-data-before-handshake.c b/tests/send-data-before-handshake.c index 53c60aadf5..b2ab6aa966 100644 --- a/tests/send-data-before-handshake.c +++ b/tests/send-data-before-handshake.c @@ -50,8 +50,6 @@ int main() #include "cert-common.h" #include "utils.h" -static void terminate(void); - /* This program tests that a client cannot send any unencrypted data * during the handshake process. That is to ensure we protect buggy clients * from transmitting sensitive data over the wire. @@ -135,7 +133,7 @@ static void client(int fd, const char *prio) if (ret < 0) { fail("client: Handshake failed: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } else { if (debug) success("client: Handshake was completed\n"); @@ -160,7 +158,7 @@ static void client(int fd, const char *prio) goto end; } else if (ret < 0) { fail("client: Error: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } gnutls_bye(session, GNUTLS_SHUT_WR); @@ -180,12 +178,6 @@ static void client(int fd, const char *prio) /* These are global */ pid_t child; -static void terminate(void) -{ - kill(child, SIGTERM); - exit(1); -} - static void server(int fd, const char *prio) { int ret; diff --git a/tests/session-tickets-missing.c b/tests/session-tickets-missing.c index 8b7b9ffda9..aaa1caea13 100644 --- a/tests/session-tickets-missing.c +++ b/tests/session-tickets-missing.c @@ -52,8 +52,6 @@ int main() #include "cert-common.h" #include "utils.h" -static void terminate(void); - /* This program tests that handshakes do not include a session ticket * if the flag GNUTLS_NO_TICKETS is specified under TLS 1.2. * @@ -139,7 +137,7 @@ static void client(int fd, const char *prio, unsigned int flags) if (ret < 0) { fail("client: Handshake failed: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } else { if (debug) success("client: Handshake was completed\n"); @@ -167,12 +165,6 @@ static void client(int fd, const char *prio, unsigned int flags) /* These are global */ pid_t child; -static void terminate(void) -{ - kill(child, SIGTERM); - exit(1); -} - static void server(int fd, const char *prio, unsigned int flags) { int ret; diff --git a/tests/session-tickets-ok.c b/tests/session-tickets-ok.c index 56aae5063c..ce06b222e3 100644 --- a/tests/session-tickets-ok.c +++ b/tests/session-tickets-ok.c @@ -112,7 +112,7 @@ static void client(int fd, const char *prio) if (ret < 0) { fail("client: Handshake failed: %s\n", gnutls_strerror(ret)); - terminate(); + exit(1); } else { if (debug) success("client: Handshake was completed\n"); @@ -140,6 +140,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/srp.c b/tests/srp.c index 64eb52aaf2..6fb0f02cd6 100644 --- a/tests/srp.c +++ b/tests/srp.c @@ -186,7 +186,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/tls-client-with-seccomp.c b/tests/tls-client-with-seccomp.c index 53e8e97239..dc78737ef7 100644 --- a/tests/tls-client-with-seccomp.c +++ b/tests/tls-client-with-seccomp.c @@ -158,7 +158,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/tls-etm.c b/tests/tls-etm.c index 7a5d707698..17da1e2a5b 100644 --- a/tests/tls-etm.c +++ b/tests/tls-etm.c @@ -180,6 +180,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/tls-with-seccomp.c b/tests/tls-with-seccomp.c index 9aff7a95a3..21340fd95c 100644 --- a/tests/tls-with-seccomp.c +++ b/tests/tls-with-seccomp.c @@ -150,7 +150,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); diff --git a/tests/tls12-rehandshake-cert-2.c b/tests/tls12-rehandshake-cert-2.c index c1e3013ff1..3a96f5b73a 100644 --- a/tests/tls12-rehandshake-cert-2.c +++ b/tests/tls12-rehandshake-cert-2.c @@ -202,6 +202,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/tls12-rehandshake-cert-3.c b/tests/tls12-rehandshake-cert-3.c index 1d3d61fc9a..4fcbc6c3ae 100644 --- a/tests/tls12-rehandshake-cert-3.c +++ b/tests/tls12-rehandshake-cert-3.c @@ -167,6 +167,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/tls13/key_limits.c b/tests/tls13/key_limits.c index d76bcde428..e2e533aebe 100644 --- a/tests/tls13/key_limits.c +++ b/tests/tls13/key_limits.c @@ -182,6 +182,7 @@ pid_t child; static void terminate(void) { + assert(child); kill(child, SIGTERM); exit(1); } diff --git a/tests/tls13/prf-early.c b/tests/tls13/prf-early.c index cd4813671c..b97dc2424a 100644 --- a/tests/tls13/prf-early.c +++ b/tests/tls13/prf-early.c @@ -286,8 +286,10 @@ static void terminate(void) { int status = 0; - kill(child, SIGTERM); - wait(&status); + if (child) { + kill(child, SIGTERM); + wait(&status); + } exit(1); } diff --git a/tests/tls13/prf.c b/tests/tls13/prf.c index e03544a042..a83fda5ce6 100644 --- a/tests/tls13/prf.c +++ b/tests/tls13/prf.c @@ -257,8 +257,10 @@ static void terminate(void) { int status = 0; - kill(child, SIGTERM); - wait(&status); + if (child) { + kill(child, SIGTERM); + wait(&status); + } exit(1); } diff --git a/tests/tlsext-decoding.c b/tests/tlsext-decoding.c index b0734b4b11..2794d2c5e3 100644 --- a/tests/tlsext-decoding.c +++ b/tests/tlsext-decoding.c @@ -174,7 +174,7 @@ pid_t child; static void terminate(void) { int status; - + assert(child); kill(child, SIGTERM); wait(&status); exit(1); |