Martchus
4c1b733290
Rework ArgumentParser::parseArgs()
...
* Remove "ext()" and "orExit()" versions
* Exit by default (might be intrusive but it is the most
common use)
* Rename Failure to ParseError
2019-06-10 16:03:27 +02:00
Martchus
c701fc25ee
Remove directoryEntries()
2019-06-05 23:50:38 +02:00
Martchus
83b7658b04
Add test for Bash completion of directory names
2019-06-05 23:49:53 +02:00
Martchus
f95e16bc80
Remove readMultibyteTerminatedString*() functions
2019-06-04 19:10:52 +02:00
Martchus
9a66824739
Add read-only accessors to TestApplication
2019-05-15 15:52:06 +02:00
Martchus
c904014794
Make math functions templates and move to misc
2019-05-13 22:42:17 +02:00
Martchus
f16703ffc0
Remove workingCopyPathMode()
2019-05-11 19:02:32 +02:00
Martchus
f0c6035609
Simplify dealing with multiple testfile paths
2019-05-11 18:47:14 +02:00
Martchus
b0b92ff1bf
Allow marking argument as deprecated
2019-05-04 23:14:43 +02:00
Martchus
6d4e13f2dc
Use struct to store global application info
2019-05-04 22:49:57 +02:00
Martchus
04a8ef02d5
Remove deprecated dependencyVersions
2019-05-04 21:44:25 +02:00
Martchus
497826f634
Prevent warnings in argumentparser{,tests}.cpp
2019-05-04 21:44:25 +02:00
Martchus
151a3ae9e5
Apply clang-format
2019-05-04 20:58:23 +02:00
Martchus
c4128799bc
Fix test for libstd++/Windows NativeFileStream configuration
2019-05-04 15:49:41 +02:00
Martchus
e8f5c5c948
Log total test result
2019-05-04 15:47:31 +02:00
Martchus
a6fdb3369a
Make unsuccessful testFilePath() throw an exception
2019-04-22 20:42:48 +02:00
Martchus
6d7a6ab735
Don't pretent to add arguments implicitely
2019-04-13 20:33:39 +02:00
Martchus
cfdfc302db
Use exit function passed to argument parser
2019-04-13 20:33:39 +02:00
Martchus
9a50d2b8df
Remove types
2019-04-13 20:33:39 +02:00
Marius Kittler
132f936c57
Remove workaround for GCC Bug 66145
2019-04-13 20:33:39 +02:00
Marius Kittler
2f141adb6f
Remove random() function
2019-04-13 20:33:39 +02:00
Marius Kittler
07a74d5fa8
Rename openFromFileDescriptor() to open()
2019-04-13 20:33:39 +02:00
Martchus
ac8fe5d2c7
Improve constructors for test application
2019-04-13 20:33:39 +02:00
Martchus
bc8ea407bc
Prevent use of static variables in ArgumentParser
...
Have --no-color and --help added by default rather
so argument parser is in control over them and don't
has to use static functions.
2019-04-13 20:33:39 +02:00
Martchus
789af62d97
Add workingCopyPathAs()
2019-01-20 22:56:22 +01:00
Martchus
d21cde6fe3
Remove unused variable in testFilePath()
2019-01-20 22:16:07 +01:00
Martchus
8b35d06aa7
Improve documentation for testFilePath()/workingCopyPath()
2019-01-20 22:15:35 +01:00
Martchus
757a3476cc
test utilities: Print testfile path in all cases
2018-11-02 22:36:22 +01:00
Martchus
98edb5a67c
Allow omitting second fraction in DateTime::fromIsoString
2018-11-01 20:20:32 +01:00
Martchus
44e4d1335a
Fix Traits::IsSpecializationOf to ignore cv qualifier
...
So eg. const/volatile std::string is also considered a
specialization of std::basic_string like one would expect.
2018-10-29 23:16:16 +01:00
Martchus
34eac527ee
Log actual application path when testing
2018-10-25 18:20:14 +02:00
Martchus
ca6663a6d5
Prevent breaking source compatibility of TESTUTILS_ASSERT_EXEC
2018-10-21 21:21:01 +02:00
Martchus
6825e0367f
Test Traits::HasOperatorBool
2018-10-21 21:14:51 +02:00
Martchus
66b4b782cd
Improve TESTUTILS_ASSERT_EXEC to print stdout/stderr on failure
2018-10-21 20:22:43 +02:00
Martchus
366f722904
Fix documentation for workingCopyPath()
2018-10-07 21:43:34 +02:00
Martchus
17fc55a2c6
Fix compilation of testutils under Windows without NativeFileStream
2018-10-07 21:14:56 +02:00
Martchus
8e32fc0229
Apply clang-format
2018-10-06 16:18:53 +02:00
Martchus
929c817c08
Test test utilities not used anyways
2018-10-06 16:18:46 +02:00
Martchus
61edf58c3e
Fix workingCopyPathMode
2018-10-06 16:18:39 +02:00
Martchus
5356d793fc
Make all tests pass under Windows
...
* Workaround some issues
* Disable some tests (better than not running tests
at all)
2018-10-03 22:37:55 +02:00
Martchus
8e3c40abb5
Make conversion from multi byte to wide string generic
2018-10-03 21:26:41 +02:00
Martchus
d1f3f51769
Disable not working test for random under Windows
...
The function will be removed in next major release anyways.
2018-09-30 14:48:11 +02:00
Martchus
199a4f9454
Make conversion tests pass under Windows
2018-09-30 14:44:39 +02:00
Martchus
ac6b7ae68e
Fix some of the IO tests to pass under Windows
...
Still, the workaround for catching std::ios_base::failure
doesn't seem to work.
2018-09-30 14:40:16 +02:00
Martchus
25ef4e28a2
Make tests compile under Windows
2018-09-30 13:55:30 +02:00
Martchus
749eea2ab6
Support NativeFileStream via Boost.Iostreams
...
So it can also be enabled when not using libstdc++.
2018-09-30 13:55:30 +02:00
Martchus
3d3378c878
Improve experimental value conversion for arg parser
...
* Fix issues and handle conversion errors
* Add tests
2018-09-22 17:04:23 +02:00
Martchus
826c43ef8b
Include missing cerrno
2018-08-12 22:17:09 +02:00
Martchus
61f7ce90e1
Improve coding style (after running clang-tidy)
2018-08-12 22:09:22 +02:00
Martchus
d0bf2fb390
Add more debug output to TestApplication::workingCopyPathMode
2018-08-11 22:21:48 +02:00
Martchus
2347677495
Adjust name of working copy until unique if unable to override
2018-07-28 20:51:25 +02:00
Martchus
f50321f414
Improve coding style in testutils.cpp
2018-07-28 20:00:28 +02:00
Martchus
0f45817956
Make output of workingCopyPathMode() even more verbose
2018-07-28 19:39:11 +02:00
Martchus
c53472fdce
Make failing TestApplication::workingCopyPathMode() more verbose
2018-07-28 15:59:31 +02:00
Marius Kittler
9743dc7d28
Improve dereferenceMaybe()
...
* Support smart-pointers and other types which can
be dereferenced
* Add tests
* Add documentation
2018-07-10 13:17:04 +02:00
Martchus
d029b33a19
Add TESTUTILS_ASSERT_LIKE macro
2018-07-02 23:09:52 +02:00
Martchus
27d5041e06
Add Traits::IsSpecializingAnyOf
2018-06-24 20:13:41 +02:00
Martchus
0fb92e3685
Add Traits::None
2018-06-23 14:33:00 +02:00
Martchus
e0fee70d58
Print vector<char> and similar in hex notation on assert fail
2018-06-21 23:27:05 +02:00
Martchus
e4bf7142f5
Add Traits::Is{Any,None}Of
2018-06-20 23:07:08 +02:00
Martchus
5e8d8cb7d1
Show dashes in suggestions
2018-05-11 16:15:02 +02:00
Martchus
24720bbbc1
Fix passing cursor position to findSuggestions()
2018-05-11 15:51:30 +02:00
Martchus
1aa8b387e1
Apply clang-format
2018-05-08 00:35:51 +02:00
Martchus
f0b777207e
Fix dependency version under GCC 8
2018-05-08 00:35:41 +02:00
Martchus
a4435bbcf3
Fix usage of enable_if with GCC 8
...
Seems like the trick with the three dots isn't working
with GCC 8 anymore. So let's make it a default template
parameter then.
Not sure whether GCC 8 is here correct and whether this
workaround causes further trouble.
2018-05-07 23:22:43 +02:00
Martchus
8ef92cbf47
Use Levenshtein algo to provide suggestions if arg not found
2018-05-07 21:59:23 +02:00
Martchus
44f0206a13
Refactor ArgumentReader::read()
...
* Use return-code for error handling
* Improve documentation/comments
* Improve const correctness
2018-05-07 20:04:30 +02:00
Martchus
429de98836
Add algorithm for computing Damerau–Levenshtein distance
2018-05-05 23:26:53 +02:00
Martchus
034b8a75d1
Add min(), max() for any number of arguments
2018-05-05 23:06:51 +02:00
Martchus
52bf075317
Move creation of srcdirref and testfiles dir to BasicConfig
...
Those make testing more convenient and are also useful when
there's no test target, eg. when testing syncthingtray with
mocked configuration.
2018-05-01 23:59:28 +02:00
Martchus
df7a3ee93c
Apply clang-format from LLVM 6
2018-03-24 17:00:30 +01:00
Martchus
007235973a
Use DateTime::exactGmtNow in stringbuilder benchmark
2018-03-07 18:52:03 +01:00
Martchus
da5a027ea3
Add simplified, string_view-compatible version of splitString()
2018-02-28 18:03:07 +01:00
Martchus
3a768508fd
Use src dir as fallback unless arg *and* env var specified
2018-02-03 17:16:30 +01:00
Martchus
e3310792d3
Improve tests for IO utilities
2018-01-29 16:26:02 +01:00
Martchus
bc61461b7a
Improve tests of conversion utilities
2018-01-29 16:25:31 +01:00
Martchus
9ed143e7d5
Improve chrono tests
2018-01-29 16:24:17 +01:00
Martchus
368fc46e47
Improve tests of argument parser
2018-01-29 16:23:10 +01:00
Martchus
ff5eb6c7c9
Do not show help for --help
2018-01-28 00:43:03 +01:00
Martchus
09f9181281
Split operations from other top-level args in --help
2018-01-28 00:38:05 +01:00
Martchus
37c98b2f91
Allow ~OutputCheck() to throw so assert behaves as expected
...
* Required because assertion might throw
* No ABI break because not part of ABI anyways
2017-12-11 14:01:40 +01:00
Martchus
26cd303422
Improve period compution
2017-12-03 01:45:54 +01:00
Martchus
602993aa05
Add tests for TimeSpanOutputFormat::TotalSeconds
2017-12-02 22:26:26 +01:00
Martchus
a3192a1113
Fix parsing top-level argument after abbreviation
2017-11-29 22:52:50 +01:00
Martchus
4e4e13e4c8
Improve argument parser tests
2017-11-29 20:29:51 +01:00
Martchus
2264ea5cf2
Add trait to check whether type is complete
2017-11-16 02:00:03 +01:00
Martchus
cf4789e94d
testutils: Allow asserting maps/hashes
2017-11-13 20:06:09 +01:00
Martchus
ab42e9d96c
Improve documentation of testutils
2017-11-12 16:58:53 +01:00
Martchus
cc5d6052f5
test application: Allow to skip argument parsing
2017-11-12 16:17:08 +01:00
Martchus
924481b033
Fix platform check for readFallback...() functions
2017-11-01 19:30:55 +01:00
Martchus
6fd2603cff
teat application: Prevent copying dir entries
2017-11-01 19:17:57 +01:00
Martchus
34f3ebb45d
Let tests find the application path without extra args
...
Currently the path of the application to be tested always had to
be specified either manually using the -a argument or by running
the tests via the build system targets. The first option is annoying
and the second option not so nice when using Qt Creator and the
debugger.
This commit makes tests assume the application to be tested is
called like the test executable itself, just without "_tests"-suffix.
2017-10-30 23:03:43 +01:00
Martchus
2bb4aa36a4
Let tests find the testfiles from sources without extra args
...
Currently the path of the testfiles always had to be specified
either manually using the -p argument or by running the tests
via the build system targets. The first option is annoying and
the second option not so nice when using Qt Creator and the
debugger.
This commit allows tests to find the testfiles from the source
directory automatically (as fallback). This is achieved by
creating a file containing the path of the source directory
with CMake. Note that this file can only be found if the working
directory is set to the binary directory (default in Qt Creator).
2017-10-30 23:01:07 +01:00
Martchus
fa39e2a1aa
Add traits to check for reserve() and size()
2017-10-27 18:25:32 +02:00
Martchus
dab05bdade
Improve coding style in test utilities
2017-10-24 01:02:07 +02:00
Martchus
e393af5dbb
testutils: Print indices of iteratables (on assert equal fail)
2017-10-23 01:11:11 +02:00
Martchus
2ec3df889f
Allow accessing application path from TestApplication
...
Make it static because when this function becomes useful,
the (singleton) instance is likely not available.
2017-10-21 21:25:26 +02:00
Martchus
46f652ad00
Improve readability of ArgumentReader::read and use Phrases
2017-10-19 00:51:47 +02:00
Martchus
b4556c0481
Move OutputCheck to its own header file
...
* So it can be used in tests for tageditor and
other applications
* Make it a header-only class so c++utilities
does not depend on cppunit
2017-09-20 17:09:34 +02:00
Martchus
5f14d55f25
Use Argument::varValueCount to fix warnings
2017-09-20 17:07:06 +02:00