google test09年5月30升级到1.3.0版本

google test最新版本1.3.0已于5月30日提交
用对比工具对比了一下与1.2.1的差异。

头文件和实现文件都有些变化。

我们来具体看看两个版本中有何差异:
gtest-death-test-internal.h文件变动
1、用宏GTEST_HAS_DEATH_TEST && GTEST_OS_WINDOWS控制io.h头文件的包含。
2、DeathTest类中新增一个静态方法:set_last_death_test_message和一个静态成员变量:String last_death_test_message_
3、将InternalRunDeathTestFlag由原来的struct声明改为class声明。同时新增了构造函数,以及变量初始化和其他宏控制开关。
gtest-filepath.h文件变动
1、新增

// Given directory = "dir", relative_path = "test.xml",
// returns "dir/test.xml".
// On Windows, uses / as the separator rather than /.
  static FilePath ConcatPaths(const FilePath& directory,
                              const FilePath& relative_path);







2、新增成员函数
// Returns true if pathname describes an absolute path.
  bool IsAbsolutePath() const;







gtest-internal.h文件变动

1、619行新增fflush(stderr);
2、750行新增bool AlwaysTrue();
3、766行新增
// statement if it returns or throws (or doesn't return or throw in some // situations). #define GTEST_HIDE_UNREACHABLE_CODE_(statement) / if (::testing::internal::AlwaysTrue()) { statement; } 


4、772、796、812、838行修改为
GTEST_HIDE_UNREACHABLE_CODE_(statement);
gtest-port.h文件变动

1、增加了部分注释说明和辅助信息;
2、修改了部分宏定义
3、268行新增了宽字符处理
4、702行增加了不同操作系统平台路径分隔符的处理
gtest.h文件变动


1、96行新增了测试标志;
2、659行增加了不同编译器不同编译行为;
3、743行注释了一个没有用到的参数变量。
4、1297行增加了


template <typename T1, typename T2> bool StaticAssertTypeEq() { internal::StaticAssertTypeEqHelper<T1, T2>(); return true; } 


上面应该是用来判断两个对象是否相等。


实现文件中的变动,主要是新增了宏控制代码的编译部分以及不同编译器编译代码的不同效果。
这次版本升级中一个很大的特点就是"#ifdef"或"#if define"都被改为"#if"。这种风格的变化有点奇怪。可能是为了简洁吧。




你可能感兴趣的:(google test09年5月30升级到1.3.0版本)