announce: Google Mock 1.6.0 release candidate

396 views
Skip to first unread message

Zhanyong Wan (λx.x x)

unread,
Feb 24, 2011, 5:10:40 PM2/24/11
to Google C++ Mocking Framework
Dear users of Google Mock,

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

Steve Fox

unread,
Feb 25, 2011, 5:46:27 PM2/25/11
to Zhanyong Wan (λx.x x), Google C++ Mocking Framework
I was able to build this release on FreeBSD 8.1. The unit tests all
built and ran, however I noticed some leaked mock object messages.
Some were obviously expected due to being leak tests, but the
GMockOutputTest suite ones I am not sure about. If you care to review
it, I have posted the output at
http://thefoxhome.net/gmock_tests.txt.bz2

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

Steve Fox

unread,
Feb 25, 2011, 6:19:50 PM2/25/11
to Zhanyong Wan (λx.x x), Google C++ Mocking Framework
I ran this again using the cmake method Vlad suggested.

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

Vlad Losev

unread,
Feb 28, 2011, 12:16:16 PM2/28/11
to Steve Fox, Zhanyong Wan (λx.x x), Google C++ Mocking Framework
Steve - thanks for testing it!

I wonder, what compier are you using on Cygwin? If it's gcc 3.4.4, do the tests pass with gcc 4+?

2011/2/25 Steve Fox <li...@thefoxhome.net>

Thanks,
Vlad

Steve Fox

unread,
Feb 28, 2011, 1:54:41 PM2/28/11
to Vlad Losev, Zhanyong Wan (λx.x x), Google C++ Mocking Framework
2011/2/28 Vlad Losev <vl...@google.com>:

> I wonder, what compier are you using on Cygwin? If it's gcc 3.4.4, do the
> tests pass with gcc 4+?

It was the 3.4.4 compiler. After installing 4.3.4 all tests pass.

--
Steve Fox

Ben Medina

unread,
Mar 3, 2011, 12:58:12 AM3/3/11
to Steve Fox, Vlad Losev, Zhanyong Wan (λx.x x), Google C++ Mocking Framework
Works great for me, thanks!

2011/2/28 Steve Fox <li...@thefoxhome.net>:

Zhanyong Wan (λx.x x)

unread,
Mar 4, 2011, 4:52:41 PM3/4/11
to Steve Fox, Vlad Losev, Google C++ Mocking Framework
Hi Steve,

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

Vlad Losev

unread,
Mar 5, 2011, 2:14:33 AM3/5/11
to Zhanyong Wan (λx.x x), Steve Fox, Google C++ Mocking Framework


2011/3/4 Zhanyong Wan (λx.x x) <w...@google.com>
Actually, this breaks not only GCC 3.x but also Symbian builds. I will try to find a fix for this.

--
Zhanyong

Kirk Woodhouse

unread,
Mar 10, 2011, 10:22:22 PM3/10/11
to Google C++ Mocking Framework
The "README" states:

"Google Mock is implemented on top of the Google Test C++ testing
framework (http://code.google.com/p/googletest/), and includes the
latter as part of the SVN repositary and distribution package. You
must use the bundled version of Google Test when using Google Mock, or
you may get compiler/linker errors."

*** SVN: I don't see Googletest in the trunk of GoogleMock.
*** Distribution Package: I do see it in "gmock-1.6.0rc.zip".

Just to be complete, checking out the trunk and trying to build gives
the obvious error for the three projects:
*** 'gtest/internal/gtest-linked_ptr.h': No such file or directory for
gmock-port.h

In browsing the prior releases, it seems this is a consistent pattern.
Unless I am missing something, it would appear that the "README" needs
to be changed.

Thanks,
Kirk

On Feb 24, 5:10 pm, Zhanyong Wan (λx.x x) <w...@google.com> wrote:
> Dear users of Google Mock,
>
> 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 tohttp://code.google.com/p/googlemock/downloads/detail?name=gmock-1.6.0...

Zhanyong Wan (λx.x x)

unread,
Mar 11, 2011, 1:31:53 AM3/11/11
to Kirk Woodhouse, Google C++ Mocking Framework
On Thu, Mar 10, 2011 at 7:22 PM, Kirk Woodhouse <kirk...@gmail.com> wrote:
> The "README" states:
>
> "Google Mock is implemented on top of the Google Test C++ testing
> framework (http://code.google.com/p/googletest/), and includes the
> latter as part of the SVN repositary and distribution package.  You
> must use the bundled version of Google Test when using Google Mock, or
> you may get compiler/linker errors."
>
> *** SVN: I don't see Googletest in the trunk of GoogleMock.
> *** Distribution Package: I do see it in "gmock-1.6.0rc.zip".
>
> Just to be complete, checking out the trunk and trying to build gives
> the obvious error for the three projects:
> *** 'gtest/internal/gtest-linked_ptr.h': No such file or directory for
> gmock-port.h
>
> In browsing the prior releases, it seems this is a consistent pattern.
> Unless I am missing something, it would appear that the "README" needs
> to be changed.

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

Kirk Woodhouse

unread,
Mar 11, 2011, 8:11:02 AM3/11/11
to Google C++ Mocking Framework
Thanks, that is the answer as I am using git.


On Mar 11, 1:31 am, Zhanyong Wan (λx.x x) <w...@google.com> wrote:
> Zhanyong- Hide quoted text -
>
> - Show quoted text -- Hide quoted text -
>
> - Show quoted text -
Reply all
Reply to author
Forward
0 new messages