added verification that raw_queue_test exercises the asserts
diff --git a/aos/linux_code/ipc_lib/queue.cc b/aos/linux_code/ipc_lib/queue.cc
index 9943b85..9489265 100644
--- a/aos/linux_code/ipc_lib/queue.cc
+++ b/aos/linux_code/ipc_lib/queue.cc
@@ -535,4 +535,12 @@
return r;
}
+bool RawQueue::IsDebug() {
+#if QUEUE_DEBUG
+ return true;
+#else
+ return false;
+#endif
+}
+
} // namespace aos
diff --git a/aos/linux_code/ipc_lib/queue.h b/aos/linux_code/ipc_lib/queue.h
index 5edce62..52d610e 100644
--- a/aos/linux_code/ipc_lib/queue.h
+++ b/aos/linux_code/ipc_lib/queue.h
@@ -122,6 +122,11 @@
// only 1 task is using this object (ie in tests).
int FreeMessages() const;
+ // Returns whether this is using the queue code compiled for debugging (used
+ // by the tests etc) or not (used by everything else because it uses
+ // noticeably less CPU).
+ static bool IsDebug();
+
private:
struct MessageHeader;
diff --git a/aos/linux_code/ipc_lib/raw_queue_test.cc b/aos/linux_code/ipc_lib/raw_queue_test.cc
index ca84c51..2943291 100644
--- a/aos/linux_code/ipc_lib/raw_queue_test.cc
+++ b/aos/linux_code/ipc_lib/raw_queue_test.cc
@@ -315,6 +315,10 @@
constexpr time::Time RawQueueTest::kHangTime;
constexpr time::Time RawQueueTest::kForkSleep;
+TEST_F(RawQueueTest, Basic) {
+ EXPECT_TRUE(RawQueue::IsDebug());
+}
+
TEST_F(RawQueueTest, Reading) {
RawQueue *const queue = RawQueue::Fetch("Queue", sizeof(TestMessage), 1, 1);
MessageArgs args{queue, 0, -1};