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
Martchus
868162742b
Adjust argument parser tests
2017-09-19 16:02:42 +02:00
Martchus
e52fd5a4af
Apply tidy after updating to clang-format 5.0.0
...
The behavior of clang-format slightly changed in Clang 5.0.0:
http://releases.llvm.org/5.0.0/tools/clang/docs/ReleaseNotes.html#clang-format
2017-09-17 21:45:23 +02:00
Martchus
840700d7af
Fix compiling math tests under 32-bit architectures
...
Same problem as with size_t. The types must match exactly
when using CPPUNIT_ASSERT_EQUAL and using 'l' or 'ul' suffix
is not sufficient under 32-bit.
2017-09-03 20:13:27 +02:00
Martchus
357ede4ee7
chrono utils: Improve handling micro- and nanoseconds
...
DateTime and TimeSpan have an accuracy of 100 nanoseconds.
This commit ensures this is also handled in toString() and
fromString() methods and adds relevant convenience methods.
2017-08-31 02:17:05 +02:00
Martchus
c88fd9f9a8
Fix calculation of overall test coverage
2017-08-17 17:59:29 +02:00
Martchus
32210c2dca
Remove unused header in math tests
2017-08-05 18:34:50 +02:00
Martchus
de6b4be8b3
Test math utilities
2017-08-02 13:29:22 +02:00
Martchus
8bed0adc00
Test printing dependency versions
2017-07-28 20:47:49 +02:00
Martchus
f2b8ee4184
Test ownership also for BinaryWriter class
2017-07-28 20:35:05 +02:00
Martchus
1d4a4bd2be
binary reader/writer: Increase limit of length-prefixed strings
...
So strings with a size up to 0xFFFFFFFFFFFFFF byte can be handled.
2017-07-28 20:34:50 +02:00
Martchus
f4faf652fd
Improve argument parser tests
2017-07-28 19:33:55 +02:00
Martchus
d7cf4312bf
bash completion: Fix case when no current word index specified
2017-07-28 18:24:52 +02:00
Martchus
1af88c964e
bash completion: Show values for implicit args
...
So eg. `tageditor get [tab][tab]` also suggests specifying
field names directly instead of only via --fields.
2017-07-28 17:32:16 +02:00
Martchus
144175bb3a
Document necessity to run chrono test with different timezones
2017-07-16 18:34:42 +02:00
Martchus
f2189a15ce
Make check for DateTime::fromTimeStamp timezone-independent
2017-07-16 18:20:41 +02:00
Martchus
37a8b78689
Update summary of stringbuilder benchmark
...
So it matches new results of commit
17fe42e0ad
2017-07-11 19:16:32 +02:00
Martchus
442f7a9b25
Exclude generated files from coverage
...
* So files generated by moc or qdbusxml2cpp are not
part of coverage statistics
* When filtering files, llvm-cov prints multiple tables
showing coverage on function level.
-> Generate overall coverage stats via awk.
2017-07-09 23:38:11 +02:00
Martchus
8b0661713b
Improve conversion tests
2017-06-25 16:03:46 +02:00
Martchus
4157f8849a
Improve argument parser tests
2017-06-25 16:03:40 +02:00