Boost C++ 库

...世界上最受尊敬和设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

PrevUpHomeNext

更新日志

Boost.Test 发布

Boost.Test v3.15 / boost 1.79
新特性
缺陷修复和功能请求
  1. #GH-268 C++20 模式下数据集网格操作生成的 Clang 警告
  2. #GH-272 framework_init_observer_t 中的未初始化内存
  3. #GH-284 basic_cstring<CharT>::trim_right 中的未定义行为
  4. #GH-297 BOOST_TEST_GLOBAL_FIXTURE 文档具有误导性
  5. #GH-305 boost test 文档告知用户向已停用的 Trac 提交错误报告。
  6. #PR-286 修复 framework_init_observer_t 中的未初始化变量
  7. #PR-301 priority_order 中比较无关指针的 UB
  8. #PR-275 将匿名 enum 元数替换为 static constexpr
  9. #PR-278lazy_ostream 中使用 boost_test_print_type 自定义点
  10. #PR-281 导出 execution_aborted 异常以允许从 DLL 外部捕获它
Boost.Test v3.14 / boost 1.74
新特性
缺陷修复和功能请求
  1. #GH-264 GCC suggest-override 警告
  2. #GH-269 测试中已弃用的 bind 占位符
  3. #PR-142 使 under_debugger 在 apple (iOS/macOS) 上工作
  4. #PR-266 Embarcadero C++ 基于 clang 的编译器的更改
  5. #PR-267 仅在 macOS 上使用 macOS API
Boost.Test v3.13 / boost 1.73
新特性
缺陷修复和功能请求
  1. #GH-173 比较具有容差的浮点值集合
  2. #GH-179 test_tools-test 在某些架构上失败
  3. #GH-220 支持 cuda nvcc
  4. #GH-221 Coverity 安全问题(次要)(umask
  5. #GH-235 丑陋的 GCC -Wattributes 警告,无法使用包含的变体来抑制
  6. #GH-237 Clang-cl 的 -Wdelete-non-abstract-non-virtual-dtortest_case_gen 触发
  7. #GH-241 警告:使用 == 或 != 比较浮点数是不安全的 [-Wfloat-equal]
  8. #GH-245 代码 coverity 测试缺陷
  9. #GH-246 错误使用 BOOST_HEADER_DEPRECATED
  10. #GH-251 如果同时启用 HRF 和 Junit 记录器,则始终打印上下文消息
  11. #GH-253 当跳过测试时,BOOST_AUTO_TEST_CASE_TEMPLATE 生成无效的 XML 日志
  12. #GH-254 Windows 上未恢复控制台颜色
  13. #GH-263 Windows:具有多个翻译单元的仅标头模式需要 BOOST_TEST_NO_LIB
  14. #PR-41 修复:为所有 msvc 版本激活虚拟析构函数
  15. #PR-114 静默 MSVC (/W4) 中无法访问的代码警告
  16. #PR-187 启用带有容差和用户消息的 BOOST_TEST (通过 #GH-173)
  17. #PR-239 修复 unit_test_main.ipp 中未使用的变量警告
  18. #PR-247 使用 __linux__ 而不是 __linux
  19. #PR-252 修复由于删除了来自 wchar_tstd::basic_ostream::operator<< 而导致的编译问题
  20. #PR-259 避免全局命名空间中已弃用的 bind 占位符
  21. #PR-265 抑制 root_test_unit_id 的未使用参数警告
  22. #11107 MSVC 上由于受保护的析构函数为非虚拟函数而产生大量警告
  23. #12072 在使用 Visual Studio 2015 时,测试中出现大量 C4265 警告(重复 #11107
Boost.Test v3.12 / boost 1.72
新特性
缺陷修复和功能请求
  1. #GH-206 junit 日志未正确处理编译时禁用的测试
  2. #GH-217 数据测试用例使用 bool 初始化列表失败
  3. #GH-223 如果模板类型包含多个参数,则无法按名称筛选测试 (-t, --run_test)
  4. #GH-229 随机洗牌已弃用
  5. #PR-227printf 格式检查属性添加到 report_error
  6. #PR-231 OpenBSD 缺少 SI_ASYNCIOSI_MESGQ
  7. #PR-232 修复 windows 中的超时
  8. #PR-234 boost::diagnostic_information() 在 no rtti 模式下工作
