Binary compatibility report for the gmock library between 1.5.0 and 1.6.0 versions on x86
Test Info
Library Name | gmock |
Version #1 | 1.5.0 |
Version #2 | 1.6.0 |
CPU Architecture | x86 |
GCC Version | 4.5 |
Test Results
Total Header Files | 19 |
Total Shared Libraries | 2 |
Total Symbols / Types | 68 / 85 |
Verdict | Incompatible (26.47%) |
---|
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 16 |
Removed Symbols | High | 9 |
Problems with Data Types | High | 1 |
Medium | 1 |
Low | 7 |
Problems with Symbols | High | 0 |
Medium | 0 |
Low | 0 |
Problems with Constants | Low | 0 |
Added Symbols (16)
gmock-spec-builders.h,
libgmock.so.0.0.0
namespace testing::internal
ExpectationBase::CheckActionCountIfNotDone ( ) const
[ symbol: _ZNK7testing8internal15ExpectationBase25CheckActionCountIfNotDoneEv ]
ExpectationBase::DescribeCallCountTo ( std::ostream* os ) const
[ symbol: _ZNK7testing8internal15ExpectationBase19DescribeCallCountToEPSo ]
ExpectationBase::UntypedTimes ( testing::Cardinality const& a_cardinality )
[ symbol: _ZN7testing8internal15ExpectationBase12UntypedTimesERKNS_11CardinalityE ]
LogWithLocation ( LogSeverity severity, char const* file, int line, string const& message )
[ symbol: _ZN7testing8internal15LogWithLocationENS0_11LogSeverityEPKciRKSs ]
UntypedFunctionMockerBase::GetHandleOf ( ExpectationBase* exp )
[ symbol: _ZN7testing8internal25UntypedFunctionMockerBase11GetHandleOfEPNS0_15ExpectationBaseE ]
UntypedFunctionMockerBase::MockObject ( ) const
[ symbol: _ZNK7testing8internal25UntypedFunctionMockerBase10MockObjectEv ]
UntypedFunctionMockerBase::Name ( ) const
[ symbol: _ZNK7testing8internal25UntypedFunctionMockerBase4NameEv ]
UntypedFunctionMockerBase::RegisterOwner ( void const* mock_obj )
[ symbol: _ZN7testing8internal25UntypedFunctionMockerBase13RegisterOwnerEPKv ]
UntypedFunctionMockerBase::SetOwnerAndName ( void const* mock_obj, char const* name )
[ symbol: _ZN7testing8internal25UntypedFunctionMockerBase15SetOwnerAndNameEPKvPKc ]
UntypedFunctionMockerBase::UntypedFunctionMockerBase [in-charge] ( )
[ symbol: _ZN7testing8internal25UntypedFunctionMockerBaseC1Ev ]
UntypedFunctionMockerBase::UntypedFunctionMockerBase [not-in-charge] ( )
[ symbol: _ZN7testing8internal25UntypedFunctionMockerBaseC2Ev ]
UntypedFunctionMockerBase::UntypedInvokeWith ( void const* untyped_args )
[ symbol: _ZN7testing8internal25UntypedFunctionMockerBase17UntypedInvokeWithEPKv ]
UntypedFunctionMockerBase::VerifyAndClearExpectationsLocked ( )
[ symbol: _ZN7testing8internal25UntypedFunctionMockerBase32VerifyAndClearExpectationsLockedEv ]
UntypedFunctionMockerBase::~UntypedFunctionMockerBase [in-charge-deleting] ( )
[ symbol: _ZN7testing8internal25UntypedFunctionMockerBaseD0Ev ]
UntypedFunctionMockerBase::~UntypedFunctionMockerBase [in-charge] ( )
[ symbol: _ZN7testing8internal25UntypedFunctionMockerBaseD1Ev ]
UntypedFunctionMockerBase::~UntypedFunctionMockerBase [not-in-charge] ( )
[ symbol: _ZN7testing8internal25UntypedFunctionMockerBaseD2Ev ]
to the top
Removed Symbols (9)
gmock-matchers.h,
libgmock.so.0.0.0
namespace testing::internal
ValidateMatcherDescription ( char const** param_names, char const* description )
[ symbol: _ZN7testing8internal26ValidateMatcherDescriptionEPPKcS2_ ]
gmock-printers.h,
libgmock.so.0.0.0
namespace testing::internal
PrintCharTo ( char c, int char_code, std::ostream* os )
[ symbol: _ZN7testing8internal11PrintCharToEciPSo ]
PrintStringTo ( std::string const& s, std::ostream* os )
[ symbol: _ZN7testing8internal13PrintStringToERKSsPSo ]
PrintTo ( char const* s, std::ostream* os )
[ symbol: _ZN7testing8internal7PrintToEPKcPSo ]
PrintTo ( wchar_t const* s, std::ostream* os )
[ symbol: _ZN7testing8internal7PrintToEPKwPSo ]
PrintTo ( wchar_t wc, std::ostream* os )
[ symbol: _ZN7testing8internal7PrintToEwPSo ]
PrintWideStringTo ( std::wstring const& s, std::ostream* os )
[ symbol: _ZN7testing8internal17PrintWideStringToERKSbIwSt11char_traitsIwESaIwEEPSo ]
UniversalPrintArray ( char const* begin, size_t len, std::ostream* os )
[ symbol: _ZN7testing8internal19UniversalPrintArrayEPKcjPSo ]
namespace testing::internal2
PrintBytesInObjectTo ( unsigned char const* obj_bytes, size_t count, std::ostream* os )
[ symbol: _ZN7testing9internal220PrintBytesInObjectToEPKhjPSo ]
to the top
Problems with Data Types, High Severity (1)
gmock-spec-builders.h
namespace testing::internal
[+] class ExpectationBase (1)
| Change |
Effect |
1 | Size of this class has been increased from 60 bytes to 112 bytes. | 1) An object of this class can be allocated by the applications and old size will be hardcoded at the compile time. Call of any exported constructor will break the memory of neighbouring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed.. |
[+] affected symbols (6)
ExpectationBase::AllPrerequisitesAreSatisfied ( ) constThis method is from 'ExpectationBase' class.
ExpectationBase::ExpectationBase [in-charge] ( char const* file, int line, string const& source_text )This constructor is from 'ExpectationBase' class.
ExpectationBase::FindUnsatisfiedPrerequisites ( testing::ExpectationSet* result ) constThis method is from 'ExpectationBase' class.
ExpectationBase::RetireAllPreRequisites ( )This method is from 'ExpectationBase' class.
ExpectationBase::SpecifyCardinality ( testing::Cardinality const& cardinality )This method is from 'ExpectationBase' class.
ExpectationBase::~ExpectationBase [in-charge] ( )This method is from 'ExpectationBase' class.
to the top
Problems with Data Types, Medium Severity (1)
gmock-spec-builders.h
namespace testing::internal
[+] class ExpectationBase (1)
| Change |
Effect |
1 | Pure virtual method ExpectationBase::MaybeDescribeExtraMatcherTo ( std::ostream* os ) has been added to this class instead of ExpectationBase::DescribeCallCountTo ( std::ostream* os ) const. | Applications will provide an older method to the library instead of expected newely added virtual method. It may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 6 entries | Virtual Table (New) - 6 entries |
---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | ExpectationBase::~ExpectationBase | ExpectationBase::~ExpectationBase |
12 | ExpectationBase::~ExpectationBase | ExpectationBase::~ExpectationBase |
16 | __cxa_pure_virtual | __cxa_pure_virtual |
20 | __cxa_pure_virtual | __cxa_pure_virtual |
[+] affected symbols (6)
ExpectationBase::AllPrerequisitesAreSatisfied ( ) constCall of this method may result in crash or incorrect behavior of applications because some pure virtual method in v-table has been replaced by other.
ExpectationBase::ExpectationBase [in-charge] ( char const* file, int line, string const& source_text )Call of this method may result in crash or incorrect behavior of applications because some pure virtual method in v-table has been replaced by other.
ExpectationBase::FindUnsatisfiedPrerequisites ( testing::ExpectationSet* result ) constCall of this method may result in crash or incorrect behavior of applications because some pure virtual method in v-table has been replaced by other.
ExpectationBase::RetireAllPreRequisites ( )Call of this method may result in crash or incorrect behavior of applications because some pure virtual method in v-table has been replaced by other.
ExpectationBase::SpecifyCardinality ( testing::Cardinality const& cardinality )Call of this method may result in crash or incorrect behavior of applications because some pure virtual method in v-table has been replaced by other.
ExpectationBase::~ExpectationBase [in-charge] ( )Call of this method may result in crash or incorrect behavior of applications because some pure virtual method in v-table has been replaced by other.
to the top
Problems with Data Types, Low Severity (7)
gmock-spec-builders.h
namespace testing::internal
[+] class ExpectationBase (7)
| Change |
Effect |
1 | Field action_count_checked_ has been added to this type. | Size of the inclusive type has been changed. ATTENTION: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
2 | Field extra_matcher_specified_ has been added to this type. | Size of the inclusive type has been changed. ATTENTION: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
3 | Field last_clause_ has been added to this type. | Size of the inclusive type has been changed. ATTENTION: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
4 | Field mutex_ has been added to this type. | Size of the inclusive type has been changed. ATTENTION: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
5 | Field repeated_action_specified_ has been added to this type. | Size of the inclusive type has been changed. ATTENTION: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
6 | Field retires_on_saturation_ has been added to this type. | Size of the inclusive type has been changed. ATTENTION: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
7 | Field untyped_actions_ has been added to this type. | Size of the inclusive type has been changed. ATTENTION: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
[+] affected symbols (6)
ExpectationBase::AllPrerequisitesAreSatisfied ( ) constThis method is from 'ExpectationBase' class.
ExpectationBase::ExpectationBase [in-charge] ( char const* file, int line, string const& source_text )This constructor is from 'ExpectationBase' class.
ExpectationBase::FindUnsatisfiedPrerequisites ( testing::ExpectationSet* result ) constThis method is from 'ExpectationBase' class.
ExpectationBase::RetireAllPreRequisites ( )This method is from 'ExpectationBase' class.
ExpectationBase::SpecifyCardinality ( testing::Cardinality const& cardinality )This method is from 'ExpectationBase' class.
ExpectationBase::~ExpectationBase [in-charge] ( )This method is from 'ExpectationBase' class.
to the top
Header Files (19)
gmock-actions.h
gmock-cardinalities.h
gmock-generated-actions.h
gmock-generated-function-mockers.h
gmock-generated-matchers.h
gmock-generated-nice-strict.h
gmock-matchers.h
gmock-more-actions.h
gmock-printers.h
gmock-spec-builders.h
gmock.h
gtest-death-test.h
gtest-message.h
gtest-param-test.h
gtest-spi.h
gtest-test-part.h
gtest-typed-test.h
gtest.h
gtest_prod.h
to the top
Shared Libraries (2)
libgmock.so.0.0.0
libgmock_main.so.0.0.0
to the top