Boost C++ 库

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

PrevUpHomeNext

变更日志

Boost.Test 发布版本

Boost.Test v3.15 / boost 1.79
新特性
Bug 修复和功能请求
  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 中比较无关指针的未定义行为
  8. #PR-275static constexpr 替换匿名 enum 元数
  9. #PR-278lazy_ostream 中使用 boost_test_print_type 自定义点
  10. #PR-281 导出 execution_aborted 异常,以便允许从 DLL 外部捕获它
Boost.Test v3.14 / boost 1.74
新特性
Bug 修复和功能请求
  1. #GH-264 GCC suggest-override 警告
  2. #GH-269 测试中弃用的 bind 占位符
  3. #PR-142 使 under_debugger 在苹果 (iOS/macOS) 上工作
  4. #PR-266 Embarcadero C++ 基于 clang 的编译器的更改
  5. #PR-267 仅在 macOS 上使用 macOS API
Boost.Test v3.13 / boost 1.73
新特性
Bug 修复和功能请求
  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 通过 #GH-173 启用带容差和用户消息的 BOOST_TEST
  17. #PR-239 修复 unit_test_main.ipp 中的未使用变量警告
  18. #PR-247 使用 __linux__ 代替 __linux
  19. #PR-252 修复由于从 wchar_t 中删除 std::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
新特性
Bug 修复和功能请求
  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() 在无 rtti 模式下工作
Boost.Test v3.11 / boost 1.71
新特性
重大变更
Bug 修复和特性请求
  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
新特性
重大变更
Bug 修复和特性请求
  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 缺少枚举的 __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
新特性
Bug 修复和功能请求
  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 修复 #12597 导致的 BOOST_TEST_CASE 问题
Boost.Test v3.8 / boost 1.68
新特性
重大更改
Bug 修复和功能请求
  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
重大更改
新特性
Bug 修复和功能请求
  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 要求警告 C4946off
  15. #13149 父套件上的依赖装饰器
  16. #13170 BOOST_AUTO_TEST_CASE_TEMPLATE 不想要列表的 typedef
  17. #13181 Boost 测试无法比较具有 beginend 但没有 const_iterator 的类
  18. #13371 使用 --log_sink=file 时出现释放后使用
  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 用更现代的等效项替换已弃用的绑定器和适配器,以及 random_shuffle
  2. #5282 测试 fixture 不支持虚拟继承
  3. #5563 在全局 fixture 中使用测试宏会导致 Boost.Test 崩溃
  4. #11471 数组是一个序列
  5. #11962 fixture 构造函数中的 BOOST_TEST_MESSAGE - 无效的 XML
  6. #12228 一些测试头文件无法独立编译
  7. #12631BOOST_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. #11845 能够为 BOOST_DATA_TEST_CASE 中的每个数据集生成唯一且稳定的测试名称
  6. #11859 运行参数中对“,”的处理错误
  7. #12024 boost test 依赖于安卓上不存在的 abi::__cxa_demangle
  8. #12093 Boost 1.60.0:构建失败 (gcc 4.6)
  9. #12103 修复 gcc bug 58952 (getchar()uClibc 中被定义为宏)
  10. #12224 在禁用 RTTI 的情况下,MSVC 上发生崩溃
  11. #12241 基于 std::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 文档章节“运行时参数参考”中的错误
  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 参数的文档中的错误(重复 ##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 完全重定向到文件,已附加错误修复
  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 警告作为错误在发布模式下不可用于 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 测试文档中的断开链接
  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 使用未初始化的值(已过时)

PrevUpHomeNext