Boost.Test v3.11 / boost 1.71
新特性
重大更改
缺陷修复和功能请求
  1. 修复了命名计时器上的一个小错误(仅限 Windows)。当在同一台机器上并行执行多个测试模块时,该错误是可见的。
  2. #GH-209 BOOST_TEST_CHECK 无法使用 gcc 比较抽象类
  3. #GH-218 默认文件名(用于记录器输出文件)
  4. #PR-219 注释掉未使用的参数名称 (stack_decorator::apply)
  5. #PR-224BOOST_HEADER_DEPRECATED 添加到已弃用的标头
Boost.Test v3.10 / boost 1.70
新特性
重大更改
缺陷修复和功能请求
  1. #GH-133 Windows 上的超时效果
  2. #GH-138 expected_failures 不适用于 BOOST_DATA_TEST_CASE
  3. #GH-141 支持 Boost.MP11 和 Boost.Hana 类型列表
  4. #GH-157 测试名称应处理 const-volatile 说明符
  5. #GH-160 在 GCC 8.2.0 上启用优化时,抑制 -Wformat-overflow
  6. #GH-174 UBSAN 仅通过 gcc-8 识别出退出时的问题
  7. #GH-176 [snippet_dataset1_3] 似乎已损坏
  8. #GH-177 boost_check_equal-str-testllvm 上失败
  9. #GH-180 测试矩阵中 MSVC 构建上的无法访问的代码警告
  10. #GH-181 doc_example22 (和 23) 预计会失败,但在 clang 的发布变体构建中没有失败
  11. #GH-194 master_test_suite 声明了两次
  12. #GH-196 junit 报告:测试错误也被报告为失败
  13. #GH-198 支持 BOOST_UNIT_TEST_FRAMEWORK_DYN_LINK
  14. #GH-199 升级到 1.69 后出现运行时 type_mismatch
  15. #GH-202 boost/timer.hpp 已弃用
  16. #GH-203 具有数据集和 fixture 的测试用例不支持灵活的 fixture 接口
  17. #GH-204 功能请求:允许为具有数据集的测试用例指定超时。
  18. #GH-208 Windows 上定时测试的处理不正确
  19. #GH-211 windows.h 应该是小写
  20. #GH-212 注释 assertion_resultar 参数以避免警告
  21. #GH-213 BOOST_SYMBOL_VISIBLE 不能用于带有 Sun Studio 的 enums
  22. #PR-171 更正测试运行器帮助屏幕中的库名称
  23. #PR-172 当定义 NDEBUG 时,检查未使用的变量
  24. #PR-182 修复 example 12bind1st 的使用
  25. #PR-183 删除 example 04 中多余的分号
  26. #PR-184 修复示例以使用正确的变量并避免未使用的变量警告
  27. #PR-185 添加了 CI 框架
  28. #PR-190 修复 cygwin 中 gcc-7.3 上的警告,声称 master_test_suite 的声明不同
  29. #PR-195 修复 MinGW 编译问题
  30. #PR-197 功能请求:不需要使用大括号引入新作用域的 BOOST_TEST_CONTEXT
  31. #PR-205 修复 MinGW vsnprintf 编译错误和警告
  32. #PR-214 修复了 sun_cc 缺少 enums 的 __global 属性的问题
  33. #7397 Boost.Test,自 boost 1.48 以来,一直在使用已弃用的 Boost.Timer 类(通过 #GH-202 解决)
  34. #9434 错误:namespace boost::timer {} 重新声明为不同类型的符号(通过 #GH-202 解决)
  35. #13106 libs/test/tools/console_test_runner 无法编译
  36. #13418 请求:允许在 BOOST_AUTO_TEST_CASE_TEMPLATE() 中使用通用类型列表类型
