Commit Graph

243 Commits

Author SHA1 Message Date
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
Martchus 868162742b Adjust argument parser tests 2017-09-19 16:02:42 +02:00