We plan to release Google Mock 1.6.0 in the next few days. We need
your help to make it successful.
I've uploaded a release candidate to
http://code.google.com/p/googlemock/downloads/detail?name=gmock-1.6.0-rc.zip
-- please download it, try it, and report any problems (patches are
even better), especially if your platform isn't official supported
(i.e. anything outside of Windows, Mac OS X, and Linux). I have only
had time to test it on Linux.
What's New in This Release:
Changes for 1.6.0:
* Compilation is much faster and uses much less memory, especially
when the constructor and destructor of a mock class are moved out of
the class body.
* New matchers: Pointwise(), Each().
* New actions: ReturnPointee() and ReturnRefOfCopy().
* CMake support.
* Project files for Visual Studio 2010.
* AllOf() and AnyOf() can handle up-to 10 arguments now.
* Google Mock doctor understands Clang error messages now.
* SetArgPointee<> now accepts string literals.
* gmock_gen.py handles storage specifier macros and template return
types now.
* Compatibility fixes.
* Bug fixes and implementation clean-ups.
Thanks,
--
Zhanyong
I also ran all of my own tests successfully. I did not change any
tests to use new features in this release though.
--
Steve Fox
On FreeBSD:
100% tests passed, 0 tests failed out of 17
On Cygwin unfortunately I get errors building, but I didn't do any
problem determination yet.
[ 3%] Built target gtest
[ 6%] Built target gmock
[ 9%] Built target gmock_main
[ 12%] Building CXX object
CMakeFiles/gmock-actions_test.dir/test/gmock-actions_test.cc.o
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/test/gmock-actions_test.cc:
In member function `virtual void
<unnamed>::SetArgPointeeTest_AcceptsStringLiteral_Test::TestBody()':
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/test/gmock-actions_test.cc:720:
error: call of overloaded `SetArgPointee(const char[3])' is ambiguous
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/include/gmock/gmock-actions.h:988:
note: candidates are:
testing::PolymorphicAction<testing::internal::SetArgumentPointeeAction<N,
const char*, false> > testing::SetArgPointee(const char*) [with
unsigned int N = 1u]
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/include/gmock/gmock-actions.h:980:
note:
testing::PolymorphicAction<testing::internal::SetArgumentPointeeAction<N,
T, testing::internal::IsAProtocolMessage<T>::value> >
testing::SetArgPointee(const T&) [with unsigned int N = 1u, T =
char[3]]
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/test/gmock-actions_test.cc:727:
error: call of overloaded `SetArgPointee(const char[6])' is ambiguous
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/include/gmock/gmock-actions.h:988:
note: candidates are:
testing::PolymorphicAction<testing::internal::SetArgumentPointeeAction<N,
const char*, false> > testing::SetArgPointee(const char*) [with
unsigned int N = 2u]
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/include/gmock/gmock-actions.h:980:
note:
testing::PolymorphicAction<testing::internal::SetArgumentPointeeAction<N,
T, testing::internal::IsAProtocolMessage<T>::value> >
testing::SetArgPointee(const T&) [with unsigned int N = 2u, T =
char[6]]
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/test/gmock-actions_test.cc:
In member function `virtual void
<unnamed>::SetArgPointeeTest_AcceptsCharPointer_Test::TestBody()':
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/test/gmock-actions_test.cc:738:
error: call of overloaded `SetArgPointee(const char* const&)' is
ambiguous
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/include/gmock/gmock-actions.h:988:
note: candidates are:
testing::PolymorphicAction<testing::internal::SetArgumentPointeeAction<N,
const char*, false> > testing::SetArgPointee(const char*) [with
unsigned int N = 1u]
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/include/gmock/gmock-actions.h:980:
note:
testing::PolymorphicAction<testing::internal::SetArgumentPointeeAction<N,
T, testing::internal::IsAProtocolMessage<T>::value> >
testing::SetArgPointee(const T&) [with unsigned int N = 1u, T = const
char*]
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/gtest/include/gtest/gtest.h:
In function `testing::AssertionResult
testing::internal::CmpHelperEQ(const char*, const char*, const T1&,
const T2&) [with T1 = int, T2 = wchar_t]':
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/gtest/include/gtest/gtest.h:1390:
instantiated from `static testing::AssertionResult
testing::internal::EqHelper< true>::Compare(const char*, const char*,
const T1&, const T2&, typename testing::internal::EnableIf<(!
testing::internal::is_pointer<T2>::value)>::type*) [with T1 = int, T2
= wchar_t]'
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/test/gmock-actions_test.cc:105:
instantiated from here
/cygdrive/c/dev/gmock-1.6.0-rc/gmock-1.6.0/gtest/include/gtest/gtest.h:1314:
warning: comparison between signed and unsigned integer expressions
make[2]: *** [CMakeFiles/gmock-actions_test.dir/test/gmock-actions_test.cc.o]
Error 1
make[1]: *** [CMakeFiles/gmock-actions_test.dir/all] Error 2
make: *** [all] Error 2
--
Steve Fox
It was the 3.4.4 compiler. After installing 4.3.4 all tests pass.
--
Steve Fox
2011/2/28 Steve Fox <li...@thefoxhome.net>:
2011/2/28 Steve Fox <li...@thefoxhome.net>:
Based on this and that GCC 3.4.4 is quite old, I'll treat it as a
non-blocker for the release. Unless someone writes a patch for this
in the next couple of days. ;-) Thanks,
--
Zhanyong
--
Zhanyong
gtest is included in the gmock svn via an svn:externals property. Are
you using an svn client that doesn't support svn:externals?
--
Zhanyong