Boost.Test v3.9 / boost 1.69
新特性
缺陷修复和功能请求
  1. #GH-149 设置 color_output=no 不会禁用颜色格式代码的输出
  2. #GH-150 某些标头无法独立编译
  3. #GH-156 close_at_tolerance 对于无穷大的比较始终返回 false
  4. #GH-158 当测试具有显式转换为 bool 的类型时,检测 boost_test_print_type 不起作用
  5. #GH-163 升级到 v1.68.0 后,MSVC x64/Debug 上的启动速度显着减慢
  6. #PR-147 boost::exception 的 catch 块出现在 execution_monitor::execute() 中的 std::exception 之后
  7. #PR-148 彩色输出矛盾
  8. #PR-151 修复警告:BOOST_CLANG 未定义,评估为 0
  9. #PR-154 当指定 --color_output=no 时,不要输出颜色代码
  10. #PR-161 添加自包含测试
  11. #13380 数据驱动测试的 join 运算符 + 损坏第一列(重复 #12216
  12. #13625 Boost.test 无法在某些架构上使用 -Werror=missing-declarations 编译
  13. #13637 修复了 Bug #12597 导致 BOOST_TEST_CASE 出现问题
Boost.Test v3.8 / boost 1.68
新特性
重大更改
缺陷修复和功能请求
  1. #PR-143 修复 exception_api.run-fail.cpp 文档示例
  2. #PR-145 修复最新 Cygwin 版本上的库构建
  3. #12095 使用先决条件禁用测试会导致错误
  4. #12953 访问 master_test_suite().{argc, argv}
  5. #13504 [Boost::Test] catch_system_errors 的简短形式不起作用
  6. #13525 Boost Test 1.67.0:GCC 4.6.3 编译错误
  7. #13528 当使用 --report_sink 命令行参数时,Boost Test 1.67 崩溃
Boost.Test v3.7 / boost 1.67
重大更改
新特性
缺陷修复和功能请求
  1. #PR-112 故意失败的测试不应进行优化
  2. #PR-118 更新 VxWorks 支持
  3. #PR-118 [clang] 修复 [-Wc++11-narrowing] 错误
  4. #PR-121 修复编译器警告
  5. #PR-122 修复 gcc >= 7 的一些 fallthrough 警告
  6. #PR-125 阻止 2 个未使用的参数警告
  7. #PR-127 静默“未使用变量”警告
  8. #PR-134 修复关闭时 stdcerr 文件创建
  9. #PR-136Windows.h include 更改为全小写 (MinGW)
  10. #12092 请求:允许在 BOOST_AUTO_TEST_CASE_TEMPLATE 中使用 std::tuple 类型列表
  11. #12596 清理测试名称中的元字符
  12. #12597 报告名称冲突的测试
  13. #12969 Clang 下链接 print_helper_t<nullptr_t> 时出现问题
  14. #13058 Boost Test 中的 errors.hpp 需要禁用警告 C4946
  15. #13149 父套件上的依赖装饰器
  16. #13170 BOOST_AUTO_TEST_CASE_TEMPLATE 不想要列表的 typedef
  17. #13181 Boost test 无法比较具有 beginend 但没有 const_iterator 的类
  18. #13371 使用 --log_sink=file 时出现释放后使用 (Use-after-free) 问题
  19. #13387 测试头文件编译失败
  20. #13398 日志格式 JUNIT 生成无效的 XML 文件
  21. #13407 Boost.Test 在 Cygwin 下似乎崩溃
  22. #13435 BOOST_TEST_GLOBAL_CONFIGURATION (结果报告关闭时间)
  23. #13443 当样本数量大于 9 时,Boost.Test 数据驱动测试编译失败
Boost.Test v3.6 / boost 1.65
破坏性变更
新特性
Bug 修复和功能请求
  1. #PR-106 替换已弃用的 binders 和 adapters,并将 random_shuffle 替换为更现代的等效项
  2. #5282 Test fixtures 不支持虚拟继承
  3. #5563 在全局 fixture 中使用测试宏会导致 Boost.Test 崩溃
  4. #11471 array 是一个序列
  5. #11962 fixture 构造函数中的 BOOST_TEST_MESSAGE - 无效的 XML
  6. #12228 一些测试头文件无法独立编译
  7. #12631 当在 BOOST_DATA_TEST_CASE 中使用时,BOOST_TEST_MESSAGE 生成不正确的输出
  8. #13011 BOOST_TEST 在浮点关系运算符中损坏
