aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/frameworks/3 gmock
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /meson/test cases/frameworks/3 gmock
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'meson/test cases/frameworks/3 gmock')
-rw-r--r--meson/test cases/frameworks/3 gmock/gmocktest.cc27
-rw-r--r--meson/test cases/frameworks/3 gmock/meson.build16
2 files changed, 43 insertions, 0 deletions
diff --git a/meson/test cases/frameworks/3 gmock/gmocktest.cc b/meson/test cases/frameworks/3 gmock/gmocktest.cc
new file mode 100644
index 000000000..a8bd2d39f
--- /dev/null
+++ b/meson/test cases/frameworks/3 gmock/gmocktest.cc
@@ -0,0 +1,27 @@
+#include<gtest/gtest.h>
+#include<gmock/gmock.h>
+
+using ::testing::Return;
+
+class Foo {
+public:
+ Foo() { x = 42; }
+ virtual ~Foo() {};
+
+ virtual int getValue() const { return x; }
+
+private:
+ int x;
+};
+
+class MockFoo : public Foo {
+public:
+ MOCK_CONST_METHOD0(getValue, int());
+};
+
+TEST(counttest, once) {
+ MockFoo f;
+ EXPECT_CALL(f, getValue()).Times(1).WillOnce(Return(42));
+
+ EXPECT_EQ(f.getValue(), 42) << "Got wrong value";
+}
diff --git a/meson/test cases/frameworks/3 gmock/meson.build b/meson/test cases/frameworks/3 gmock/meson.build
new file mode 100644
index 000000000..58591aeba
--- /dev/null
+++ b/meson/test cases/frameworks/3 gmock/meson.build
@@ -0,0 +1,16 @@
+project('gmock test', 'cpp')
+
+# Using gmock without gtest is a pain so just
+# don't support that then.
+
+gtest = dependency('gtest', main : true, required : false, method : 'system')
+if not gtest.found()
+ error('MESON_SKIP_TEST: gtest not installed.')
+endif
+gmock = dependency('gmock', required : false)
+if not gmock.found()
+ error('MESON_SKIP_TEST: gmock not installed.')
+endif
+
+e = executable('gmocktest', 'gmocktest.cc', dependencies : [gtest, gmock])
+test('gmock test', e)