aboutsummaryrefslogtreecommitdiff
path: root/openmp/tools/omptest/test
diff options
context:
space:
mode:
Diffstat (limited to 'openmp/tools/omptest/test')
-rw-r--r--openmp/tools/omptest/test/unittests/internal-event-eq-test.cpp65
-rw-r--r--openmp/tools/omptest/test/unittests/internal-event-tostring-test.cpp (renamed from openmp/tools/omptest/test/unittests/internal-event-test.cpp)0
2 files changed, 65 insertions, 0 deletions
diff --git a/openmp/tools/omptest/test/unittests/internal-event-eq-test.cpp b/openmp/tools/omptest/test/unittests/internal-event-eq-test.cpp
new file mode 100644
index 0000000..d30d6da
--- /dev/null
+++ b/openmp/tools/omptest/test/unittests/internal-event-eq-test.cpp
@@ -0,0 +1,65 @@
+#include "InternalEvent.h"
+#include <omp-tools.h>
+#include <sstream>
+
+#include "gtest/gtest.h"
+
+using namespace omptest;
+
+TEST(InternalEvent_equality_ops, Dispatch_identity) {
+ ompt_data_t DI{.value = 31};
+ internal::Dispatch D{/*ParallelData=*/(ompt_data_t *)0x11,
+ /*TaskData=*/(ompt_data_t *)0x22,
+ /*Kind=*/ompt_dispatch_t::ompt_dispatch_iteration,
+ /*Instance=*/DI};
+
+ EXPECT_EQ(D == D, true);
+}
+
+TEST(InternalEvent_equality_ops, Dispatch_same) {
+ ompt_data_t DI{.ptr = (void *)0x33};
+ internal::Dispatch D1{/*ParallelData=*/(ompt_data_t *)0x11,
+ /*TaskData=*/(ompt_data_t *)0x22,
+ /*Kind=*/ompt_dispatch_t::ompt_dispatch_section,
+ /*Instance=*/DI};
+
+ internal::Dispatch D2{/*ParallelData=*/(ompt_data_t *)0x11,
+ /*TaskData=*/(ompt_data_t *)0x22,
+ /*Kind=*/ompt_dispatch_t::ompt_dispatch_section,
+ /*Instance=*/DI};
+
+ EXPECT_EQ(D1 == D2, true);
+}
+
+TEST(InternalEvent_equality_ops, Dispatch_different_kind) {
+ ompt_data_t DI{.ptr = (void *)0x33};
+ internal::Dispatch D1{/*ParallelData=*/(ompt_data_t *)0x11,
+ /*TaskData=*/(ompt_data_t *)0x22,
+ /*Kind=*/ompt_dispatch_t::ompt_dispatch_section,
+ /*Instance=*/DI};
+
+ internal::Dispatch D2{/*ParallelData=*/(ompt_data_t *)0x11,
+ /*TaskData=*/(ompt_data_t *)0x22,
+ /*Kind=*/ompt_dispatch_t::ompt_dispatch_iteration,
+ /*Instance=*/DI};
+
+ // Demonstrate that 'Kind' is the only relevant field for equality.
+ EXPECT_EQ(D1 == D2, false);
+}
+
+TEST(InternalEvent_equality_ops, Dispatch_same_kind_different_other) {
+ ompt_data_t DI1{.ptr = (void *)0x33};
+ internal::Dispatch D1{/*ParallelData=*/(ompt_data_t *)0x11,
+ /*TaskData=*/(ompt_data_t *)0x22,
+ /*Kind=*/ompt_dispatch_t::ompt_dispatch_section,
+ /*Instance=*/DI1};
+
+ ompt_data_t DI2{.ptr = (void *)0x66};
+ internal::Dispatch D2{/*ParallelData=*/(ompt_data_t *)0x44,
+ /*TaskData=*/(ompt_data_t *)0x55,
+ /*Kind=*/ompt_dispatch_t::ompt_dispatch_section,
+ /*Instance=*/DI2};
+
+ // Demonstrate that 'Kind' is the only relevant field for equality.
+ EXPECT_EQ(D1 == D2, true);
+}
diff --git a/openmp/tools/omptest/test/unittests/internal-event-test.cpp b/openmp/tools/omptest/test/unittests/internal-event-tostring-test.cpp
index fcd8956..fcd8956 100644
--- a/openmp/tools/omptest/test/unittests/internal-event-test.cpp
+++ b/openmp/tools/omptest/test/unittests/internal-event-tostring-test.cpp