Boost.Test v3.5 / boost 1.64
新特性
Bug 修复和功能请求
  1. #PR-107 BOOST_NO_EXCEPTIONS 拼写错误导致 throw_exception 在某些情况下不可用
  2. #PR-108 将大写变量名称更改为小写
  3. #11756 boost.Test: 不符合标准的 FE_* 宏的使用 (无法在无 FPU 架构上编译 boost 测试库) (重新打开)
  4. #12540 为测试中打印类型提供自定义点
  5. #12712 BOOST_AUTO_TEST_SUITE: 通过使用 __COUNTER__ 生成唯一名称
  6. #12748 Boost.Test 定义了一个名为 VERSION 的变量
  7. #12778 Boost.Test 在某些情况下针对左移运算符损坏 (nullptr 问题)
Boost.Test v3.4 / boost 1.63
破坏性变更
  1. 现在,测试用例名称中出现的冒号将替换为下划线。这主要影响模板/类型化测试用例。由于冒号 ':' 自 1.62 版本以来被解释为过滤器分隔符,因此需要进行此更改,否则无法执行 --list_content 报告的测试。有关更多详细信息,请参阅 #12531
新特性
Bug 修复和功能请求
  1. #PR-103 语法更改消除了最新的 gcc 警告
  2. #PR-105 修复了 gcc 6 的未使用参数警告/错误
  3. #11756 boost.Test: 不符合标准的 FE_* 宏的使用 (无法在无 FPU 架构上编译 boost 测试库)
  4. #11907 为什么 BOOST_TEST()std::string 视为集合?
  5. #12339 建议用户提供一种禁用彩色输出闪烁的方法
  6. #12506 Boost.test report_sink 描述中的拼写错误
  7. #12507 Boost.test --report_sink 参数损坏
  8. #12530 在不运行任何测试的情况下,无法找出 Boost.Test 版本
  9. #12531 Boost 1.62 中的 --run_test 不接受包含 ':' 的测试名称
Boost.Test v3.3 / boost 1.62
新特性
Bug 修复和功能请求
  1. #PR-81 可以在编译时删除对备用堆栈的支持。 有关更多详细信息,请参见 BOOST_TEST_DISABLE_ALT_STACK
  2. #8707 从 Boost Test 提供标准 xUnit XML 输出
  3. #8834 Boost Test 应该能够同时生成 XML 和 HRF 报告
  4. #11128 [bb10/qnx failures] 构建错误
  5. #11845BOOST_DATA_TEST_CASE 中的每个数据集生成唯一且稳定的测试名称的能力
  6. #11859 Run-Parameters 中 "," 的错误处理
  7. #12024 boost test 依赖于 android 上不存在的 abi::__cxa_demangle
  8. #12093 Boost 1.60.0: 构建失败 (gcc 4.6)
  9. #12103 gcc bug 58952 的修复 (getchar()uClibc 中定义为宏)
  10. #12224 在禁用 RTTI 的 MSVC 上崩溃
  11. #12241std::tuple 范围的数据驱动测试已损坏
  12. #12257test_case_gen 生成的 test_units 中的行号不正确
  13. #12378 使用 clang 3.8 编译错误
Boost.Test v3.2 / boost 1.61
新特性
Bug 修复和功能请求
  1. #6767 如果浮点异常函数是宏,则使用命名空间限定符会中断
  2. #8905 boost/test/impl/debug.ipp: 忽略来自 WaitForSingleObject 的返回值
  3. #9443 未正确遵守测试用例随机顺序的运行时参数随机种子
  4. #11854BOOST_DATA_TEST_CASE 中添加 fixture 支持
  5. #11887 BOOST_TEST(3u == (std::max)(0u, 3u)) 失败
  6. #11889 BOOST_DATA_TEST_CASE 对于 4D 和更高维度的网格编译失败
  7. #11983 Boost Test XML 报告包含未转义的 XML 字符
