selftests/tls: fix TLS tests with CONFIG_TLS=n
authorJakub Kicinski <jakub.kicinski@netronome.com>
Mon, 29 Jul 2019 23:08:03 +0000 (16:08 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 31 Jul 2019 22:53:36 +0000 (18:53 -0400)
Build bot reports some recent TLS tests are failing
with CONFIG_TLS=n. Correct the expected return code
and skip TLS installation if not supported.

Tested with CONFIG_TLS=n and CONFIG_TLS=m.

Reported-by: kernel test robot <rong.a.chen@intel.com>
Fixes: cf32526c8842 ("selftests/tls: add a test for ULP but no keys")
Fixes: 65d41fb317c6 ("selftests/tls: add a bidirectional test")
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/tls.c

index 630c5b884d432aa6fc7a52ee541b88caa284094f..d995e6503b1ac2e53a27f00ce962e36b5bb86e48 100644 (file)
@@ -69,7 +69,7 @@ FIXTURE_SETUP(tls_basic)
 
        ret = setsockopt(self->fd, IPPROTO_TCP, TCP_ULP, "tls", sizeof("tls"));
        if (ret != 0) {
-               ASSERT_EQ(errno, ENOTSUPP);
+               ASSERT_EQ(errno, ENOENT);
                self->notls = true;
                printf("Failure setting TCP_ULP, testing without tls\n");
                return;
@@ -696,21 +696,26 @@ TEST_F(tls, recv_lowat)
 
 TEST_F(tls, bidir)
 {
-       struct tls12_crypto_info_aes_gcm_128 tls12;
        char const *test_str = "test_read";
        int send_len = 10;
        char buf[10];
        int ret;
 
-       memset(&tls12, 0, sizeof(tls12));
-       tls12.info.version = TLS_1_3_VERSION;
-       tls12.info.cipher_type = TLS_CIPHER_AES_GCM_128;
+       if (!self->notls) {
+               struct tls12_crypto_info_aes_gcm_128 tls12;
 
-       ret = setsockopt(self->fd, SOL_TLS, TLS_RX, &tls12, sizeof(tls12));
-       ASSERT_EQ(ret, 0);
+               memset(&tls12, 0, sizeof(tls12));
+               tls12.info.version = TLS_1_3_VERSION;
+               tls12.info.cipher_type = TLS_CIPHER_AES_GCM_128;
 
-       ret = setsockopt(self->cfd, SOL_TLS, TLS_TX, &tls12, sizeof(tls12));
-       ASSERT_EQ(ret, 0);
+               ret = setsockopt(self->fd, SOL_TLS, TLS_RX, &tls12,
+                                sizeof(tls12));
+               ASSERT_EQ(ret, 0);
+
+               ret = setsockopt(self->cfd, SOL_TLS, TLS_TX, &tls12,
+                                sizeof(tls12));
+               ASSERT_EQ(ret, 0);
+       }
 
        ASSERT_EQ(strlen(test_str) + 1, send_len);