From 5cb93fdb773cb88940e25c69d7ae7a833032203c Mon Sep 17 00:00:00 2001 From: Kosta Date: Mon, 5 Aug 2013 12:40:33 +0200 Subject: [PATCH 01/30] initial checkin of cmake and travis config files --- .travis.yml | 19 +++++++++++++++ projects/CMake/CMakeLists.txt | 46 +++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 .travis.yml create mode 100644 projects/CMake/CMakeLists.txt diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..a86af1b3 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,19 @@ +language: cpp + +compiler: + - clang + - gcc + +env: + - BUILD_TYPE=Debug + - BUILD_TYPE=Release + +install: + - cmake -Hprojects/CMake -BBuild -DCMAKE_BUILD_TYPE=$BUILD_TYPE + - cd Build + - make + - cd .. + +script: + - cd Build + - ctest diff --git a/projects/CMake/CMakeLists.txt b/projects/CMake/CMakeLists.txt new file mode 100644 index 00000000..9584c19b --- /dev/null +++ b/projects/CMake/CMakeLists.txt @@ -0,0 +1,46 @@ +cmake_minimum_required(VERSION 2.8) + +project(Catch C CXX) +message("configure: Catch/SelfTest") + +# switch to the right compiler +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +if(APPLE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") +endif(APPLE) + +# define some folders +set(CATCH_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../") +set(SELF_TEST_DIR ${CATCH_DIR}/projects/SelfTest) +set(SCRIPTS_DIR ${CATCH_DIR}/scripts/) + +# define the sources of the self test +set( + SOURCES + ${SELF_TEST_DIR}/ApproxTests.cpp + ${SELF_TEST_DIR}/BDDTests.cpp + ${SELF_TEST_DIR}/catch_self_test.cpp + ${SELF_TEST_DIR}/ClassTests.cpp + ${SELF_TEST_DIR}/CmdLineTests.cpp + ${SELF_TEST_DIR}/ConditionTests.cpp + ${SELF_TEST_DIR}/ExceptionTests.cpp + ${SELF_TEST_DIR}/GeneratorTests.cpp + ${SELF_TEST_DIR}/MessageTests.cpp + ${SELF_TEST_DIR}/MiscTests.cpp + ${SELF_TEST_DIR}/SectionTrackerTests.cpp + ${SELF_TEST_DIR}/TestMain.cpp + ${SELF_TEST_DIR}/TrickyTests.cpp + ${SELF_TEST_DIR}/VariadicMacrosTests.cpp +) + +# configure the executable +include_directories(${CATCH_DIR}/include/) +add_executable(SelfTest ${SOURCES}) + +# configure unit tests via ctest +enable_testing() +add_test(NAME SelfTest_run COMMAND python ${SCRIPTS_DIR}/approvalTests.py "${CATCH_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/SelfTest") + +#add_custom_target(SelfTest_scripts ALL +# COMMAND ${CMAKE_COMMAND} -E create_symlink \"${CMAKE_CURRENT_SOURCE_DIR}/../../../Data/Resources/mentor2wkt.json\" \"${CMAKE_CURRENT_BINARY_DIR}/mentor2wkt.json\" +#) From ce441a9ba5136ebd8e8c6bcf37013407db3a4f0b Mon Sep 17 00:00:00 2001 From: Kosta Date: Mon, 5 Aug 2013 12:40:33 +0200 Subject: [PATCH 02/30] initial checkin of cmake and travis config files --- .travis.yml | 19 +++++++++++++++ projects/CMake/CMakeLists.txt | 46 +++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 .travis.yml create mode 100644 projects/CMake/CMakeLists.txt diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..dbe73718 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,19 @@ +language: cpp + +compiler: + - clang + - gcc + +env: + - BUILD_TYPE=Debug + - BUILD_TYPE=Release + +install: + - cmake -Hprojects/CMake -BBuild -DCMAKE_BUILD_TYPE=$BUILD_TYPE + - cd Build + - make + - cd .. + +script: + - cd Build + - ctest -VV diff --git a/projects/CMake/CMakeLists.txt b/projects/CMake/CMakeLists.txt new file mode 100644 index 00000000..9584c19b --- /dev/null +++ b/projects/CMake/CMakeLists.txt @@ -0,0 +1,46 @@ +cmake_minimum_required(VERSION 2.8) + +project(Catch C CXX) +message("configure: Catch/SelfTest") + +# switch to the right compiler +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +if(APPLE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") +endif(APPLE) + +# define some folders +set(CATCH_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../") +set(SELF_TEST_DIR ${CATCH_DIR}/projects/SelfTest) +set(SCRIPTS_DIR ${CATCH_DIR}/scripts/) + +# define the sources of the self test +set( + SOURCES + ${SELF_TEST_DIR}/ApproxTests.cpp + ${SELF_TEST_DIR}/BDDTests.cpp + ${SELF_TEST_DIR}/catch_self_test.cpp + ${SELF_TEST_DIR}/ClassTests.cpp + ${SELF_TEST_DIR}/CmdLineTests.cpp + ${SELF_TEST_DIR}/ConditionTests.cpp + ${SELF_TEST_DIR}/ExceptionTests.cpp + ${SELF_TEST_DIR}/GeneratorTests.cpp + ${SELF_TEST_DIR}/MessageTests.cpp + ${SELF_TEST_DIR}/MiscTests.cpp + ${SELF_TEST_DIR}/SectionTrackerTests.cpp + ${SELF_TEST_DIR}/TestMain.cpp + ${SELF_TEST_DIR}/TrickyTests.cpp + ${SELF_TEST_DIR}/VariadicMacrosTests.cpp +) + +# configure the executable +include_directories(${CATCH_DIR}/include/) +add_executable(SelfTest ${SOURCES}) + +# configure unit tests via ctest +enable_testing() +add_test(NAME SelfTest_run COMMAND python ${SCRIPTS_DIR}/approvalTests.py "${CATCH_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/SelfTest") + +#add_custom_target(SelfTest_scripts ALL +# COMMAND ${CMAKE_COMMAND} -E create_symlink \"${CMAKE_CURRENT_SOURCE_DIR}/../../../Data/Resources/mentor2wkt.json\" \"${CMAKE_CURRENT_BINARY_DIR}/mentor2wkt.json\" +#) From f8d24b1d50c62264fd98dad5348c88009ef8a2f7 Mon Sep 17 00:00:00 2001 From: Kosta Date: Mon, 5 Aug 2013 12:53:36 +0200 Subject: [PATCH 03/30] Calling SelfTest exe directly --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index dbe73718..ca651c50 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,4 +16,5 @@ install: script: - cd Build + - ./SelfTest - ctest -VV From 5553a538c520aaf1d1adb9c42166a71f3ea62105 Mon Sep 17 00:00:00 2001 From: Kosta Date: Mon, 5 Aug 2013 12:57:29 +0200 Subject: [PATCH 04/30] tweak CMakeLists.txt --- projects/CMake/CMakeLists.txt | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/projects/CMake/CMakeLists.txt b/projects/CMake/CMakeLists.txt index 9584c19b..c79059bf 100644 --- a/projects/CMake/CMakeLists.txt +++ b/projects/CMake/CMakeLists.txt @@ -3,16 +3,10 @@ cmake_minimum_required(VERSION 2.8) project(Catch C CXX) message("configure: Catch/SelfTest") -# switch to the right compiler -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") -if(APPLE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") -endif(APPLE) - # define some folders -set(CATCH_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../") +set(CATCH_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..") set(SELF_TEST_DIR ${CATCH_DIR}/projects/SelfTest) -set(SCRIPTS_DIR ${CATCH_DIR}/scripts/) +set(SCRIPTS_DIR ${CATCH_DIR}/scripts) # define the sources of the self test set( @@ -34,13 +28,9 @@ set( ) # configure the executable -include_directories(${CATCH_DIR}/include/) +include_directories(${CATCH_DIR}/include) add_executable(SelfTest ${SOURCES}) # configure unit tests via ctest enable_testing() add_test(NAME SelfTest_run COMMAND python ${SCRIPTS_DIR}/approvalTests.py "${CATCH_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/SelfTest") - -#add_custom_target(SelfTest_scripts ALL -# COMMAND ${CMAKE_COMMAND} -E create_symlink \"${CMAKE_CURRENT_SOURCE_DIR}/../../../Data/Resources/mentor2wkt.json\" \"${CMAKE_CURRENT_BINARY_DIR}/mentor2wkt.json\" -#) From 3f2e2bdb25de271351c807f2f676677d1caa576c Mon Sep 17 00:00:00 2001 From: Kosta Date: Mon, 5 Aug 2013 13:10:24 +0200 Subject: [PATCH 05/30] printing the executable into the console window --- scripts/approvalTests.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/approvalTests.py b/scripts/approvalTests.py index 5cdac57d..62727d4f 100644 --- a/scripts/approvalTests.py +++ b/scripts/approvalTests.py @@ -20,6 +20,8 @@ if len(sys.argv) == 2: else: cmdPath = os.path.join( catchPath, 'projects/XCode4/CatchSelfTest/DerivedData/CatchSelfTest/Build/Products/Debug/CatchSelfTest' ) +print "Using executable: " + cmdPath + f = open( rawResultsPath, 'w' ) subprocess.call([ cmdPath, "~dummy", "-r", "console" ], stdout=f, stderr=f ) subprocess.call([ cmdPath, "~dummy", "-s", "-w", "NoAssertions", "-r", "console" ], stdout=f, stderr=f ) From a5c423183a25bc31c0bd1307070b294927c9b5d1 Mon Sep 17 00:00:00 2001 From: Kosta Date: Mon, 5 Aug 2013 13:16:34 +0200 Subject: [PATCH 06/30] debugging arguments passed to the approvalTests script --- scripts/approvalTests.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/approvalTests.py b/scripts/approvalTests.py index 62727d4f..a5c24a9d 100644 --- a/scripts/approvalTests.py +++ b/scripts/approvalTests.py @@ -15,6 +15,10 @@ baselinesPath = os.path.join( catchPath, 'projects/SelfTest/Baselines/approvedRe rawResultsPath = os.path.join( catchPath, 'projects/SelfTest/Baselines/_rawResults.tmp' ) filteredResultsPath = os.path.join( catchPath, 'projects/SelfTest/Baselines/unapprovedResults.txt' ) +print "len(sys.argv) = " + len(sys.argv) +print "sys.argv[0] = " + sys.argv[0] +print "sys.argv[1] = " + sys.argv[1] + if len(sys.argv) == 2: cmdPath = sys.argv[1] else: From f3119b0fcf6108771350f959f418ec92beb87b19 Mon Sep 17 00:00:00 2001 From: Kosta Date: Mon, 5 Aug 2013 13:22:23 +0200 Subject: [PATCH 07/30] more debugging --- scripts/approvalTests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/approvalTests.py b/scripts/approvalTests.py index a5c24a9d..a06518d5 100644 --- a/scripts/approvalTests.py +++ b/scripts/approvalTests.py @@ -15,7 +15,7 @@ baselinesPath = os.path.join( catchPath, 'projects/SelfTest/Baselines/approvedRe rawResultsPath = os.path.join( catchPath, 'projects/SelfTest/Baselines/_rawResults.tmp' ) filteredResultsPath = os.path.join( catchPath, 'projects/SelfTest/Baselines/unapprovedResults.txt' ) -print "len(sys.argv) = " + len(sys.argv) +print "len(sys.argv) = " + str(len(sys.argv)) print "sys.argv[0] = " + sys.argv[0] print "sys.argv[1] = " + sys.argv[1] From 0c8ad55a5bc40cafd859bff167a6e3f9b84ff89c Mon Sep 17 00:00:00 2001 From: Kosta Date: Mon, 5 Aug 2013 13:25:39 +0200 Subject: [PATCH 08/30] more debugging --- scripts/approvalTests.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/approvalTests.py b/scripts/approvalTests.py index a06518d5..f4fa0164 100644 --- a/scripts/approvalTests.py +++ b/scripts/approvalTests.py @@ -16,8 +16,9 @@ rawResultsPath = os.path.join( catchPath, 'projects/SelfTest/Baselines/_rawResul filteredResultsPath = os.path.join( catchPath, 'projects/SelfTest/Baselines/unapprovedResults.txt' ) print "len(sys.argv) = " + str(len(sys.argv)) -print "sys.argv[0] = " + sys.argv[0] -print "sys.argv[1] = " + sys.argv[1] +print "sys.argv[0] = |" + sys.argv[0] + "|" +print "sys.argv[1] = |" + sys.argv[1] + "|" +print "sys.argv[2] = |" + sys.argv[2] + "|" if len(sys.argv) == 2: cmdPath = sys.argv[1] From c4863842c86d0daa578d2a616e1db8ee0a2d4852 Mon Sep 17 00:00:00 2001 From: Kosta Date: Mon, 5 Aug 2013 13:29:42 +0200 Subject: [PATCH 09/30] more approval tests script debugging --- .travis.yml | 3 +-- projects/CMake/CMakeLists.txt | 2 +- scripts/approvalTests.py | 7 +------ 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index ca651c50..cda2ad27 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,5 +16,4 @@ install: script: - cd Build - - ./SelfTest - - ctest -VV + - ctest -V diff --git a/projects/CMake/CMakeLists.txt b/projects/CMake/CMakeLists.txt index c79059bf..39e3e4f1 100644 --- a/projects/CMake/CMakeLists.txt +++ b/projects/CMake/CMakeLists.txt @@ -33,4 +33,4 @@ add_executable(SelfTest ${SOURCES}) # configure unit tests via ctest enable_testing() -add_test(NAME SelfTest_run COMMAND python ${SCRIPTS_DIR}/approvalTests.py "${CATCH_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/SelfTest") +add_test(NAME SelfTest_run COMMAND python ${SCRIPTS_DIR}/approvalTests.py "${CMAKE_CURRENT_BINARY_DIR}/SelfTest") diff --git a/scripts/approvalTests.py b/scripts/approvalTests.py index f4fa0164..0eda5933 100644 --- a/scripts/approvalTests.py +++ b/scripts/approvalTests.py @@ -15,12 +15,7 @@ baselinesPath = os.path.join( catchPath, 'projects/SelfTest/Baselines/approvedRe rawResultsPath = os.path.join( catchPath, 'projects/SelfTest/Baselines/_rawResults.tmp' ) filteredResultsPath = os.path.join( catchPath, 'projects/SelfTest/Baselines/unapprovedResults.txt' ) -print "len(sys.argv) = " + str(len(sys.argv)) -print "sys.argv[0] = |" + sys.argv[0] + "|" -print "sys.argv[1] = |" + sys.argv[1] + "|" -print "sys.argv[2] = |" + sys.argv[2] + "|" - -if len(sys.argv) == 2: +if len(sys.argv) >= 2: cmdPath = sys.argv[1] else: cmdPath = os.path.join( catchPath, 'projects/XCode4/CatchSelfTest/DerivedData/CatchSelfTest/Build/Products/Debug/CatchSelfTest' ) From ba24e513062a9820fe7332c8bf83236351959af3 Mon Sep 17 00:00:00 2001 From: Kosta Date: Mon, 5 Aug 2013 13:44:37 +0200 Subject: [PATCH 10/30] cmake: call SelfTest exe instead of approvalTests script Just call the SelfTest executable directly for testing, since there seems to be a problem with the approval tests python script right now. --- projects/CMake/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/projects/CMake/CMakeLists.txt b/projects/CMake/CMakeLists.txt index 39e3e4f1..cff62616 100644 --- a/projects/CMake/CMakeLists.txt +++ b/projects/CMake/CMakeLists.txt @@ -33,4 +33,5 @@ add_executable(SelfTest ${SOURCES}) # configure unit tests via ctest enable_testing() -add_test(NAME SelfTest_run COMMAND python ${SCRIPTS_DIR}/approvalTests.py "${CMAKE_CURRENT_BINARY_DIR}/SelfTest") +add_test(NAME SelfTest_run COMMAND SelfTest) +#add_test(NAME SelfTest_run COMMAND python ${SCRIPTS_DIR}/approvalTests.py "${CMAKE_CURRENT_BINARY_DIR}/SelfTest") From 7fcde92561c96244e65996f26e8d42658df10d98 Mon Sep 17 00:00:00 2001 From: Kosta Date: Mon, 5 Aug 2013 14:50:14 +0200 Subject: [PATCH 11/30] added travis status to the readme --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index b7dcefcb..5b95583d 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,9 @@ *v1.0 build 6 (master branch)* +[![Build Status](https://travis-ci.org/AIM360/Catch.png?branch=master)](https://travis-ci.org/AIM360/Catch) Travis CI build status for the `master` branch of this fork +[![Build Status](https://travis-ci.org/AIM360/Catch.png?branch=Integration)](https://travis-ci.org/AIM360/Catch) Travis CI build status for the `Integration` branch of this fork + # New release with significant changes [Please see this page for details - including some breaking changes](docs/whats-changed.md) From cd9a5939f4f8ea2cf5abd8d88b2b285aaa88624d Mon Sep 17 00:00:00 2001 From: Kosta Date: Mon, 5 Aug 2013 14:52:05 +0200 Subject: [PATCH 12/30] fixed formatting of travis status icons --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b95583d..3f3f643b 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ *v1.0 build 6 (master branch)* [![Build Status](https://travis-ci.org/AIM360/Catch.png?branch=master)](https://travis-ci.org/AIM360/Catch) Travis CI build status for the `master` branch of this fork + [![Build Status](https://travis-ci.org/AIM360/Catch.png?branch=Integration)](https://travis-ci.org/AIM360/Catch) Travis CI build status for the `Integration` branch of this fork # New release with significant changes From af36d932cbe1907f3fb5f7cec80f6f4a0cbb3b64 Mon Sep 17 00:00:00 2001 From: Kosta Date: Tue, 6 Aug 2013 11:14:54 +0200 Subject: [PATCH 13/30] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3f3f643b..090d4110 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ *v1.0 build 6 (master branch)* -[![Build Status](https://travis-ci.org/AIM360/Catch.png?branch=master)](https://travis-ci.org/AIM360/Catch) Travis CI build status for the `master` branch of this fork +[![Build Status](http://travis-ci.org/AIM360/Catch.png?branch=master)](http://travis-ci.org/AIM360/Catch) Travis CI build status for the `master` branch of this fork -[![Build Status](https://travis-ci.org/AIM360/Catch.png?branch=Integration)](https://travis-ci.org/AIM360/Catch) Travis CI build status for the `Integration` branch of this fork +[![Build Status](http://travis-ci.org/AIM360/Catch.png?branch=Integration)](http://travis-ci.org/AIM360/Catch) Travis CI build status for the `Integration` branch of this fork # New release with significant changes From d8f93f75525545721d750c76d89714ebb1b2aadb Mon Sep 17 00:00:00 2001 From: Kosta Date: Tue, 6 Aug 2013 11:16:19 +0200 Subject: [PATCH 14/30] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 090d4110..1a59bada 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,7 @@ *v1.0 build 6 (master branch)* -[![Build Status](http://travis-ci.org/AIM360/Catch.png?branch=master)](http://travis-ci.org/AIM360/Catch) Travis CI build status for the `master` branch of this fork - -[![Build Status](http://travis-ci.org/AIM360/Catch.png?branch=Integration)](http://travis-ci.org/AIM360/Catch) Travis CI build status for the `Integration` branch of this fork +[![Build Status](https://travis-ci.org/AIM360/Catch.png)](https://travis-ci.org/AIM360/Catch) Travis CI build status for this fork # New release with significant changes From 4ab680a4fbfe497b0672e697637e695cbef5a14e Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Tue, 1 Oct 2013 08:20:08 +0100 Subject: [PATCH 15/30] Expanded docs on tests cases and sections (still work-in-progress) - also touched up some outdated bits in the tutorial --- docs/command-line.md | 20 ++++++------ docs/test-cases-and-sections.md | 30 ++++++++++++++++++ docs/tutorial.md | 55 +++++++++++++++++++++++++++++++-- 3 files changed, 93 insertions(+), 12 deletions(-) create mode 100644 docs/test-cases-and-sections.md diff --git a/docs/command-line.md b/docs/command-line.md index ce489070..e641de47 100644 --- a/docs/command-line.md +++ b/docs/command-line.md @@ -12,7 +12,7 @@ Note that options are described according to the following pattern: ` -e, --nothrow`
` -h, -?, --help`
- + ## Specifying which tests to run
<test-spec> ...
@@ -49,7 +49,7 @@ A series of tags form an AND expression wheras a comma seperated sequence forms This matches all tests tagged `[one]` and `[two]`, as well as all tests tagged `[three]` - + ## Choosing a reporter to use
-r, --reporter <reporter>
@@ -64,21 +64,21 @@ The bundled reporters are: The JUnit reporter is an xml format that follows the structure of the JUnit XML Report ANT task, as consumed by a number of third-party tools, including Continuous Integration servers such as Hudson. If not otherwise needed, the standard XML reporter is preferred as this is a streaming reporter, whereas the Junit reporter needs to hold all its results until the end so it can write the overall results into attributes of the root node. - + ## Breaking into the debugger
-b, --break
In some IDEs (currently XCode and Visual Studio) it is possible for Catch to break into the debugger on a test failure. This can be very helpful during debug sessions - especially when there is more than one path through a particular test. In addition to the command line option, ensure you have built your code with the DEBUG preprocessor symbol - + ## Showing results for successful tests
-s, --success
Usually you only want to see reporting for failed tests. Sometimes it's useful to see *all* the output (especially when you don't trust that that test you just added worked first time!). To see successul, as well as failing, test results just pass this option. Note that each reporter may treat this option differently. The Junit reporter, for example, logs all results regardless. - + ## Aborting after a certain number of failures
-a, --abort
 -x, --abortx [<failure threshold>]