Boost.Test v3.1 / boost 1.60
新的主要特性
Bug 修复和功能请求
  1. #3384 双引号参数 (包括空格) 被 Boost.Test 分割。
  2. #3897 测试框架在测试 __FreeBSD_version 之前不包含 <osreldate.h> (在 1.59 中已修复)
  3. #6032 当使用路径和空格时,init_unit_test_suite 中的程序选项不正确
  4. #6859 Boost.Test 吞噬了最后一个空命令行参数
  5. #7257 在任何测试宏之后,Boost.Test 都会更改并且不恢复 ostream 精度 (在 1.59 中已修复)
  6. #9228 使 Boost.Test 在禁用 RTTI 的情况下工作的补丁 (在 1.59 中已修复)
  7. #10317 如果参数包含空格,boost::test 会损坏 argv 的内容
  8. #11279 应报告无效参数
  9. #11478 Boost Test 异常断言失败的消息不佳
  10. #11571 无法编译 BOOST_TEST( ..., per_element() ) vector<string> 的比较
  11. #11623 Clang 拒绝一些简单的 BOOST_TEST() 语句
  12. #11624 BOOST_TEST( 0.0 == 0.0 ) 在 C++11 (GCC 和 Clang) 下失败
  13. #11625 BOOST_TEST( ..., per_element() ) 错误地要求集合是可比较的
