⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 runtime_exceptions.cpp

📁 VC源码,开源测试工具.有助于VC++的学习与开发
💻 CPP
字号:
#include <tut/tut.hpp>#include <stdexcept>using std::runtime_error;namespace tut{/** * Testing exceptions in run of test; */struct runtime_ex{    test_runner tr;    struct dummy    {    };    typedef test_group<dummy> tf;    typedef tf::object object;    tf factory;    runtime_ex();};typedef test_group<runtime_ex> tf;typedef tf::object object;tf runtime_exceptions("exceptions at test run time");// ==================================// tests of internal runner// ==================================template<>template<>void runtime_ex::object::test<1>(){    throw 0;}template<>template<>void runtime_ex::object::test<2>(){    throw runtime_error("throwing std exception");}#if defined(TUT_USE_SEH)template<>template<>void runtime_ex::object::test<3>(){    *((char*)0) = 0;}#endifruntime_ex::runtime_ex()     : factory("internal", tr){}// ==================================// tests of controlling runner// ==================================/** * Checks getting unknown exception. */template<>template<>void object::test<1>(){    set_test_name("checks getting unknown exception");        test_result t = tr.run_test("internal",1);    ensure("got exception", t.result == test_result::ex);    ensure("got message", t.message == "");}/** * Checks getting std exception. */template<>template<>void object::test<2>(){    set_test_name("checks getting std exception");        test_result t = tr.run_test("internal", 2);    ensure("got exception", t.result == test_result::ex);    ensure("got message", t.message == "throwing std exception");}#if defined(TUT_USE_SEH)/** * Checks getting segfault under Win32. */template<>template<>void object::test<3>(){    set_test_name("Checks getting segfault under OS Windows");        test_result t = tr.run_test("internal",3);    ensure_equals("got term", t.result, test_result::term);}#endif/** * Running all tests. */template<>template<>void object::test<4>(){    set_test_name("running all tests");        tr.run_tests("internal");}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -