diff --git a/dependencies.py b/dependencies.py index 1d9970a36..de7ac43ba 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 000000000..a8bd2d39f --- /dev/null +++ b/test cases/frameworks/3 gmock/gmocktest.cc @@ -0,0 +1,27 @@ +#include +#include + +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 000000000..4e03078c5 --- /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)