Commit Graph

243 Commits

Author SHA1 Message Date
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
Martchus a53601e5d0 Improve chrono tests 2017-06-25 16:00:11 +02:00
Martchus 454347c31f Improve IO tests 2017-06-25 16:00:11 +02:00
Martchus f62ed9f63d Test HelpArgument 2017-06-25 01:42:38 +02:00
Martchus 57d5d04d9f Merge prof data of subprocesses created when executing tests
So coverage is accounted correctly when tests create subprocesses
of the application to be tested using execApp().
2017-06-20 23:19:49 +02:00
Martchus ace077f9aa Fix INI test 2017-06-09 12:15:24 +02:00
Martchus 28f37bbbcd string to int: Allow specifying string size 2017-06-08 00:41:29 +02:00
Martchus 045c713cf5 string to int: Ignore whitespaces at beginning 2017-06-08 00:39:54 +02:00
Martchus 5388337bcc Fix compiling tests under 32-bit arch 2017-05-30 23:56:08 +02:00
Martchus 3bc1756425 Add Argument::varValueCount 2017-05-19 00:12:07 +02:00
Martchus 2e98e3bd11 testutils: Fix finding testfiles dir in pwd 2017-05-19 00:08:27 +02:00
Martchus 18fef23724 testutils: Add execHelperApp() 2017-05-19 00:07:38 +02:00
Martchus cab1a76ecf Allow printing iteratable objects
So those can be asserted using CPPUNIT_ASSERT_EQUAL
2017-05-10 23:32:48 +02:00
Martchus 3b74b817ec Add trait to test for strings 2017-05-10 23:31:28 +02:00
Martchus 7faa51c10e Test traits 2017-05-08 19:59:29 +02:00
Martchus db46948f2f Apply clang-format 2017-05-04 22:44:15 +02:00
Martchus 59e20b1043 Apply clang-format 2017-05-01 03:13:11 +02:00
Martchus c728f0ffe0 Add hash functions for chrono objects 2017-05-01 02:54:06 +02:00
Martchus 452954dc1f Add DateTime::exactGmtNow()
* Provides more precise wall-clock time
* Only available under UNIX so far
2017-04-19 21:48:23 +02:00
Martchus 7c189b18e1 Allow nested operation arguments
eg. syncthingctl pwd rescan
2017-04-06 00:04:30 +02:00
Martchus c30011fe09 Fix missleading error message
Unknown arg is treated is causing fatal
error in this case and hence not ignored.
2017-04-05 23:45:56 +02:00
Martchus 52a76a7bd2 Show warning when a testfile could not be located
TODO: Would throwing an exception instead break
something?
2017-03-12 20:25:06 +01:00
Martchus 787d541974 Fix conversion of 0 to string
Return "0" instead of an empty string
2017-03-07 00:28:46 +01:00
Martchus af1ab16d77 Use CPPUNIT_ASSERT_EQUAL where possible 2017-02-06 18:35:20 +01:00
Martchus c4d73b0d7d Use C++14 string literal 2017-02-06 18:32:27 +01:00
Martchus c13eee6fcc Add workingCopyPathMode() to be able to skip actual copy 2017-02-04 20:16:50 +01:00
Martchus 17fe42e0ad string builder: Support integral types directly
Not only convenient but also performance improvement
2017-01-30 00:11:33 +01:00
Martchus 39960ccef1 Add simple benachmark for string builder 2017-01-27 22:16:29 +01:00
Martchus 33d368397f Make use of newly introduced string builder 2017-01-27 18:51:54 +01:00
Martchus 5c004015ce string builder: Fix ambiguity issues 2017-01-27 18:50:51 +01:00
Martchus a772cdf30b Add conveniently usable string builder
which allows fast string building without multiple heap allocations
2017-01-26 22:16:18 +01:00
Martchus 28d2063d33 Fix Bash completion for abbreviations 2016-12-24 16:07:43 +01:00
Martchus cab332bcad Refactor reading arguments
Replace ArgumentParser::readSpecifiedArgs() with
ArgumentReader class to simplify argument list
2016-12-23 22:40:33 +01:00
Martchus 939a43e348 Clean argument parser tests 2016-12-07 21:06:21 +01:00
Martchus 82b5bf3f1d Fix Bash completion when last pre-defined value matches 2016-11-26 00:14:45 +01:00
Martchus 9f3ca443e4 Make ArgumentParser::verifyArgs() more strict 2016-11-15 22:02:40 +01:00
Martchus 4c0a1d1169 Fix minor mistake in argument parser 2016-11-14 22:38:21 +01:00
Martchus 2be349856f Make numberToString/stringToNumber work with u16string
Don't rely on std::basic_stringstream at least for
integral types.
2016-11-13 23:06:03 +01:00
Martchus 5119bb5c6a Improve ArgumentParser::readSpecifiedArgs()
- Fix minor issues
- Add further test cases
2016-10-29 23:54:30 +02:00
Martchus 97925f1252 Don't rely on file completions being in specific order 2016-10-29 00:50:17 +02:00
Martchus 72426e2d4c Fix bash completion when dir/file contains single quote
Also a few other improvements in bash completion code
2016-10-22 20:52:08 +02:00
Martchus a43e9b2baf Fix BitReader test 2016-08-30 19:59:24 +02:00
Martchus 12588c6928 Improve chrono utils
- Support parsing/generating ISO time stamp with
  time zone delta