@@ -89,7 +89,7 @@ If a ```CHECK``` assertion fails even the current test case is not aborted.
 
 Sometimes this results in a flood of failure messages and you'd rather just see the first few. Specifying ```-a``` or ```--abort``` on its own will abort the whole test run on the first failed assertion of any kind. Use ```-x``` or ```--abortx``` followed by a number to abort after that number of assertion failures.
 
-
+
 ## Listing available tests, tags or reporters
 
-l, --list-tests
 -t, --list-tags
@@ -103,20 +103,20 @@ If one or more test-specs have been supplied too then only the matching tests wi
 
 ```--list-reporters``` lists the available reporters.
 
-
+
 ## Sending output to a file
 
-o, --out <filename>
 
Use this option to send all output to a file. By default output is sent to stdout (note that uses of stdout and stderr *from within test cases* are redirected and included in the report - so even stderr will effectively end up on stdout). - + ## Naming a test run
-n, --name <name for test run>
If a name is supplied it will be used by the reporter to provide an overall name for the test run. This can be useful if you are sending to a file, for example, and need to distinguish different test runs - either from different Catch executables or runs of the same executable with different options. If not supplied the name is defaulted to the name of the executable. - + ## Eliding assertions expected to throw
-e, --nothrow
@@ -126,7 +126,7 @@ These can be a nuisance in certain debugging environments that may break when ex When running with this option any throw checking assertions are skipped so as not to contribute additional noise. Be careful if this affects the behaviour of subsequent tests. - + ## Usage
-h, -?, --help
diff --git a/docs/test-cases-and-sections.md b/docs/test-cases-and-sections.md new file mode 100644 index 00000000..39dc7e82 --- /dev/null +++ b/docs/test-cases-and-sections.md @@ -0,0 +1,30 @@ +# Test cases and sections + +While Catch fully supports the traditional, *x*Unit, style of class-based fixtures containing test case methods this is not the preferred style. + +Instead Catch provides a powerful mechanism for nesting test case sections within a test case. For a more detailed discussion see the [tutorial](tutorial.md#testCasesAndSections). + +Test cases and sections are very easy to use in practice: + +**TEST_CASE(** _test name_ [**,** _tags_ ] **)** +**SECTION(** _section name_ **)** + +_test name_ and _section name_ are free form, quoted, strings. The optional _tags_ argument is a quoted string containing one or more tags enclosed in square brackets. Tags are discussed below. Test names must be unique within the Catch executable. + +For examples see the [Tutorial](tutorial.md) + +## Tags + +-{placeholder for documentation of tags}- + +## User Story/ BDD-style test cases + +In addition to Catch's take on the classic style of test cases, Catch supports an alternative syntax that allow tests to be written as "executable specifications" (one of the early goals of BDD). This set of macros map on to TEST_CASEs and SECTIONs, with a little internal support to make them smoother to work with. + +**SCENARIO(** _scenario name_ ) + +-{placeholder for given-when-then docs}- + +--- + +[Home](../README.md) \ No newline at end of file diff --git a/docs/tutorial.md b/docs/tutorial.md index 24857081..12f838d9 100644 --- a/docs/tutorial.md +++ b/docs/tutorial.md @@ -87,10 +87,61 @@ Of course there are still more issues to do deal with. For example we'll hit pro Although this was a simple test it's been enough to demonstrate a few things about how Catch is used. Let's take moment to consider those before we move on. 1. All we did was ```#define``` one identifier and ```#include``` one header and we got everything - even an implementation of ```main()``` that will [respond to command line arguments](command-line.md). You can only use that ```#define``` in one implementation file, for (hopefully) obvious reasons. Once you have more than one file with unit tests in you'll just ```#include "catch.hpp"``` and go. Usually it's a good idea to have a dedicated implementation file that just has ```#define CATCH_CONFIG_MAIN``` and ```#include "catch.hpp"```. You can also provide your own implementation of main and drive Catch yourself (see [Supplying-your-own-main()](own-main.md). -2. We introduce test cases with the TEST_CASE macro. This macro takes two arguments - a hierarchical test name (forward slash separated, by convention) and a free-form description. The test name should be unique - and ideally will logically group related tests together like folders in a file system. You can run sets of tests by specifying a wildcarded test name. -3. The name and description arguments are just strings. We haven't had to declare a function or method - or explicitly register the test case anywhere. Behind the scenes a function with a generated name is defined for you, and automatically registered using static registry classes. By abstracting the function name away we can name our tests without the constraints of identifier names. +2. We introduce test cases with the TEST_CASE macro. This macro takes one or two arguments - a free form test name and, optionally, one or more tags (for more see Test cases and Sections, below. The test name must be unique. You can run sets of tests by specifying a wildcarded test name or a tag expression. See the [command line docs](command-line.md) for more information on running tests. +3. The name and tags arguments are just strings. We haven't had to declare a function or method - or explicitly register the test case anywhere. Behind the scenes a function with a generated name is defined for you, and automatically registered using static registry classes. By abstracting the function name away we can name our tests without the constraints of identifier names. 4. We write our individual test assertions using the REQUIRE macro. Rather than a separate macro for each type of condition we express the condition naturally using C/C++ syntax. Behind the scenes a simple set of expression templates captures the left-hand-side and right-hand-side of the expression so we can display the values in our test report. As we'll see later there _are_ other assertion macros - but because of this technique the number of them is drastically reduced. + +## Test cases and sections + +Most test frameworks have a class-based fixture mechanism. That is, test cases map to methods on a class and common setup and teardown can be performed in ```setup()``` and ```teardown()``` methods (or constructor/ destructor in languages, like C++, that support deterministic destruction). + +While Catch fully supports this way of working there are a few problems with the approach. In particular the way your code must be split up, and the blunt granularity (you can only have one setup/ teardown pair across a set of methods - sometimes you want slightly different setup in each method - or you may want several levels of setup. We'll revisit that concept shortly and, hopefully, make it clearer). It was problems like these that led James Newkirk, who led the team that built NUnit, to start again from scratch and build xUnit). + +Catch takes a different approach (to both NUnut and xUnit) that is a more natural fit for C++ and the C family of languages. This is best explaned through an example: + +```c++ +TEST_CASE( "vectors can be sized and resized", "[vector]" ) { + + std::vector v( 5 ); + + REQUIRE( v.size() == 5 ); + REQUIRE( v.capacity() >= 5 ); + + SECTION( "resizing bigger changes size and capacity" ) { + v.resize( 10 ); + + REQUIRE( v.size() == 10 ); + REQUIRE( v.capacity() >= 10 ); + } + SECTION( "resizing smaller changes size but not capacity" ) { + v.resize( 0 ); + + REQUIRE( v.size() == 0 ); + REQUIRE( v.capacity() >= 5 ); + } + SECTION( "reserving bigger changes capacity but not size" ) { + v.reserve( 10 ); + + REQUIRE( v.size() == 5 ); + REQUIRE( v.capacity() >= 10 ); + } + SECTION( "reserving smaller does not change size or capacity" ) { + v.reserve( 0 ); + + REQUIRE( v.size() == 5 ); + REQUIRE( v.capacity() >= 5 ); + } +} +``` + +For each ```SECTION``` the ```TEST_CASE``` is executed from the start - so as we enter each section we know that size is 5 and capacity is at least 5. We enforced those requirements with the ```REQUIRE```s at the top level so we can be confident in them. +This works because the ```SECTION``` macro contains an if statement that calls back into Catch to see if the section should be executed. One leaf section is executed on each run through a ```TEST_CASE```. The other sections are skipped. Next time through the next section is executed, and so on until no new sections are encountered. + +So far so good - this is already an improvement on the setup/ teardown approach because now we see our setup code inline and we can use the stack. + +-{placeholder for documentation on nested sections}- + ## Next steps For more specific information see the [Reference pages](reference-index.md) From 76ef79a9900fec03a0fa548878331813272def3a Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Tue, 1 Oct 2013 19:07:09 +0100 Subject: [PATCH 16/30] Expanded test-cases-and-exceptions docs and added to reference-index --- docs/reference-index.md | 1 + docs/test-cases-and-sections.md | 21 ++++++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/docs/reference-index.md b/docs/reference-index.md index 01d2799a..0d662579 100644 --- a/docs/reference-index.md +++ b/docs/reference-index.md @@ -4,6 +4,7 @@ Before looking at this material be sure to read the [tutorial](tutorial.md) * [Command Line](command-line.md) * [Assertion Macros](assertions.md) +* [Test cases and sections](test-cases-and-sections.md) * [Logging Macros](logging.md) * [Supplying your own main()](own-main.md) * [Test fixtures](test-fixtures.md) diff --git a/docs/test-cases-and-sections.md b/docs/test-cases-and-sections.md index 39dc7e82..9994ca7a 100644 --- a/docs/test-cases-and-sections.md +++ b/docs/test-cases-and-sections.md @@ -19,11 +19,26 @@ For examples see the [Tutorial](tutorial.md) ## User Story/ BDD-style test cases -In addition to Catch's take on the classic style of test cases, Catch supports an alternative syntax that allow tests to be written as "executable specifications" (one of the early goals of BDD). This set of macros map on to TEST_CASEs and SECTIONs, with a little internal support to make them smoother to work with. +In addition to Catch's take on the classic style of test cases, Catch supports an alternative syntax that allow tests to be written as "executable specifications" (one of the early goals of [BDD](http://dannorth.net/introducing-bdd/)). This set of macros map on to ```TEST_CASE```s and ```SECTION```s, with a little internal support to make them smoother to work with. -**SCENARIO(** _scenario name_ ) +**SCENARIO(** _scenario name_ [**,** _tags_ ] **)** --{placeholder for given-when-then docs}- +This macro maps onto ```TEST_CASE``` and works in the same way, except that the test case name will be prefixed by "Scenario: " + +**GIVEN(** _something_ **)** +**WHEN(** _something_ **)** +**THEN(** _something_ **)** + +These macros map onto ```SECTION```s except that the section names are the _something_s prefixed by "given: ", "when: " or "then: " respectively. + +**AND_WHEN(** _something_ **)** +**AND_THEN(** _something_ **)** + +Similar to ```WHEN``` and ```THEN``` except that the prefixes start with "and ". These are used to chain ```WHEN```s and ```THEN```s together. + +When any of these macros are used the console reporter recognises them and formats the test case header such that the Givens, Whens and Thens are aligned to aid readability. + +Other than the additional prefixes and the formatting in the console reporter these macros behave exactly as ```TEST_CASE```s and ```SECTION```s. As such there is nothing enforcing the correct sequencing of these macros - that's up to the programmer! --- From 716a3a028513d995a2b1d718109eeb70277c4981 Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Wed, 2 Oct 2013 07:55:01 +0100 Subject: [PATCH 17/30] escaped square brackets --- docs/test-cases-and-sections.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/test-cases-and-sections.md b/docs/test-cases-and-sections.md index 9994ca7a..fe39c69b 100644 --- a/docs/test-cases-and-sections.md +++ b/docs/test-cases-and-sections.md @@ -1,12 +1,12 @@ # Test cases and sections -While Catch fully supports the traditional, *x*Unit, style of class-based fixtures containing test case methods this is not the preferred style. +While Catch fully supports the traditional, xUnit, style of class-based fixtures containing test case methods this is not the preferred style. Instead Catch provides a powerful mechanism for nesting test case sections within a test case. For a more detailed discussion see the [tutorial](tutorial.md#testCasesAndSections). Test cases and sections are very easy to use in practice: -**TEST_CASE(** _test name_ [**,** _tags_ ] **)** +**TEST_CASE(** _test name_ \[**,** _tags_ \] **)** **SECTION(** _section name_ **)** _test name_ and _section name_ are free form, quoted, strings. The optional _tags_ argument is a quoted string containing one or more tags enclosed in square brackets. Tags are discussed below. Test names must be unique within the Catch executable. @@ -17,11 +17,11 @@ For examples see the [Tutorial](tutorial.md) -{placeholder for documentation of tags}- -## User Story/ BDD-style test cases +## BDD-style test cases -In addition to Catch's take on the classic style of test cases, Catch supports an alternative syntax that allow tests to be written as "executable specifications" (one of the early goals of [BDD](http://dannorth.net/introducing-bdd/)). This set of macros map on to ```TEST_CASE```s and ```SECTION```s, with a little internal support to make them smoother to work with. +In addition to Catch's take on the classic style of test cases, Catch supports an alternative syntax that allow tests to be written as "executable specifications" (one of the early goals of [Behaviour Driven Development](http://dannorth.net/introducing-bdd/)). This set of macros map on to ```TEST_CASE```s and ```SECTION```s, with a little internal support to make them smoother to work with. -**SCENARIO(** _scenario name_ [**,** _tags_ ] **)** +**SCENARIO(** _scenario name_ \[**,** _tags_ \] **)** This macro maps onto ```TEST_CASE``` and works in the same way, except that the test case name will be prefixed by "Scenario: " From b9c6d30631dba4a03c182fb8950153bae68a3bd6 Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Wed, 2 Oct 2013 07:58:15 +0100 Subject: [PATCH 18/30] minor doc tweaks --- docs/assertions.md | 4 ++-- docs/command-line.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/assertions.md b/docs/assertions.md index 114c841b..3fe09be5 100644 --- a/docs/assertions.md +++ b/docs/assertions.md @@ -50,8 +50,8 @@ Expects that no exception is thrown during evaluation of the expression. To support Matchers a slightly different form is used. Matchers will be more fully documented elsewhere. *Note that Matchers are still at early stage development and are subject to change.* -**REQUIRE_THAT(** _lhs_, __matcher call__ **)** and -**CHECK_THAT(** _lhs_, __matcher call__ **)** +**REQUIRE_THAT(** _lhs_, _matcher call_ **)** and +**CHECK_THAT(** _lhs_, _matcher call_ **)** --- diff --git a/docs/command-line.md b/docs/command-line.md index e641de47..7f380800 100644 --- a/docs/command-line.md +++ b/docs/command-line.md @@ -1,4 +1,4 @@ -CATCH works quite nicely without any command line options at all - but for those times when you want greater control the following options are available. +Catch works quite nicely without any command line options at all - but for those times when you want greater control the following options are available. Note that options are described according to the following pattern: ` ...`
From 0b097c26b6b1a086cf1077a507614fe5b171502a Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Wed, 2 Oct 2013 08:07:52 +0100 Subject: [PATCH 19/30] Fix wrapping width when listing tests - addresses #201 --- include/internal/catch_list.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/internal/catch_list.hpp b/include/internal/catch_list.hpp index 050e1793..550107f8 100644 --- a/include/internal/catch_list.hpp +++ b/include/internal/catch_list.hpp @@ -58,7 +58,7 @@ namespace Catch { matchedTests++; Text nameWrapper( it->getTestCaseInfo().name, TextAttributes() - .setWidth( maxNameLen ) + .setWidth( maxNameLen+2 ) .setInitialIndent(2) .setIndent(4) ); From 34266b6e0fee3bb481f5549c91a3c8e0a0f8d69f Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Wed, 2 Oct 2013 08:17:46 +0100 Subject: [PATCH 20/30] more doc formatting fixes --- docs/assertions.md | 35 +++++++++++++++++++-------------- docs/test-cases-and-sections.md | 16 +++++++-------- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/docs/assertions.md b/docs/assertions.md index 3fe09be5..e72ee03f 100644 --- a/docs/assertions.md +++ b/docs/assertions.md @@ -1,6 +1,6 @@ # Assertion Macros -Most test frameworks have a large collection of assertion macros to capture all possible conditional forms (_EQUALS, _NOTEQUALS, _GREATER_THAN etc). +Most test frameworks have a large collection of assertion macros to capture all possible conditional forms (```_EQUALS```, ```_NOTEQUALS```, ```_GREATER_THAN``` etc). Catch is different. Because it decomposes natural C-style conditional expressions most of these forms are reduced to one or two that you will use all the time. That said there are a rich set of auxilliary macros as well. We'll describe all of these here. @@ -8,11 +8,12 @@ Most of these macros come in two forms: ## Natural Expressions -The REQUIRE family of macros tests an expression and aborts the test case if it fails. -The CHECK family are equivalent but execution continues in the same test case even if the assertion fails. This is useful if you have a series of essentially orthoginal assertions and it is useful to see all the results rather than stopping at the first failure. +The ```REQUIRE``` family of macros tests an expression and aborts the test case if it fails. +The ```CHECK``` family are equivalent but execution continues in the same test case even if the assertion fails. This is useful if you have a series of essentially orthoginal assertions and it is useful to see all the results rather than stopping at the first failure. + +* **REQUIRE(** _expression_ **)** and +* **CHECK(** _expression_ **)** -**REQUIRE(** _expression_ **)** and -**CHECK(** _expression_ **)** Evaluates the expression and records the result. If an exception is thrown it is caught, reported, and counted as a failure. These are the macros you will use most of the time Examples: @@ -22,8 +23,9 @@ CHECK( str == "string value" ); CHECK( thisReturnsTrue() ); REQUIRE( i == 42 ); ``` -**REQUIRE_FALSE(** _expression_ **)** and -**CHECK_FALSE(** _expression_ **)** +* **REQUIRE_FALSE(** _expression_ **)** and +* **CHECK_FALSE(** _expression_ **)** + Evaluates the expression and records the _logical NOT_ of the result. If an exception is thrown it is caught, reported, and counted as a failure. (these forms exist as a workaround for the fact that ! prefixed expressions cannot be decomposed). @@ -34,24 +36,27 @@ REQUIRE_FALSE( thisReturnsFalse() ); ## Exceptions -**REQUIRE_THROWS(** _expression_ **)** and -**CHECK_THROWS(** _expression_ **)** +* **REQUIRE_THROWS(** _expression_ **)** and +* **CHECK_THROWS(** _expression_ **)** + Expects that an exception (of any type) is be thrown during evaluation of the expression. -**REQUIRE_THROWS_AS(** _expression_ and _exception type_ **)** and -**CHECK_THROWS_AS(** _expression_, _exception type_ **)** +* **REQUIRE_THROWS_AS(** _expression_ and _exception type_ **)** and +* **CHECK_THROWS_AS(** _expression_, _exception type_ **)** + Expects that an exception of the _specified type_ is thrown during evaluation of the expression. -**REQUIRE_NOTHROW(** _expression_ **)** and -**CHECK_NOTHROW(** _expression_ **)** +* **REQUIRE_NOTHROW(** _expression_ **)** and +* **CHECK_NOTHROW(** _expression_ **)** + Expects that no exception is thrown during evaluation of the expression. ## Matcher expressions To support Matchers a slightly different form is used. Matchers will be more fully documented elsewhere. *Note that Matchers are still at early stage development and are subject to change.* -**REQUIRE_THAT(** _lhs_, _matcher call_ **)** and -**CHECK_THAT(** _lhs_, _matcher call_ **)** +* **REQUIRE_THAT(** _lhs_, _matcher call_ **)** and +* **CHECK_THAT(** _lhs_, _matcher call_ **)** --- diff --git a/docs/test-cases-and-sections.md b/docs/test-cases-and-sections.md index fe39c69b..4fc3f6f8 100644 --- a/docs/test-cases-and-sections.md +++ b/docs/test-cases-and-sections.md @@ -6,8 +6,8 @@ Instead Catch provides a powerful mechanism for nesting test case sections withi Test cases and sections are very easy to use in practice: -**TEST_CASE(** _test name_ \[**,** _tags_ \] **)** -**SECTION(** _section name_ **)** +* **TEST_CASE(** _test name_ \[, _tags_ \] **)** +* **SECTION(** _section name_ **)** _test name_ and _section name_ are free form, quoted, strings. The optional _tags_ argument is a quoted string containing one or more tags enclosed in square brackets. Tags are discussed below. Test names must be unique within the Catch executable. @@ -21,18 +21,18 @@ For examples see the [Tutorial](tutorial.md) In addition to Catch's take on the classic style of test cases, Catch supports an alternative syntax that allow tests to be written as "executable specifications" (one of the early goals of [Behaviour Driven Development](http://dannorth.net/introducing-bdd/)). This set of macros map on to ```TEST_CASE```s and ```SECTION```s, with a little internal support to make them smoother to work with. -**SCENARIO(** _scenario name_ \[**,** _tags_ \] **)** +* **SCENARIO(** _scenario name_ \[, _tags_ \] **)** This macro maps onto ```TEST_CASE``` and works in the same way, except that the test case name will be prefixed by "Scenario: " -**GIVEN(** _something_ **)** -**WHEN(** _something_ **)** -**THEN(** _something_ **)** +* **GIVEN(** _something_ **)** +* **WHEN(** _something_ **)** +* **THEN(** _something_ **)** These macros map onto ```SECTION```s except that the section names are the _something_s prefixed by "given: ", "when: " or "then: " respectively. -**AND_WHEN(** _something_ **)** -**AND_THEN(** _something_ **)** +* **AND_WHEN(** _something_ **)** +* **AND_THEN(** _something_ **)** Similar to ```WHEN``` and ```THEN``` except that the prefixes start with "and ". These are used to chain ```WHEN```s and ```THEN```s together. From aafed303bb72d2aa40a3513e714c4c8ad9146c19 Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Thu, 17 Oct 2013 18:02:09 +0100 Subject: [PATCH 21/30] Added an extra tag test --- projects/SelfTest/TestMain.cpp | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/projects/SelfTest/TestMain.cpp b/projects/SelfTest/TestMain.cpp index aae3f53b..dc2684ed 100644 --- a/projects/SelfTest/TestMain.cpp +++ b/projects/SelfTest/TestMain.cpp @@ -298,7 +298,7 @@ int getArgc( const char * (&)[size] ) { return size; } -TEST_CASE( "selftest/tags", "" ) { +TEST_CASE( "selftest/tags", "[tags]" ) { std::string p1 = "[one]"; std::string p2 = "[one],[two]"; @@ -306,7 +306,7 @@ TEST_CASE( "selftest/tags", "" ) { std::string p4 = "[one][two],[three]"; std::string p5 = "[one][two]~[.],[three]"; - SECTION( "one tag", "" ) { + SECTION( "single [one] tag", "" ) { Catch::TestCase oneTag = makeTestCase( NULL, "", "test", "[one]", CATCH_INTERNAL_LINEINFO ); CHECK( oneTag.getTestCaseInfo().description == "" ); @@ -320,6 +320,20 @@ TEST_CASE( "selftest/tags", "" ) { CHECK( oneTag.matchesTags( p5 ) == false ); } + SECTION( "single [two] tag", "" ) { + Catch::TestCase oneTag = makeTestCase( NULL, "", "test", "[two]", CATCH_INTERNAL_LINEINFO ); + + CHECK( oneTag.getTestCaseInfo().description == "" ); + CHECK( oneTag.hasTag( "two" ) ); + CHECK( oneTag.getTags().size() == 1 ); + + CHECK( oneTag.matchesTags( p1 ) == false ); + CHECK( oneTag.matchesTags( p2 ) == true ); + CHECK( oneTag.matchesTags( p3 ) == false ); + CHECK( oneTag.matchesTags( p4 ) == false ); + CHECK( oneTag.matchesTags( p5 ) == false ); + } + SECTION( "two tags", "" ) { Catch::TestCase twoTags= makeTestCase( NULL, "", "test", "[one][two]", CATCH_INTERNAL_LINEINFO ); @@ -567,3 +581,15 @@ TEST_CASE( "Text can be formatted using the Text class", "" ) { CHECK( Text( "hi there", narrow ).toString() == "hi\nthere" ); } + +TEST_CASE( "Long text is truncted", "[Text][Truncated]" ) { + + std::string longLine( 90, '*' ); + + std::ostringstream oss; + for(int i = 0; i < 600; ++i ) + oss << longLine << longLine << "\n"; + Text t( oss.str() ); + CHECK_THAT( t.toString(), EndsWith( "... message truncated due to excessive size" ) ); + +} From 39ef46a02e6eac47986a907ee2f2738302105e85 Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Thu, 17 Oct 2013 18:02:38 +0100 Subject: [PATCH 22/30] Truncate excessively long messages rather than asserting --- include/internal/catch_text.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/internal/catch_text.hpp b/include/internal/catch_text.hpp index 58eae6fd..f1f884dd 100644 --- a/include/internal/catch_text.hpp +++ b/include/internal/catch_text.hpp @@ -23,7 +23,10 @@ namespace Catch { std::string remainder = _str; while( !remainder.empty() ) { - assert( lines.size() < 1000 ); + if( lines.size() >= 1000 ) { + lines.push_back( "... message truncated due to excessive size" ); + return; + } std::size_t tabPos = std::string::npos; std::size_t width = (std::min)( remainder.size(), _attr.width - indent ); std::size_t pos = remainder.find_first_of( '\n' ); From 380f98ed1fd409beec07a1f65bd6774f3fa50b4c Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Thu, 17 Oct 2013 22:45:21 +0100 Subject: [PATCH 23/30] Regenerated single include --- README.md | 2 +- include/internal/catch_version.hpp | 2 +- single_include/catch.hpp | 32 ++++++++++++++++++------------ 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 402c21c8..6a188788 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![catch logo](catch-logo-small.png) -*v1.0 build 10 (master branch)* +*v1.0 build 11 (master branch)* # New release with significant changes diff --git a/include/internal/catch_version.hpp b/include/internal/catch_version.hpp index 622709d7..4b021717 100644 --- a/include/internal/catch_version.hpp +++ b/include/internal/catch_version.hpp @@ -13,7 +13,7 @@ namespace Catch { // These numbers are maintained by a script - Version libraryVersion( 1, 0, 10, "master" ); + Version libraryVersion( 1, 0, 11, "master" ); } #endif // TWOBLUECUBES_CATCH_VERSION_HPP_INCLUDED diff --git a/single_include/catch.hpp b/single_include/catch.hpp index dba2e304..144dab57 100644 --- a/single_include/catch.hpp +++ b/single_include/catch.hpp @@ -1,6 +1,6 @@ /* - * CATCH v1.0 build 10 (master branch) - * Generated: 2013-09-21 19:07:52.759646 + * CATCH v1.0 build 11 (master branch) + * Generated: 2013-10-17 22:42:24.922987 * ---------------------------------------------------------- * This file has been merged from multiple headers. Please don't edit it directly * Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved. @@ -1753,9 +1753,10 @@ namespace Catch { } bool matches( std::set const& tags ) const { - TagMap::const_iterator it = m_tags.begin(); - TagMap::const_iterator itEnd = m_tags.end(); - for(; it != itEnd; ++it ) { + for( TagMap::const_iterator + it = m_tags.begin(), itEnd = m_tags.end(); + it != itEnd; + ++it ) { bool found = tags.find( it->first ) != tags.end(); if( found == it->second.isNegated() ) return false; @@ -1770,9 +1771,10 @@ namespace Catch { class TagExpression { public: bool matches( std::set const& tags ) const { - std::vector::const_iterator it = m_tagSets.begin(); - std::vector::const_iterator itEnd = m_tagSets.end(); - for(; it != itEnd; ++it ) + for( std::vector::const_iterator + it = m_tagSets.begin(), itEnd = m_tagSets.end(); + it != itEnd; + ++it ) if( it->matches( tags ) ) return true; return false; @@ -1805,6 +1807,7 @@ namespace Catch { break; case ',': m_exp.m_tagSets.push_back( m_currentTagSet ); + m_currentTagSet = TagSet(); break; } } @@ -4598,7 +4601,7 @@ namespace Catch { matchedTests++; Text nameWrapper( it->getTestCaseInfo().name, TextAttributes() - .setWidth( maxNameLen ) + .setWidth( maxNameLen+2 ) .setInitialIndent(2) .setIndent(4) ); @@ -6368,7 +6371,7 @@ namespace Catch { namespace Catch { // These numbers are maintained by a script - Version libraryVersion( 1, 0, 10, "master" ); + Version libraryVersion( 1, 0, 11, "master" ); } // #included from: catch_text.hpp @@ -6389,7 +6392,10 @@ namespace Catch { std::string remainder = _str; while( !remainder.empty() ) { - assert( lines.size() < 1000 ); + if( lines.size() >= 1000 ) { + lines.push_back( "... message truncated due to excessive size" ); + return; + } std::size_t tabPos = std::string::npos; std::size_t width = (std::min)( remainder.size(), _attr.width - indent ); std::size_t pos = remainder.find_first_of( '\n' ); @@ -6703,9 +6709,9 @@ namespace Catch { } #define INTERNAL_CATCH_REGISTER_LEGACY_REPORTER( name, reporterType ) \ - Catch::LegacyReporterRegistrar catch_internal_RegistrarFor##reporterType( name ); + namespace{ Catch::LegacyReporterRegistrar catch_internal_RegistrarFor##reporterType( name ); } #define INTERNAL_CATCH_REGISTER_REPORTER( name, reporterType ) \ - Catch::ReporterRegistrar catch_internal_RegistrarFor##reporterType( name ); + namespace{ Catch::ReporterRegistrar catch_internal_RegistrarFor##reporterType( name ); } // #included from: ../internal/catch_xmlwriter.hpp #define TWOBLUECUBES_CATCH_XMLWRITER_HPP_INCLUDED From bdb718471f84417f5d147d249f00e47c1b054156 Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Thu, 17 Oct 2013 22:45:37 +0100 Subject: [PATCH 24/30] Fixed typo --- docs/command-line.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/command-line.md b/docs/command-line.md index 7f380800..d0e6152f 100644 --- a/docs/command-line.md +++ b/docs/command-line.md @@ -43,7 +43,7 @@ a* ~ab* abc Matches all tests that start with 'a', except those that
Names within square brackets are interpreted as tags. -A series of tags form an AND expression wheras a comma seperated sequence forms an OR expression. e.g.: +A series of tags form an AND expression wheras a comma-separated sequence forms an OR expression. e.g.:
[one][two],[three]
This matches all tests tagged `[one]` and `[two]`, as well as all tests tagged `[three]` From f4959e769952b5011f4d9af8aad2318e1f52b1fb Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Fri, 18 Oct 2013 07:52:38 +0100 Subject: [PATCH 25/30] First commit of docs for contributors --- docs/contributing.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 docs/contributing.md diff --git a/docs/contributing.md b/docs/contributing.md new file mode 100644 index 00000000..f56b6787 --- /dev/null +++ b/docs/contributing.md @@ -0,0 +1,19 @@ +# Contributing to Catch + +So you want to contribute something to Catch? That's great! Whether it's a bug fix, a new feature, support for additional compilers - or just a fix to the documentation - all contributions are very welcome and very much appreciated. Of course so are bug reports and other comments and questions. + +If you are contributing to the code base there are a few simple guidelines to keep in mind. This also includes notes to help you find your way around. As this is liable to drift out of date please raise an issue or, better still, a pull request for this file, if you notice that. + +## Directory structure + +Users of Catch primarily use the single header version. Maintainers should work with the full source (which is still, primarily, in headers). This can be found in the ```include``` folder, but you may prefer to use one of the IDE project files (for MSVC or XCode). These can be found under ```projects/```*IDE Name*```/```*project name*. A number of contributors have proposed make files, and submitted their own versions. At some point these should be made available too. + +In addition to the include files and IDE projects there are a number of tests in cpp files. These can all be found in ```projects/SelfTest```. You'll also see a ```SurrogateCpps``` directory in there. This contains a set of cpp files that each ```#include``` a single header. While these files are not essential to compilation that help avoid keep the implementation headers self-contained. At time of writing this set is not complete but has reasonable coverage. If you add additional headers please try to remember to add a surrogate cpp for it. + +The other directories are ```scripts``` which contains a set of python scripts to help in testing Catch as well as generating the single include, and docs, which contains the documentation as a set of markdown files. + + *this document is in-progress...* + +--- + +[Home](../README.md) \ No newline at end of file From faafa249ad30715c82c30230b49f04af03c50eea Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Fri, 18 Oct 2013 07:53:05 +0100 Subject: [PATCH 26/30] Git Attributes, with control for line-endings --- .gitattributes | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..a2d66d32 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,11 @@ +# This sets the default behaviour, overriding core.autocrlf +* text=auto + +# All source files should have unix line-endings in the repository, +# but convert to native line-endings on checkout +*.cpp text +*.h text +*.hpp text + +# Windows specific files should retain windows line-endings +*.sln text eol=crlf \ No newline at end of file From d0e7b628b757e23e5618ef97e8905edb67f0c91b Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Fri, 18 Oct 2013 17:50:22 +0100 Subject: [PATCH 27/30] Fixed typo --- docs/contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/contributing.md b/docs/contributing.md index f56b6787..e73ee202 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -8,7 +8,7 @@ If you are contributing to the code base there are a few simple guidelines to ke Users of Catch primarily use the single header version. Maintainers should work with the full source (which is still, primarily, in headers). This can be found in the ```include``` folder, but you may prefer to use one of the IDE project files (for MSVC or XCode). These can be found under ```projects/```*IDE Name*```/```*project name*. A number of contributors have proposed make files, and submitted their own versions. At some point these should be made available too. -In addition to the include files and IDE projects there are a number of tests in cpp files. These can all be found in ```projects/SelfTest```. You'll also see a ```SurrogateCpps``` directory in there. This contains a set of cpp files that each ```#include``` a single header. While these files are not essential to compilation that help avoid keep the implementation headers self-contained. At time of writing this set is not complete but has reasonable coverage. If you add additional headers please try to remember to add a surrogate cpp for it. +In addition to the include files and IDE projects there are a number of tests in cpp files. These can all be found in ```projects/SelfTest```. You'll also see a ```SurrogateCpps``` directory in there. This contains a set of cpp files that each ```#include``` a single header. While these files are not essential to compilation they help to keep the implementation headers self-contained. At time of writing this set is not complete but has reasonable coverage. If you add additional headers please try to remember to add a surrogate cpp for it. The other directories are ```scripts``` which contains a set of python scripts to help in testing Catch as well as generating the single include, and docs, which contains the documentation as a set of markdown files. From cb7b4ecbdc7e709ac79cc4ba66bb2ccbb1e97b4e Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Mon, 21 Oct 2013 08:31:17 +0100 Subject: [PATCH 28/30] Updated VS2010 project --- .../TestCatch/TestCatch/TestCatch.vcxproj | 301 +++++++++--------- 1 file changed, 153 insertions(+), 148 deletions(-) diff --git a/projects/VS2010/TestCatch/TestCatch/TestCatch.vcxproj b/projects/VS2010/TestCatch/TestCatch/TestCatch.vcxproj index bf3bdf59..f140739c 100644 --- a/projects/VS2010/TestCatch/TestCatch/TestCatch.vcxproj +++ b/projects/VS2010/TestCatch/TestCatch/TestCatch.vcxproj @@ -1,149 +1,154 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {A2F23B19-9CF7-4246-AE58-BC65E39C6F7E} - TestCatch - Win32Proj - - - - Application - Unicode - true - - - Application - Unicode - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - $(SolutionDir)$(Configuration)\ - $(Configuration)\ - true - $(SolutionDir)$(Configuration)\ - $(Configuration)\ - false - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..\..\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - - - Level4 - EditAndContinue - - - true - Console - MachineX86 - - - - - MaxSpeed - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - - Level3 - ProgramDatabase - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - true - Console - true - true - MachineX86 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + Debug + Win32 + + + Release + Win32 + + + + {A2F23B19-9CF7-4246-AE58-BC65E39C6F7E} + TestCatch + Win32Proj + + + + Application + Unicode + true + + + Application + Unicode + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + ..\..\..\..\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level4 + EditAndContinue + + + true + Console + MachineX86 + + + + + MaxSpeed + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + + + Level3 + ProgramDatabase + ..\..\..\..\include;%(AdditionalIncludeDirectories) + + + true + Console + true + true + MachineX86 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 2b644b5128ce2ba4a1faf36e8a17e05f7a7cb4c7 Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Mon, 21 Oct 2013 20:55:01 +0100 Subject: [PATCH 29/30] Updated travis URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7e22898b..5efeaddd 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ *v1.0 build 11 (master branch)* -[![Build Status](https://travis-ci.org/AIM360/Catch.png)](https://travis-ci.org/AIM360/Catch) Travis CI build status for this fork +Build status (on Travis CI) [![Build Status](https://travis-ci.org/philsquared/Catch.png)](https://travis-ci.org/philsquared/Catch) # New release with significant changes From 93a945cee9d41236c91995f0bec563bcacbfc5c8 Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Wed, 23 Oct 2013 15:35:07 +0100 Subject: [PATCH 30/30] Fixed uninitialised members in Context object --- include/internal/catch_context_impl.hpp | 4 +- .../Baselines/console.std.approved.txt | 2 +- .../Baselines/console.sw.approved.txt | 1071 +++++++++++++++- .../SelfTest/Baselines/junit.sw.approved.txt | 6 +- .../SelfTest/Baselines/xml.sw.approved.txt | 1084 ++++++++++++++++- single_include/catch.hpp | 6 +- 6 files changed, 2160 insertions(+), 13 deletions(-) diff --git a/include/internal/catch_context_impl.hpp b/include/internal/catch_context_impl.hpp index 11ef98e1..0dd326c5 100644 --- a/include/internal/catch_context_impl.hpp +++ b/include/internal/catch_context_impl.hpp @@ -17,7 +17,7 @@ namespace Catch { class Context : public IMutableContext { - Context() : m_config( NULL ) {} + Context() : m_config( NULL ), m_runner( NULL ), m_resultCapture( NULL ) {} Context( Context const& ); void operator=( Context const& ); @@ -77,9 +77,9 @@ namespace Catch { } private: + Ptr m_config; IRunner* m_runner; IResultCapture* m_resultCapture; - Ptr m_config; std::map m_generatorsByTestName; }; diff --git a/projects/SelfTest/Baselines/console.std.approved.txt b/projects/SelfTest/Baselines/console.std.approved.txt index 83d78122..feb08934 100644 --- a/projects/SelfTest/Baselines/console.std.approved.txt +++ b/projects/SelfTest/Baselines/console.std.approved.txt @@ -708,5 +708,5 @@ with expansion: "first" == "second" =============================================================================== -121 test cases - 35 failed (744 assertions - 90 failed) +122 test cases - 35 failed (753 assertions - 90 failed) diff --git a/projects/SelfTest/Baselines/console.sw.approved.txt b/projects/SelfTest/Baselines/console.sw.approved.txt index 6d518bf5..c85230c3 100644 --- a/projects/SelfTest/Baselines/console.sw.approved.txt +++ b/projects/SelfTest/Baselines/console.sw.approved.txt @@ -4598,7 +4598,7 @@ with expansion: ------------------------------------------------------------------------------- selftest/tags - one tag + single [one] tag ------------------------------------------------------------------------------- TestMain.cpp: ............................................................................... @@ -4651,6 +4651,61 @@ PASSED: with expansion: false == false +------------------------------------------------------------------------------- +selftest/tags + single [two] tag +------------------------------------------------------------------------------- +TestMain.cpp: +............................................................................... + +TestMain.cpp:: +PASSED: + CHECK( oneTag.getTestCaseInfo().description == "" ) +with expansion: + "" == "" + +TestMain.cpp:: +PASSED: + CHECK( oneTag.hasTag( "two" ) ) +with expansion: + true + +TestMain.cpp:: +PASSED: + CHECK( oneTag.getTags().size() == 1 ) +with expansion: + 1 == 1 + +TestMain.cpp:: +PASSED: + CHECK( oneTag.matchesTags( p1 ) == false ) +with expansion: + false == false + +TestMain.cpp:: +PASSED: + CHECK( oneTag.matchesTags( p2 ) == true ) +with expansion: + true == true + +TestMain.cpp:: +PASSED: + CHECK( oneTag.matchesTags( p3 ) == false ) +with expansion: + false == false + +TestMain.cpp:: +PASSED: + CHECK( oneTag.matchesTags( p4 ) == false ) +with expansion: + false == false + +TestMain.cpp:: +PASSED: + CHECK( oneTag.matchesTags( p5 ) == false ) +with expansion: + false == false + ------------------------------------------------------------------------------- selftest/tags two tags @@ -5346,6 +5401,1018 @@ with expansion: "hi there" +------------------------------------------------------------------------------- +Long text is truncted +------------------------------------------------------------------------------- +TestMain.cpp: +............................................................................... + +TestMain.cpp:: +PASSED: + CHECK_THAT( t.toString() EndsWith( "... message truncated due to excessive size" ) ) +with expansion: + "***************************************************************************- + ***- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ + ****************************************************************************- + **- + ****************************************************************************- + **- + ************************ +... message truncated due to excessive size + ------------------------------------------------------------------------------- ./succeeding/Tricky/std::pair ------------------------------------------------------------------------------- @@ -6507,5 +7574,5 @@ with expansion: true =============================================================================== -121 test cases - 50 failed (763 assertions - 109 failed) +122 test cases - 50 failed (772 assertions - 109 failed) diff --git a/projects/SelfTest/Baselines/junit.sw.approved.txt b/projects/SelfTest/Baselines/junit.sw.approved.txt index 6b256f72..b292d258 100644 --- a/projects/SelfTest/Baselines/junit.sw.approved.txt +++ b/projects/SelfTest/Baselines/junit.sw.approved.txt @@ -1,5 +1,5 @@ - + @@ -466,7 +466,8 @@ An error - + + @@ -491,6 +492,7 @@ hello + diff --git a/projects/SelfTest/Baselines/xml.sw.approved.txt b/projects/SelfTest/Baselines/xml.sw.approved.txt index 5c2ebab4..2a2c41de 100644 --- a/projects/SelfTest/Baselines/xml.sw.approved.txt +++ b/projects/SelfTest/Baselines/xml.sw.approved.txt @@ -4450,7 +4450,7 @@ -
+
oneTag.getTestCaseInfo().description == "" @@ -4517,6 +4517,73 @@
+
+ + + oneTag.getTestCaseInfo().description == "" + + + "" == "" + + + + + oneTag.hasTag( "two" ) + + + true + + + + + oneTag.getTags().size() == 1 + + + 1 == 1 + + + + + oneTag.matchesTags( p1 ) == false + + + false == false + + + + + oneTag.matchesTags( p2 ) == true + + + true == true + + + + + oneTag.matchesTags( p3 ) == false + + + false == false + + + + + oneTag.matchesTags( p4 ) == false + + + false == false + + + + + oneTag.matchesTags( p5 ) == false + + + false == false + + + +
@@ -5296,6 +5363,1017 @@ there" + + + + t.toString() EndsWith( "... message truncated due to excessive size" ) + + + "******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +... message truncated due to excessive size" ends with: "... message truncated due to excessive size" + + + + @@ -6404,7 +7482,7 @@ there"
- + - + diff --git a/single_include/catch.hpp b/single_include/catch.hpp index 144dab57..9aab75a3 100644 --- a/single_include/catch.hpp +++ b/single_include/catch.hpp @@ -1,6 +1,6 @@ /* * CATCH v1.0 build 11 (master branch) - * Generated: 2013-10-17 22:42:24.922987 + * Generated: 2013-10-23 15:34:32.120349 * ---------------------------------------------------------- * This file has been merged from multiple headers. Please don't edit it directly * Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved. @@ -5774,7 +5774,7 @@ namespace Catch { class Context : public IMutableContext { - Context() : m_config( NULL ) {} + Context() : m_config( NULL ), m_runner( NULL ), m_resultCapture( NULL ) {} Context( Context const& ); void operator=( Context const& ); @@ -5834,9 +5834,9 @@ namespace Catch { } private: + Ptr m_config; IRunner* m_runner; IResultCapture* m_resultCapture; - Ptr m_config; std::map m_generatorsByTestName; };