aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-03-24 17:07:34 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2013-03-24 17:07:34 +0200
commit867c315e563d54b417eccdbdc3b0633ee0851d6a (patch)
tree31ed12c36eccc6428f11c0a95cb891c471fbdd6a
parent26b79bdefab857c59e0b887b8e4fae2a9bff2455 (diff)
downloadmeson-867c315e563d54b417eccdbdc3b0633ee0851d6a.zip
meson-867c315e563d54b417eccdbdc3b0633ee0851d6a.tar.gz
meson-867c315e563d54b417eccdbdc3b0633ee0851d6a.tar.bz2
Added detector for GMock.
-rw-r--r--dependencies.py22
-rw-r--r--test cases/frameworks/3 gmock/gmocktest.cc27
-rw-r--r--test cases/frameworks/3 gmock/meson.build10
3 files changed, 59 insertions, 0 deletions
diff --git a/dependencies.py b/dependencies.py
index 1d9970a..de7ac43 100644
--- a/dependencies.py
+++ b/dependencies.py
@@ -124,6 +124,28 @@ class GTestDependency():
def get_sources(self):
return [self.all_src, self.main_src]
+class GMockDependency():
+ def __init__(self, kwargs):
+ self.libdir = '/usr/lib'
+ self.libname = 'libgmock.so'
+
+ def get_version(self):
+ return '1.something_maybe'
+
+ def get_compile_flags(self):
+ return []
+
+ def get_sources(self):
+ return []
+
+ def get_link_flags(self):
+ return ['-lgmock']
+
+ def found(self):
+ fname = os.path.join(self.libdir, self.libname)
+ return os.path.exists(fname)
+
packages = {'boost': BoostDependency,
'gtest': GTestDependency,
+ 'gmock': GMockDependency,
}
diff --git a/test cases/frameworks/3 gmock/gmocktest.cc b/test cases/frameworks/3 gmock/gmocktest.cc
new file mode 100644
index 0000000..a8bd2d3
--- /dev/null
+++ b/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/test cases/frameworks/3 gmock/meson.build b/test cases/frameworks/3 gmock/meson.build
new file mode 100644
index 0000000..4e03078
--- /dev/null
+++ b/test cases/frameworks/3 gmock/meson.build
@@ -0,0 +1,10 @@
+project('gmock test', 'cxx')
+
+# Using gmock without gtest is a pain so just
+# don't support that then.
+
+gtest = find_dep('gtest', required : true)
+gmock = find_dep('gmock', required : true)
+
+e = executable('gmocktest', 'gmocktest.cc', deps : [gtest, gmock])
+add_test('gmock test', e)