iso-tester: Test BT_DEFER_SETUP works with getsockopt
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Wed, 3 Aug 2022 17:20:25 +0000 (10:20 -0700)
committerAyush Garg <ayush.garg@samsung.com>
Mon, 15 May 2023 09:25:54 +0000 (14:55 +0530)
This attempts to test BT_DEFER_SETUP is properly set when the test has
defer flag set.

Signed-off-by: Manika Shrivastava <manika.sh@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
tools/iso-tester.c

index cae5fb4..56c17b7 100644 (file)
@@ -1240,6 +1240,19 @@ static void setup_connect(struct test_data *data, uint8_t num, GIOFunc func)
        }
 
        if (isodata->defer) {
+               int defer;
+               socklen_t len;
+
+               /* Check if socket has DEFER_SETUP set */
+               len = sizeof(defer);
+               if (getsockopt(sk, SOL_BLUETOOTH, BT_DEFER_SETUP, &defer,
+                               &len) < 0) {
+                       tester_warn("getsockopt: %s (%d)", strerror(errno),
+                                                               errno);
+                       tester_test_failed();
+                       return;
+               }
+
                memset(&pfd, 0, sizeof(pfd));
                pfd.fd = sk;
                pfd.events = POLLOUT;