aboutsummaryrefslogtreecommitdiffstats
path: root/utils/cec-compliance
diff options
context:
space:
mode:
authorHans Verkuil <hansverk@cisco.com>2018-09-20 12:57:47 +0200
committerHans Verkuil <hansverk@cisco.com>2018-09-20 12:57:47 +0200
commitd977e20a45a03543c4bdfeb3aef5211446de7398 (patch)
treed04cd5bbc62c48a8d3e0c51827f4def85b3a8adf /utils/cec-compliance
parent63af016bd5e6c11a48b03d4c1d703c9139476324 (diff)
cec-compliance: split up combines tests
There were a lot of fail_on_test(test1 || test2 || test3) checks that made debugging harder than it needs to be since you don't know which of the three tests failed. So split them all up into separate fail_on_test checks. Signed-off-by: Hans Verkuil <hansverk@cisco.com>
Diffstat (limited to 'utils/cec-compliance')
-rw-r--r--utils/cec-compliance/cec-test-adapter.cpp155
1 files changed, 106 insertions, 49 deletions
diff --git a/utils/cec-compliance/cec-test-adapter.cpp b/utils/cec-compliance/cec-test-adapter.cpp
index 14395ac6..4db97f32 100644
--- a/utils/cec-compliance/cec-test-adapter.cpp
+++ b/utils/cec-compliance/cec-test-adapter.cpp
@@ -175,9 +175,9 @@ int testAdapLogAddrs(struct node *node)
fail_on_test(check_0(laddrs.features[i] + 4, 8));
}
for (unsigned i = laddrs.num_log_addrs; i < CEC_MAX_LOG_ADDRS; i++) {
- fail_on_test(laddrs.log_addr_type[i] ||
- laddrs.primary_device_type[i] ||
- laddrs.all_device_types[i]);
+ fail_on_test(laddrs.log_addr_type[i]);
+ fail_on_test(laddrs.primary_device_type[i]);
+ fail_on_test(laddrs.all_device_types[i]);
fail_on_test(check_0(laddrs.features[i], sizeof(laddrs.features[i])));
}
fail_on_test(doioctl(node, CEC_ADAP_S_LOG_ADDRS, &laddrs) != EBUSY);
@@ -275,11 +275,17 @@ int testTransmit(struct node *node)
fail_on_test(msg.len != 1);
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
- fail_on_test(msg.timeout || msg.reply);
- fail_on_test(msg.flags || msg.rx_status || msg.rx_ts);
- fail_on_test(msg.tx_status == 0 || msg.tx_ts == 0 || msg.tx_ts == ~0ULL);
+ fail_on_test(msg.timeout);
+ fail_on_test(msg.reply);
+ fail_on_test(msg.flags);
+ fail_on_test(msg.rx_status);
+ fail_on_test(msg.rx_ts);
+ fail_on_test(msg.tx_status == 0);
+ fail_on_test(msg.tx_ts == 0);
+ fail_on_test(msg.tx_ts == ~0ULL);
fail_on_test(msg.msg[0] != (0xf0 | i));
- fail_on_test(msg.sequence == 0 || msg.sequence == ~0U);
+ fail_on_test(msg.sequence == 0);
+ fail_on_test(msg.sequence == ~0U);
fail_on_test(msg.tx_status & ~0x3f);
fail_on_test((msg.tx_status & tx_ok_retry_mask) == tx_ok_retry_mask);
fail_on_test(!(msg.tx_status & tx_ok_retry_mask));
@@ -316,10 +322,13 @@ int testTransmit(struct node *node)
fail_on_test(msg.timeout != 1001);
fail_on_test(msg.sequence == 0 || msg.sequence == ~0U);
fail_on_test(msg.reply != CEC_MSG_REPORT_PHYSICAL_ADDR);
- fail_on_test(msg.rx_ts == 0 || msg.rx_ts == ~0ULL);
- fail_on_test(msg.rx_status == 0 || msg.flags);
+ fail_on_test(msg.rx_ts == 0);
+ fail_on_test(msg.rx_ts == ~0ULL);
+ fail_on_test(msg.flags);
+ fail_on_test(msg.rx_status == 0);
fail_on_test(msg.rx_status & ~0x07);
- fail_on_test(msg.tx_ts == 0 || msg.tx_ts == ~0ULL);
+ fail_on_test(msg.tx_ts == 0);
+ fail_on_test(msg.tx_ts == ~0ULL);
fail_on_test(msg.rx_ts <= msg.tx_ts);
fail_on_test((msg.tx_status & tx_ok_retry_mask) == tx_ok_retry_mask);
fail_on_test(msg.tx_nack_cnt == 0xff);
@@ -337,8 +346,11 @@ int testTransmit(struct node *node)
fail_on_test(msg.sequence == 0 || msg.sequence == ~0U);
fail_on_test(msg.reply);
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
- fail_on_test(msg.rx_status || msg.rx_ts || msg.flags);
- fail_on_test(msg.tx_ts == 0 || msg.tx_ts == ~0ULL);
+ fail_on_test(msg.rx_status);
+ fail_on_test(msg.rx_ts);
+ fail_on_test(msg.flags);
+ fail_on_test(msg.tx_ts == 0);
+ fail_on_test(msg.tx_ts == ~0ULL);
fail_on_test(!(msg.tx_status & CEC_TX_STATUS_OK));
fail_on_test((msg.tx_status & tx_ok_retry_mask) == tx_ok_retry_mask);
fail_on_test(msg.tx_nack_cnt == 0xff);
@@ -358,15 +370,18 @@ int testTransmit(struct node *node)
cec_msg_give_physical_addr(&msg, true);
fail_on_test(doioctl(node, CEC_TRANSMIT, &msg));
fail_on_test(msg.timeout != 1002);
- fail_on_test(msg.sequence == 0 || msg.sequence == ~0U);
+ fail_on_test(msg.sequence == 0);
+ fail_on_test(msg.sequence == ~0U);
fail_on_test(msg.len != 2);
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
fail_on_test(msg.flags);
fail_on_test(msg.reply != CEC_MSG_REPORT_PHYSICAL_ADDR);
fail_on_test(!(msg.tx_status & CEC_TX_STATUS_MAX_RETRIES));
fail_on_test((msg.tx_status & tx_ok_retry_mask) == tx_ok_retry_mask);
- fail_on_test(msg.rx_ts || msg.rx_status);
- fail_on_test(msg.tx_ts == 0 || msg.tx_ts == ~0ULL);
+ fail_on_test(msg.rx_status);
+ fail_on_test(msg.rx_ts);
+ fail_on_test(msg.tx_ts == 0);
+ fail_on_test(msg.tx_ts == ~0ULL);
fail_on_test(msg.tx_nack_cnt == 0xff);
fail_on_test(msg.tx_arb_lost_cnt == 0xff);
fail_on_test(msg.tx_low_drive_cnt == 0xff);
@@ -379,12 +394,16 @@ int testTransmit(struct node *node)
cec_msg_give_physical_addr(&msg, false);
fail_on_test(doioctl(node, CEC_TRANSMIT, &msg));
fail_on_test(msg.timeout);
- fail_on_test(msg.sequence == 0 || msg.sequence == ~0U);
+ fail_on_test(msg.sequence == 0);
+ fail_on_test(msg.sequence == ~0U);
fail_on_test(msg.reply);
fail_on_test(msg.len != 2);
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
- fail_on_test(msg.rx_status || msg.rx_ts || msg.flags);
- fail_on_test(msg.tx_ts == 0 || msg.tx_ts == ~0ULL);
+ fail_on_test(msg.rx_status);
+ fail_on_test(msg.rx_ts);
+ fail_on_test(msg.flags);
+ fail_on_test(msg.tx_ts == 0);
+ fail_on_test(msg.tx_ts == ~0ULL);
fail_on_test(!(msg.tx_status & CEC_TX_STATUS_MAX_RETRIES));
fail_on_test((msg.tx_status & tx_ok_retry_mask) == tx_ok_retry_mask);
fail_on_test(msg.tx_nack_cnt == 0xff);
@@ -486,15 +505,21 @@ int testReceive(struct node *node)
msg.timeout = 1500;
fail_on_test(doioctl(node, CEC_RECEIVE, &msg));
- fail_on_test(msg.tx_ts || msg.tx_status || msg.tx_arb_lost_cnt ||
- msg.tx_nack_cnt || msg.tx_low_drive_cnt || msg.tx_error_cnt);
+ fail_on_test(msg.tx_ts);
+ fail_on_test(msg.tx_status);
+ fail_on_test(msg.tx_arb_lost_cnt);
+ fail_on_test(msg.tx_nack_cnt);
+ fail_on_test(msg.tx_low_drive_cnt);
+ fail_on_test(msg.tx_error_cnt);
fail_on_test(msg.timeout != 1500);
- fail_on_test(msg.len != 5 || msg.msg[1] != CEC_MSG_REPORT_PHYSICAL_ADDR);
+ fail_on_test(msg.len != 5);
+ fail_on_test(msg.msg[1] != CEC_MSG_REPORT_PHYSICAL_ADDR);
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
fail_on_test(msg.msg[0] != ((remote_la << 4) | 0xf));
fail_on_test(msg.sequence);
fail_on_test(msg.rx_ts == 0);
- fail_on_test(msg.flags || msg.reply);
+ fail_on_test(msg.flags);
+ fail_on_test(msg.reply);
fail_on_test(msg.rx_status != CEC_RX_STATUS_OK);
return 0;
@@ -539,13 +564,19 @@ int testNonBlocking(struct node *node)
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
fail_on_test(msg.msg[0] != ((la << 4) | invalid_remote));
fail_on_test(msg.msg[1] != CEC_MSG_GIVE_PHYSICAL_ADDR);
- fail_on_test(msg.timeout || msg.flags);
- fail_on_test(msg.sequence == 0 || msg.sequence == ~0U);
+ fail_on_test(msg.timeout);
+ fail_on_test(msg.flags);
+ fail_on_test(msg.sequence == 0);
+ fail_on_test(msg.sequence == ~0U);
fail_on_test(msg.reply);
fail_on_test(msg.tx_status);
- fail_on_test(msg.rx_ts || msg.rx_status);
- fail_on_test(msg.tx_ts || msg.tx_nack_cnt || msg.tx_arb_lost_cnt ||
- msg.tx_low_drive_cnt || msg.tx_error_cnt);
+ fail_on_test(msg.rx_ts);
+ fail_on_test(msg.rx_status);
+ fail_on_test(msg.tx_ts);
+ fail_on_test(msg.tx_nack_cnt);
+ fail_on_test(msg.tx_arb_lost_cnt);
+ fail_on_test(msg.tx_low_drive_cnt);
+ fail_on_test(msg.tx_error_cnt);
seq = msg.sequence;
sleep(1);
@@ -560,7 +591,8 @@ int testNonBlocking(struct node *node)
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
fail_on_test(msg.msg[0] != ((la << 4) | invalid_remote));
fail_on_test(msg.msg[1] != CEC_MSG_GIVE_PHYSICAL_ADDR);
- fail_on_test(msg.timeout != 1500 || msg.flags);
+ fail_on_test(msg.timeout != 1500);
+ fail_on_test(msg.flags);
fail_on_test(msg.reply);
fail_on_test(!(msg.tx_status & CEC_TX_STATUS_MAX_RETRIES));
fail_on_test((msg.tx_status & tx_ok_retry_mask) == tx_ok_retry_mask);
@@ -568,7 +600,8 @@ int testNonBlocking(struct node *node)
fail_on_test(msg.tx_arb_lost_cnt == 0xff);
fail_on_test(msg.tx_low_drive_cnt == 0xff);
fail_on_test(msg.tx_error_cnt == 0xff);
- fail_on_test(msg.rx_ts || msg.rx_status);
+ fail_on_test(msg.rx_ts);
+ fail_on_test(msg.rx_status);
break;
}
@@ -583,13 +616,19 @@ int testNonBlocking(struct node *node)
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
fail_on_test(msg.msg[0] != ((la << 4) | invalid_remote));
fail_on_test(msg.msg[1] != CEC_MSG_GIVE_PHYSICAL_ADDR);
- fail_on_test(msg.timeout != 1000 || msg.flags);
- fail_on_test(msg.sequence == 0 || msg.sequence == ~0U);
+ fail_on_test(msg.timeout != 1000);
+ fail_on_test(msg.flags);
+ fail_on_test(msg.sequence == 0);
+ fail_on_test(msg.sequence == ~0U);
fail_on_test(msg.reply != CEC_MSG_REPORT_PHYSICAL_ADDR);
fail_on_test(msg.tx_status);
- fail_on_test(msg.rx_ts || msg.rx_status);
- fail_on_test(msg.tx_ts || msg.tx_nack_cnt || msg.tx_arb_lost_cnt ||
- msg.tx_low_drive_cnt || msg.tx_error_cnt);
+ fail_on_test(msg.rx_ts);
+ fail_on_test(msg.rx_status);
+ fail_on_test(msg.tx_ts);
+ fail_on_test(msg.tx_nack_cnt);
+ fail_on_test(msg.tx_arb_lost_cnt);
+ fail_on_test(msg.tx_low_drive_cnt);
+ fail_on_test(msg.tx_error_cnt);
seq = msg.sequence;
sleep(1);
@@ -604,7 +643,8 @@ int testNonBlocking(struct node *node)
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
fail_on_test(msg.msg[0] != ((la << 4) | invalid_remote));
fail_on_test(msg.msg[1] != CEC_MSG_GIVE_PHYSICAL_ADDR);
- fail_on_test(msg.timeout != 1500 || msg.flags);
+ fail_on_test(msg.timeout != 1500);
+ fail_on_test(msg.flags);
fail_on_test(msg.reply != CEC_MSG_REPORT_PHYSICAL_ADDR);
fail_on_test(!(msg.tx_status & CEC_TX_STATUS_MAX_RETRIES));
fail_on_test((msg.tx_status & tx_ok_retry_mask) == tx_ok_retry_mask);
@@ -612,7 +652,8 @@ int testNonBlocking(struct node *node)
fail_on_test(msg.tx_arb_lost_cnt == 0xff);
fail_on_test(msg.tx_low_drive_cnt == 0xff);
fail_on_test(msg.tx_error_cnt == 0xff);
- fail_on_test(msg.rx_ts || msg.rx_status);
+ fail_on_test(msg.rx_ts);
+ fail_on_test(msg.rx_status);
break;
}
@@ -633,13 +674,19 @@ int testNonBlocking(struct node *node)
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
fail_on_test(msg.msg[0] != ((la << 4) | remote_la));
fail_on_test(msg.msg[1] != CEC_MSG_GIVE_PHYSICAL_ADDR);
- fail_on_test(msg.timeout || msg.flags);
- fail_on_test(msg.sequence == 0 || msg.sequence == ~0U);
+ fail_on_test(msg.timeout);
+ fail_on_test(msg.flags);
+ fail_on_test(msg.sequence == 0);
+ fail_on_test(msg.sequence == ~0U);
fail_on_test(msg.reply);
fail_on_test(msg.tx_status);
- fail_on_test(msg.rx_ts || msg.rx_status);
- fail_on_test(msg.tx_ts || msg.tx_nack_cnt || msg.tx_arb_lost_cnt ||
- msg.tx_low_drive_cnt || msg.tx_error_cnt);
+ fail_on_test(msg.rx_ts);
+ fail_on_test(msg.rx_status);
+ fail_on_test(msg.tx_ts);
+ fail_on_test(msg.tx_nack_cnt);
+ fail_on_test(msg.tx_arb_lost_cnt);
+ fail_on_test(msg.tx_low_drive_cnt);
+ fail_on_test(msg.tx_error_cnt);
seq = msg.sequence;
sleep(1);
@@ -654,7 +701,8 @@ int testNonBlocking(struct node *node)
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
fail_on_test(msg.msg[0] != ((la << 4) | remote_la));
fail_on_test(msg.msg[1] != CEC_MSG_GIVE_PHYSICAL_ADDR);
- fail_on_test(msg.timeout != 1500 || msg.flags);
+ fail_on_test(msg.timeout != 1500);
+ fail_on_test(msg.flags);
fail_on_test(msg.reply);
fail_on_test(!(msg.tx_status & CEC_TX_STATUS_OK));
fail_on_test((msg.tx_status & tx_ok_retry_mask) == tx_ok_retry_mask);
@@ -677,13 +725,19 @@ int testNonBlocking(struct node *node)
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
fail_on_test(msg.msg[0] != ((la << 4) | remote_la));
fail_on_test(msg.msg[1] != CEC_MSG_GIVE_PHYSICAL_ADDR);
- fail_on_test(msg.timeout != 1000 || msg.flags);
- fail_on_test(msg.sequence == 0 || msg.sequence == ~0U);
+ fail_on_test(msg.timeout != 1000);
+ fail_on_test(msg.flags);
+ fail_on_test(msg.sequence == 0);
+ fail_on_test(msg.sequence == ~0U);
fail_on_test(msg.reply != CEC_MSG_REPORT_PHYSICAL_ADDR);
fail_on_test(msg.tx_status);
- fail_on_test(msg.rx_ts || msg.rx_status);
- fail_on_test(msg.tx_ts || msg.tx_nack_cnt || msg.tx_arb_lost_cnt ||
- msg.tx_low_drive_cnt || msg.tx_error_cnt);
+ fail_on_test(msg.rx_ts);
+ fail_on_test(msg.rx_status);
+ fail_on_test(msg.tx_ts);
+ fail_on_test(msg.tx_nack_cnt);
+ fail_on_test(msg.tx_arb_lost_cnt);
+ fail_on_test(msg.tx_low_drive_cnt);
+ fail_on_test(msg.tx_error_cnt);
seq = msg.sequence;
sleep(1);
@@ -698,7 +752,8 @@ int testNonBlocking(struct node *node)
fail_on_test(check_0(msg.msg + msg.len, sizeof(msg.msg) - msg.len));
fail_on_test(msg.msg[0] != ((remote_la << 4) | 0xf));
fail_on_test(msg.msg[1] != CEC_MSG_REPORT_PHYSICAL_ADDR);
- fail_on_test(msg.timeout != 1500 || msg.flags);
+ fail_on_test(msg.timeout != 1500);
+ fail_on_test(msg.flags);
fail_on_test(msg.reply != CEC_MSG_REPORT_PHYSICAL_ADDR);
fail_on_test(!(msg.tx_status & CEC_TX_STATUS_OK));
fail_on_test((msg.tx_status & tx_ok_retry_mask) == tx_ok_retry_mask);
@@ -706,7 +761,9 @@ int testNonBlocking(struct node *node)
fail_on_test(msg.tx_arb_lost_cnt == 0xff);
fail_on_test(msg.tx_low_drive_cnt == 0xff);
fail_on_test(msg.tx_error_cnt == 0xff);
- fail_on_test(msg.rx_ts == 0 || msg.rx_ts == ~0ULL || msg.rx_status != CEC_RX_STATUS_OK);
+ fail_on_test(msg.rx_ts == 0);
+ fail_on_test(msg.rx_ts == ~0ULL);
+ fail_on_test(msg.rx_status != CEC_RX_STATUS_OK);
fail_on_test(msg.rx_ts < msg.tx_ts);
break;
}

Privacy Policy