Binary compatibility report for the gmock library between 1.6.0 and 1.7.0 versions on x86
Test Info
Library Name | gmock |
Version #1 | 1.6.0 |
Version #2 | 1.7.0 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 19 |
Total Shared Libraries | 2 |
Total Symbols / Types | 115 / 123 |
Verdict | Incompatible (17%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 11 |
Removed Symbols | High | 2 |
Problems with Data Types | High | 1 |
Medium | 2 |
Low | 7 |
Problems with Symbols | High | 0 |
Medium | 10 |
Low | 1 |
Problems with Constants | Low | 0 |
Other Changes in Data Types | - | 1 |
Other Changes in Constants | - | 3 |
Added Symbols (11)
gmock-matchers.h,
libgmock.so.0.0.0
namespace testing
MatcherDescriberInterface::DescribeNegationTo ( std::ostream* os ) const
[symbol: _ZNK7testing25MatcherDescriberInterface18DescribeNegationToEPSo]
MatcherDescriberInterface::~MatcherDescriberInterface [in-charge-deleting] ( )
[symbol: _ZN7testing25MatcherDescriberInterfaceD0Ev]
MatcherDescriberInterface::~MatcherDescriberInterface [in-charge] ( )
[symbol: _ZN7testing25MatcherDescriberInterfaceD1Ev]
gmock-matchers.h,
libgmock.so.0.0.0
namespace testing::internal
FindMaxBipartiteMatching ( MatchMatrix const& g )
[symbol: _ZN7testing8internal24FindMaxBipartiteMatchingERKNS0_11MatchMatrixE]
FindPairing ( MatchMatrix const& matrix, testing::MatchResultListener* listener )
[symbol: _ZN7testing8internal11FindPairingERKNS0_11MatchMatrixEPNS_19MatchResultListenerE]
MatchMatrix::DebugString ( ) const
[symbol: _ZNK7testing8internal11MatchMatrix11DebugStringEv]
MatchMatrix::NextGraph ( )
[symbol: _ZN7testing8internal11MatchMatrix9NextGraphEv]
MatchMatrix::Randomize ( )
[symbol: _ZN7testing8internal11MatchMatrix9RandomizeEv]
UnorderedElementsAreMatcherImplBase::DescribeNegationToImpl ( std::ostream* os ) const
[symbol: _ZNK7testing8internal35UnorderedElementsAreMatcherImplBase22DescribeNegationToImplEPSo]
UnorderedElementsAreMatcherImplBase::DescribeToImpl ( std::ostream* os ) const
[symbol: _ZNK7testing8internal35UnorderedElementsAreMatcherImplBase14DescribeToImplEPSo]
UnorderedElementsAreMatcherImplBase::VerifyAllElementsAndMatchersAreMatched ( std::vector<std::string>const& element_printouts, MatchMatrix const& matrix, testing::MatchResultListener* listener ) const
[symbol: _ZNK7testing8internal35UnorderedElementsAreMatcherImplBase38VerifyAllElementsAndMatchersAreMatchedERKSt6vectorISsSaISsEERKNS0_11MatchMatrixEPNS_19MatchResultListenerE]
to the top
Removed Symbols (2)
gmock-matchers.h,
libgmock.so.0.0.0
namespace testing
MatcherInterface<std::string const&>::DescribeNegationTo ( std::ostream* os ) const
[symbol: _ZNK7testing16MatcherInterfaceIRKSsE18DescribeNegationToEPSo]
MatcherInterface<std::string>::DescribeNegationTo ( std::ostream* os ) const
[symbol: _ZNK7testing16MatcherInterfaceISsE18DescribeNegationToEPSo]
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 112 bytes to 116 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 neighboring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (10)
ExpectationBase::AllPrerequisitesAreSatisfied ( ) constThis method is from 'ExpectationBase' class.
ExpectationBase::CheckActionCountIfNotDone ( ) constThis method is from 'ExpectationBase' class.
ExpectationBase::DescribeCallCountTo ( std::ostream* os ) 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::UntypedTimes ( testing::Cardinality const& a_cardinality )This method is from 'ExpectationBase' class.
ExpectationBase::~ExpectationBase [in-charge] ( )This method is from 'ExpectationBase' class.
UntypedFunctionMockerBase::GetHandleOf ( ExpectationBase* exp )1st parameter 'exp' (pointer) has base type 'ExpectationBase'.
to the top
Problems with Data Types, Medium Severity (2)
gmock-spec-builders.h
namespace testing::internal
[+] class ExpectationBase (1)
| Change |
Effect |
1 | Size of field mutex_ has been changed from 28 bytes to 32 bytes. | 1) Size of the inclusive type has been changed. 2) Previous accesses of applications and library functions to this field may be broken. |
[+] affected symbols (10)
ExpectationBase::AllPrerequisitesAreSatisfied ( ) constThis method is from 'ExpectationBase' class.
ExpectationBase::CheckActionCountIfNotDone ( ) constThis method is from 'ExpectationBase' class.
ExpectationBase::DescribeCallCountTo ( std::ostream* os ) 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::UntypedTimes ( testing::Cardinality const& a_cardinality )This method is from 'ExpectationBase' class.
ExpectationBase::~ExpectationBase [in-charge] ( )This method is from 'ExpectationBase' class.
UntypedFunctionMockerBase::GetHandleOf ( ExpectationBase* exp )1st parameter 'exp' (pointer) has base type 'ExpectationBase'.
gtest-port.h
namespace testing::internal
[+] class MutexBase (1)
| Change |
Effect |
1 | Field has_owner_ has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
[+] affected symbols (2)
g_gmock_mutex [data]Return value has type 'MutexBase'.
g_linked_ptr_mutex [data]Return value has type 'MutexBase'.
to the top
Problems with Symbols, Medium Severity (10)
gmock-spec-builders.h,
libgmock.so.0.0.0
namespace internal
[+] g_gmock_mutex [data] (1)
[symbol: _ZN7testing8internal13g_gmock_mutexE]
| Change | Effect |
---|
1 | Size of this global data has been changed from 28 bytes to 32 bytes. | Applications will obtain a different value and execution may change. |
gmock.h,
libgmock.so.0.0.0
namespace testing
[+] FLAGS_gmock_verbose [data] (2)
[symbol: _ZN7testing19FLAGS_gmock_verboseE]
| Change | Effect |
---|
1 | Type of this global data has been changed from internal::String (8 bytes) to std::string (4 bytes). | Applications will obtain a different value and execution may change. |
2 | Size of this global data has been changed from 8 bytes to 4 bytes. | Applications will obtain a different value and execution may change. |
gtest-death-test-internal.h
namespace internal
[+] FLAGS_gtest_internal_run_death_test [data] (1)
| Change | Effect |
---|
1 | Type of this global data has been changed from String (8 bytes) to std::string (4 bytes). | Applications will obtain a different value and execution may change. |
gtest-death-test.h
namespace testing
[+] FLAGS_gtest_death_test_style [data] (1)
| Change | Effect |
---|
1 | Type of this global data has been changed from internal::String (8 bytes) to std::string (4 bytes). | Applications will obtain a different value and execution may change. |
gtest-linked_ptr.h
namespace internal
[+] g_linked_ptr_mutex [data] (1)
[symbol: _ZN7testing8internal18g_linked_ptr_mutexE]
| Change | Effect |
---|
1 | Size of this global data has been changed from 28 bytes to 32 bytes. | Applications will obtain a different value and execution may change. |
gtest.h
namespace testing
[+] FLAGS_gtest_color [data] (1)
| Change | Effect |
---|
1 | Type of this global data has been changed from internal::String (8 bytes) to std::string (4 bytes). | Applications will obtain a different value and execution may change. |
[+] FLAGS_gtest_filter [data] (1)
| Change | Effect |
---|
1 | Type of this global data has been changed from internal::String (8 bytes) to std::string (4 bytes). | Applications will obtain a different value and execution may change. |
[+] FLAGS_gtest_output [data] (1)
| Change | Effect |
---|
1 | Type of this global data has been changed from internal::String (8 bytes) to std::string (4 bytes). | Applications will obtain a different value and execution may change. |
[+] FLAGS_gtest_stream_result_to [data] (1)
| Change | Effect |
---|
1 | Type of this global data has been changed from internal::String (8 bytes) to std::string (4 bytes). | Applications will obtain a different value and execution may change. |
to the top
Problems with Data Types, Low Severity (7)
gmock-internal-utils.h
namespace testing::internal
[+] enum LogSeverity (2)
| Change |
Effect |
1 | Name of member with value 0 has been changed from INFO to kInfo. | Applications may execute a wrong branch of code in the library and therefore change the behavior. |
2 | Name of member with value 1 has been changed from WARNING to kWarning. | Applications may execute a wrong branch of code in the library and therefore change the behavior. |
[+] affected symbols (3)
Log ( enum LogSeverity severity, string const& message, int stack_frames_to_skip )1st parameter 'severity' has type 'enum LogSeverity'.
LogIsVisible ( enum LogSeverity severity )1st parameter 'severity' has type 'enum LogSeverity'.
LogWithLocation ( enum LogSeverity severity, char const* file, int line, string const& message )1st parameter 'severity' has type 'enum LogSeverity'.
gmock-spec-builders.h
namespace testing::internal
[+] enum CallReaction (3)
| Change |
Effect |
1 | Name of member with value 0 has been changed from ALLOW to kAllow. | Applications may execute a wrong branch of code in the library and therefore change the behavior. |
2 | Name of member with value 1 has been changed from WARN to kWarn. | Applications may execute a wrong branch of code in the library and therefore change the behavior. |
3 | Name of member with value 2 has been changed from FAIL to kFail. | Applications may execute a wrong branch of code in the library and therefore change the behavior. |
[+] affected symbols (1)
ReportUninterestingCall ( enum CallReaction reaction, string const& msg )1st parameter 'reaction' has type 'enum CallReaction'.
gtest-port.h
namespace testing::internal
[+] class Mutex (1)
| Change |
Effect |
1 | Size of this type has been changed from 28 bytes to 32 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols (10)
ExpectationBase::AllPrerequisitesAreSatisfied ( ) constField 'this->mutex_' in the object of this method has type 'Mutex'.
ExpectationBase::CheckActionCountIfNotDone ( ) constField 'this->mutex_' in the object of this method has type 'Mutex'.
ExpectationBase::DescribeCallCountTo ( std::ostream* os ) constField 'this->mutex_' in the object of this method has type 'Mutex'.
ExpectationBase::ExpectationBase [in-charge] ( char const* file, int line, string const& source_text )Field 'this->mutex_' in the object of this method has type 'Mutex'.
ExpectationBase::FindUnsatisfiedPrerequisites ( testing::ExpectationSet* result ) constField 'this->mutex_' in the object of this method has type 'Mutex'.
ExpectationBase::RetireAllPreRequisites ( )Field 'this->mutex_' in the object of this method has type 'Mutex'.
ExpectationBase::SpecifyCardinality ( testing::Cardinality const& cardinality )Field 'this->mutex_' in the object of this method has type 'Mutex'.
ExpectationBase::UntypedTimes ( testing::Cardinality const& a_cardinality )Field 'this->mutex_' in the object of this method has type 'Mutex'.
ExpectationBase::~ExpectationBase [in-charge] ( )Field 'this->mutex_' in the object of this method has type 'Mutex'.
UntypedFunctionMockerBase::GetHandleOf ( ExpectationBase* exp )Field 'exp->mutex_' in 1st parameter 'exp' (pointer) has type 'Mutex'.
[+] class MutexBase (1)
| Change |
Effect |
1 | Size of this type has been changed from 28 bytes to 32 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols (2)
g_gmock_mutex [data]Return value has type 'MutexBase'.
g_linked_ptr_mutex [data]Return value has type 'MutexBase'.
to the top
Problems with Symbols, Low Severity (1)
gtest-port.h
namespace testing::internal
[+] g_argvs [data] (1)
| Change | Effect |
---|
1 | Type of this global data has been changed from std::vector<String> to std::vector<std::string>. | Replacement of data type may indicate a change in semantic meaning. |
to the top
Other Changes in Data Types (1)
gmock-spec-builders.h
namespace testing::internal
[+] enum CallReaction (1)
| Change |
Effect |
1 | The member kDefault with value 1 has been added. | No effect. |
[+] affected symbols (1)
ReportUninterestingCall ( enum CallReaction reaction, string const& msg )1st parameter 'reaction' has type 'enum CallReaction'.
to the top
Other Changes in Constants (3)
gtest-port.h
[+] GTEST_ENV_HAS_TR1_TUPLE_
| Change | Effect |
---|
1 | The constant GTEST_ENV_HAS_TR1_TUPLE_ with value 1 has been added. | No effect. |
[+] GTEST_HAS_CXXABI_H_
| Change | Effect |
---|
1 | The constant GTEST_HAS_CXXABI_H_ with value 1 has been added. | No effect. |
[+] GTEST_LANG_CXX11
| Change | Effect |
---|
1 | The constant GTEST_LANG_CXX11 with value 0 has been added. | No effect. |
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-spec-builders.h
gmock.h
gtest-death-test.h
gtest-message.h
gtest-param-test.h
gtest-printers.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