Boost.Test v3 / boost 1.59
新的主要特性
Bug 修复和功能请求
  1. #2018 文档章节 "Runtime parameters reference" 中的错误
  2. #2450 浮点比较算法 html 中的公式未正确呈现
  3. #2600 单元测试框架 - 遗漏的文档
  4. #2717 BOOST_<level>_EQUAL_COLLECTION 文档拼写错误
  5. #2759 test new-year-resolution.html 中的拼写错误
  6. #3182 _CrtSetReportFile 可用于重定向内存泄漏报告
  7. #3316 尝试从 init_tests_func 记录日志时发生访问冲突
  8. #3392 Boost::Test: BOOST_TEST_PASSPOINT 宏的文档内容错误
  9. #3402 文档中的无效定义名称 (重复 ##2717)
  10. #3445 文档中的链接不正确
  11. #3463 GT 很棒!
  12. #3542 detect_memory_leak 参数的文档中的 Bug (重复 ##2018)
  13. #3481 Boost Testing 在 Sun Solaris Containers 下不起作用 (重复 ##3592)
  14. #3495 Boost::Test 在 vserver 环境中运行时进入无限循环 (重复 ##3592)
  15. #3592 under_debugger() 进入无限循环
  16. #3595 拼写错误 (重复 ##2759)
  17. #3623 Boost Test 拼写错误 (重复 ##2759)
  18. #3664 SIGCHLD 始终被视为致命错误
  19. #3784 执行监视器编译中的文档错误
  20. #3785 程序执行监视器实现中的文档错误
  21. #3811 全局命名空间污染
  22. #3834 文档: 可能不正确的 HTML 呈现 (重复 ##2450)
  23. #3896 boost test 命令行参数描述中的错误文档
  24. #3932 BOOST_<level>_GT 描述中的错误 (重复 ##3463)
  25. #3938 文档: 不正确的宏名称 (重复 ##2759)
  26. #3964 BOOST_<level>_CLOSE_FRACTION 的文档不正确
  27. #3978 未能完全将 TestLog 重定向到文件,附加了 Bug 修复
  28. #3979 <boost/test/exception_safety.hpp> 需要额外的包含
  29. #4161 拼写错误...
  30. #4275 Boost.Test 文档错误 (重复 ##2717)
  31. #4389 启用 boost_test 以运行具有任何所需依赖项测试的特定测试。
  32. #4434 BOOST_AUTO_EST_CASE 文档中的拼写错误
  33. #4587 网站中的链接损坏
  34. #4806 无效链接 (示例未在文档中显示)
  35. #4911 ENH: boost.test 输出异常的真实类型名称。
  36. #4923 文档示例中缺少分号
  37. #4924 Boost::Test 文档中的小拼写错误
  38. #4982 Boost.Test 拼错了 Gennadiy Rozental 的电子邮件地址
  39. #5008 Boost.Test 不对测试用例的入口/出口进行检查点
  40. #5036 Boost.Test VC 内存泄漏报告应定向到 stderr
  41. #5262 按名称运行测试实用程序不支持否定
  42. #5374 Boost.Test 的错误不再显示在 VS2010 的错误列表中
  43. #5412 测试库中的 XML 格式化程序错误地处理包含子序列 ]]> 的字符串
  44. #5563 在全局 fixture 中使用测试宏会导致 Boost.Test 崩溃
  45. #5582 BOOST_AUTO_TEST_CASE_TEMPLATE 中存在内存泄漏
  46. #5599 boost::test 文档给出了糟糕的说明
  47. #5718 指向单元测试框架示例的链接损坏
  48. #5729 fpt_limits 中缺少 static_cast
  49. #5870 警告堆栈未维护
  50. #5972 支持程序选项以仅将测试树以文本形式转储到输出流
  51. #6002 未能完全将 TestLog 重定向到文件 (重复)
  52. #6071 Boost Test (Boost 1.46.0) GCC 4.6.1 错误: ‘operator[]’ 的重载不明确
  53. #6074 warnings-as-errors 在发布模式下无法与 Boost.test 一起使用
  54. #6161 SunOS: 错误的 putenv 声明 (重复 #6766)
  55. #6766 config.hppputenv 的不正确声明
  56. #6712 消除 GCC 的警告
  57. #6748 文档中的链接指向错误的页面
  58. #7046 输出完整错误消息,而不仅仅是 512 个字符
  59. #7136 BOOST_<level>_CLOSE_FRACTION 的正确文档未反映到已发布的文档中
  60. #7410 Boost.Test 中的测试单元 (用例和套件) 未在声明点捕获 __FILE____LINE__,因此无法使用外部测试管理工具提供源文件链接
  61. #7894 Boost.Test 文档不包含链接说明
  62. #8201 文档中的链接损坏
  63. #8272 BOOST_REQUIRE_CLOSE 无法使用 boost::multiprecision::cpp_dec_float_100 编译 (重复 ##11054)
  64. #8467 文档中链接不正确 (重复 ##6748)
  65. #8679 Boost.Test 使用其自身的 enable_if/disable_if 模板污染 boost 命名空间
  66. #8862 Boost.Test 文档中的拼写错误
  67. #8895 测试集合比较中的英文错误
  68. #9179 文档: 链接失效 (无法找到 const_string.hpp/const_string_test.cpp)
  69. #9272 boost::test BOOST_<level>_GT 文档错误 (重复 ##3463)
  70. #9390 不完整的 BOOST_TEST_DONT_PRINT_LOG_VALUE
  71. #9409 缺少一些源代码示例
  72. #9537 const_string_test 示例失败
  73. #9539 浮点数比较算法格式不正确
  74. #9581 Squassabia 参考链接返回 404 未找到
  75. #9960 Clang 上的警告
  76. #10256 [boost test] - 问题: sigaltstack
  77. #10318 轻微的文档修复
  78. #10394 Boost Test 文档中的失效链接
  79. #10888 断言失败不会在 VS 2010、VS 2012 或 VS 2013 的错误窗格中显示 (重复)
  80. #11054 如果表达式模板开启,则多精度值的浮点数比较失败
  81. #11347 DS 标识符导致 doc/examples/dataset_example*.cpp 中的测试失败
  82. #11358 Boost.Test v3 警告可以被有益地抑制。
  83. #11359 BOOST_CHECK_EQUAL_COLLECTIONS: 无法控制输出运算符 (重复 #9390)
  84. #11425 use-of-uninitialized-value (已过时)

PrevUpHomeNext