- Fix minor bugs
- Improve tests
2016-08-30 19:59:04 +02:00
Martchus d6b08b8ed9 Fix decoration for static builds
- Also add improvemnts a few other things in the build system
2016-08-29 15:35:48 +02:00
Martchus 1a4087abbc Use async IO in TestApplication::execApp()
rather than multiple threads
2016-08-15 22:35:37 +02:00
Martchus b36572a4dd Add macro to assert execution of application 2016-08-06 22:02:14 +02:00
Martchus ed527021f9 Improve logging when testing applications 2016-08-05 01:43:46 +02:00
Martchus 994181cbf9 Improve utilities for testing tageditor CLI 2016-08-03 17:31:28 +02:00
Martchus df8d942e1c Improve argument parser
- Fix completion of values already containing '='
- Fix completion when current word contains '='
- Improve formatting of help
- Fix typo
2016-07-31 23:20:31 +02:00
Martchus 17d22be584 Support testing applications 2016-07-30 22:34:31 +02:00
Martchus 0c40a510e5 Add functions for character set conversions 2016-07-27 18:24:37 +02:00
Martchus 23346e1a8e Add convenience method to get first value 2016-07-17 01:26:34 +02:00
Martchus 8efe38dadf Improve details in the build system
- add target to run cross compiled Windows binaries with wine
- quit tests if --help has been specified
2016-07-16 23:04:22 +02:00
Martchus d749ba7cc2 Provide complete occurance info (callbacks) 2016-07-04 23:18:49 +02:00
Martchus 03094a1f61 Add support for bash completion 2016-07-04 02:46:54 +02:00
Martchus cb4246e202 Add methods to get dir path and entries 2016-07-02 02:01:26 +02:00
Martchus e6dfe28149 Skip empty args 2016-06-23 22:06:59 +02:00
Martchus 980794066b Provide workaround for GCC Bug 66145 2016-06-14 22:53:19 +02:00
Martchus 79ce6e9aa6 Improve argument parser
- Fix some implementation details
- Extend tests
2016-06-14 00:43:32 +02:00
Martchus 526cbc5282 Rewrite argument parsing 2016-06-13 00:00:36 +02:00
Martchus 4f87cc1181 Use C-strings where std::string is unneccessary 2016-06-11 19:42:03 +02:00
Martchus d28d477ffe Complete generation of API doc
- Use README.md for main page
- Add install target for API doc
- Improve some doc comments
2016-06-10 22:59:22 +02:00
Martchus 38a9a1e13e Ensure exceptions are thrown in IO tests 2016-06-08 00:15:01 +02:00
Martchus 7bb6875ded Allow testing particular units 2016-05-23 00:03:55 +02:00
Martchus bd0cbd5802 reduce code duplication in build system
- get rid of qmake project file
- provide CMake modules for common tasks
- provide templates for *.desktop files
2016-04-16 02:11:05 +02:00
Martchus 0054a74302 minor adjustments 2016-03-03 19:07:46 +01:00
Martchus 29c0db0090 mingw-w64: workingCopyPath is (currently) not supported 2016-02-27 01:18:54 +01:00
Martchus 78c096e20a added functions to swap the byte order 2016-02-23 19:27:46 +01:00
Martchus 7e780d647a ensure subdirs exist 2016-02-17 20:21:11 +01:00
Martchus a7941b92e2 added BitReader::readUnsignedExpGolombCodedBits() and
BitReader::readSignedExpGolombCodedBits()
2016-02-16 17:25:03 +01:00
Martchus af5b879506 utilize creation of working copies for tests 2016-02-09 02:21:42 +01:00
Martchus 9abe04ce06 make test code public to simplify creation of tests in other projects 2016-02-06 16:55:28 +01:00
Martchus 93582b4ac0 added more tests, fixed some bugs 2016-01-27 02:25:28 +01:00
Martchus 503e4cf3c7 added test for BitReader 2016-01-27 01:14:09 +01:00
Martchus 80a4ce1790 added more test cases 2016-01-27 01:01:43 +01:00
Martchus e4910171e8 added check target and first tests 2016-01-26 18:52:41 +01:00