Commit Graph

259 Commits

Author SHA1 Message Date
Brian Cox a56bae5397 Only use /dev/urandom if --enable-urandom configure arg is used, since current impl falls over on HP-UX & Solaris 10 SPARC & possibly elsewhere 2017-09-05 19:14:27 -07:00
Brian Cox e74d916a09 Rename misspelled crytpo_t.cpp -> crypto_t.cpp 2017-09-04 15:37:07 -07:00
Brian Cox a47236408c Add tests to check MD5 & SHA1 impls against RFC test cases 2017-09-04 13:31:44 -07:00
Brian Cox 25ddcc0ca6 Break some big unit tests into smaller ones 2017-09-04 11:47:35 -07:00
Brian Cox e453a81c87 Tweak unit tests that didn't invoke TEST() at all; add operator== to cFCOSpecAttr & cFSPropDisplayer for the sake of unit testing. 2017-09-04 01:35:27 -07:00
Brian Cox 8c73f1cf3b Rework unit test framework (such as it is) to refer to tests by name & not numeric id. Mark tests as skipped if they don't make any TEST assertions or are skipped explicitly 2017-09-03 20:28:24 -07:00
Brian Cox 0d21e71407 Skip crc32 test if 'cksum' is not present for comparison (e.g. SkyOS) 2017-09-03 00:12:54 -07:00
Brian Cox 736a761bff Fix a couple of twtest-only valgrind issues 2017-09-01 19:43:05 -07:00
Brian Cox 7a262bf1c1 Fix AROS build issue that crept in somehow 2017-09-01 17:13:57 -07:00
Brian Cox ce25569eea Use 0 instead of CHILD_ERROR_NATIVE since the latter only exists in Perl >= 5.14.2, and doesn't seem to have any obvious advantages. 2017-09-01 13:48:57 -07:00
Brian Cox 0886ea31be Tweak a couple of test-harness tests to exclude variable properties like access time, since tests aren't interested in that behavior. 2017-08-31 21:44:24 -07:00
Brian Cox 5184fe01c4 Customize 'make clean' to also remove test data dirs and gcov files 2017-08-31 19:51:50 -07:00
Brian Cox 7fe1e4f79a Detect support for doors & event ports in a proper autoconf way. 2017-08-31 18:50:02 -07:00
Brian Cox 7310422053 Clean up iCodeConverter singleton on exit 2017-08-28 20:08:38 -07:00
Brian Cox 8bb3669cf7 Enable SYSLOGREPORTING for test-harness tests, so that syslog code gets exercised in testing. 2017-08-27 23:46:31 -07:00
Brian Cox d724c07873 Use a static cFSPropDisplayer instead of creating a fresh one each time someone asks. Addresses a valgrind leak that only manifests in interactive db update mode. 2017-08-27 22:58:58 -07:00
Brian Cox b3b74fd76e Delete cParseRules when we're done with them. I think this is the last real valgrind issue. 2017-08-27 17:22:31 -07:00
Brian Cox 3481d2622a Fix another leak (via valgrind), this time in cCryptoArchive 2017-08-26 16:10:12 -07:00
brc0x1 79933005b7 Switch to rbegin() since std::string::back() is a C++11-ism 2017-08-25 08:12:20 -07:00
Brian Cox 236d67b941 Sort out a valgrind issue w/ handling TEMPDIRECTORY paths. Clean up formatting in twcmdline's FillOutConfigInfo(). 2017-08-26 10:07:27 -07:00
brc0x1 92580983ec Remove more leakage in cHashTable & policy parser 2017-08-25 04:43:52 -07:00
Brian Cox 265bc4701e Turn #ifdef YACC_WINDOWS to #if 0 to make sure untested & unused code stays unused. 2017-08-25 21:37:15 -07:00
Brian Cox dbc48d0326 Merge branch 'dev/next' of https://github.com/Tripwire/tripwire-open-source into dev/next 2017-08-25 19:02:30 -07:00
Brian Cox f4263cf2b8 Comment out some #line directives in twparser, since they confuse gcov 2017-08-25 19:00:39 -07:00
Brian Cox 55020401d9 Fix a few simple leaks inside twtest; fix some file permissions that got set wrong in last commit 2017-08-25 18:28:09 -07:00
Brian Cox b3bcdbbcd9 Fix low hanging fruit items from valgrind memcheck results, mostly array deletes 2017-08-25 12:36:15 -07:00
brc0x1 8cec86246f Fix build issues cross compiling for RISC OS (haven't verified we actually work yet, though); fix a couple of build issues left over from recent test-dir changes to twtest 2017-08-24 19:20:40 -07:00
Brian Cox bd3b071e1b ifdef out some unused methods in our HAVAL impl. 2017-08-24 00:57:11 -07:00
Brian Cox d0b9b03561 Also tweak unit tests that dropped files in working directory to use our test data dir instead 2017-08-23 23:54:18 -07:00
Brian Cox f5e76827be Robustify symlink reading in cFSPropCalc, & add a unit test for it. Tweak other unit tests to use a test directory we control, rather than dumping stuff in /tmp 2017-08-23 23:36:21 -07:00
Brian Cox fafa681bce Fix dbupdate secure-mode test, add a case for updating db twice w/ same report, clean up twtools methods a bit more. 2017-08-23 17:58:12 -07:00
Brian Cox 01e25eb493 Remove a couple of unused FSServices methods 2017-08-19 20:38:57 -07:00
Brian Cox 97a2d44481 Disable incomplete impl for long property names, but don't remove it in case we want to finish it someday. This ensures that '&unimplemented' is not recognized as a valid property name in policy files. 2017-08-19 20:13:07 -07:00
Brian Cox 6582fb77fb Remove a bunch of unused methods in cTWUtil 2017-08-19 19:54:35 -07:00
Brian Cox dc943880de Add more bad policy test cases; split good & bad policies into separate tests 2017-08-17 21:26:51 -07:00
Brian Cox b4e530b40f Clean up create-policy acceptance test; add a dir for bad policy text files (expected to fail) & add the first one, which is just a zero-byte file. 2017-08-17 00:17:28 -07:00
Brian Cox 72f042644b Add test-harness test for policy creation; among other things it tries the policy files in src/parser/testfiles, plus some other test cases. Updated one of the test files so user doesn't need to hand edit it before use. 2017-08-09 23:55:30 -07:00
Brian Cox 85fcbb1371 Add IC test cases for named severity, ignored props, & email reporting 2017-08-09 19:39:03 -07:00
Brian Cox 4cdb384445 gcov revealed that a few unit tests weren't actually being run, so fixing those, & tweak exception handling in other tests to be more uniform (since we catch everything at the test harness level now) 2017-08-06 18:55:52 -07:00
Brian Cox f02e2c10b5 Add new test-harness tests to exercise various IC mode options, plus tripwire help & version modes 2017-08-05 18:05:21 -07:00
Brian Cox db60f15f23 Fix misspelling of 'UNKNOWN' in a constant name; add a missing bracket in twprint print-db mode help 2017-08-04 23:14:54 -07:00
Brian Cox 121ccea9b5 Add a siggen test-harness test to cover various options that aren't covered elsewhere. Like the twadmin & twprint tests added in the last commit, this was motivated by gcov results showing that a 'make check' was missing a bunch of code paths, particularly around command line args and error handling. 2017-08-04 00:16:43 -07:00
Brian Cox a6c796a501 Add new twadmin & twprint test-harness tests, to exercise modes, options & errors that aren't covered elsewhere. Update twtools module with additional methods these new tests need. 2017-08-03 23:35:53 -07:00
Brian Cox d8e323e186 Rename 2038 epoch check to something more accurate & less alarming than 'TimeBombExploded' (sheesh), and only bother with it if time_t is 32 bits. 2017-07-31 18:49:36 -07:00
Brian Cox 24dba1b374 Remove or disable a little dead code uncovered by gcov 2017-07-28 20:15:50 -07:00
Brian Cox 148a5e38d4 A bit more urandom cleanup 2017-07-19 23:02:13 -07:00
Brian Cox 5757a53d61 Simplify urandom usage, & keep device open between uses 2017-07-17 22:35:17 -07:00
Brian Cox 60fede7678 Tweak device random stuff for Linux 2017-07-15 22:59:50 -07:00
Brian Cox eec812814a Use RNG device(s) if available (experimental) 2017-07-15 18:10:42 -07:00
Brian Cox b26422fa07 If an exception throws out of an IC, catch it & add to the report file instead of just falling over. 2017-07-09 10:10:16 -07:00
Brian Cox 2fc9faaee1 remove a backup file I hadn't meant to commit 2017-07-09 00:11:05 -07:00
Brian Cox 180bf761e0 Buildsys files regenerated with automake 1.15.1, with no exciting new features 2017-07-08 22:18:04 -07:00
Brian Cox dbc00a2ed4 Fix logic error in cFCOPropVector::isExtended(), which only manifests with large prop vectors we currently won't see in the wild. Exposed by intermittently failing test in fcopropvector_t.cpp circa line 132, which now passes reliably on platforms where it used to fail. 2017-07-08 19:51:23 -07:00
Brian Cox ad9a79a84a Add '.' to test-harness @INC path, since latest Perl 5 apparently now excludes it by default. 2017-07-08 19:47:49 -07:00
Brian Cox 65d97e2892 Rework fileutil_t test to not require /etc/hosts; tweak twutil_t test to work properly if run as root 2017-07-08 16:29:34 -07:00
Brian Cox 122010acc2 In examine-encryption mode, say 'Unknown' & exit w/ nonzero value if can't find a keyfile that goes with the file being examined 2017-07-08 15:18:58 -07:00
Brian Cox 4176c1db12 Add a new test-harness test to exercise twadmin change-passphrases mode 2017-06-28 20:05:52 -07:00
Brian Cox 73a8f0e59b Add a test-harness that does a happy path thru the twadmin file crypto modes. 2017-06-25 14:48:56 -07:00
Brian Cox 60b24b0201 Add a test-harness test for policy updates, & tidy up some existing test code 2017-06-24 10:57:18 -07:00
Brian Cox dae64c48ed Update copyright years 2017-04-25 18:31:11 -07:00
Brian Cox b1f0ed4b71 Add an email reporting test, which runs tripwire --test mode & verifies the required mail header fields look right. This test only uses the sendmail (pipe) mailmethod, since I'm not sure how to automate SMTP testing in our Perl framework. 2017-04-24 22:44:03 -07:00
Brian Cox cdfb2096c5 Fixes for the Perl acceptance test suite: Enhance reporting to show total/pass/fail/skip tests, fix DB Update tests that were failing silently, fix 'hash check' tests that were passing incorrectly even if md5sum wasn't present, add a sha1 hash test. 2017-04-23 22:52:32 -07:00
Brian Cox 47c9861baa Clean up various unit test TODOs, including re-enabling some test code that had been ifdef'd out; improve reporting of failures and how many actual tests were run 2017-04-19 23:37:35 -07:00
Brian Cox 5a425591ce Redo hierdatabase & dbdatasource unit tests so they do something useful; add sanity checks to cBlockRecordFile::FindRoomForData and cDbDataSourceIter::SetFCOData, the need for these was exposed by the new tests. Also update debug-only DB Explore mode with a few more commands 2017-04-19 20:20:08 -07:00
Brian Cox 8ba032c424 Change uses of _DEBUG and _DEBUG_DB defines to be DEBUG, since that's the only symbol that gets defined by configuring with --enable-debug. 2017-04-12 21:44:51 -07:00
Brian Cox a1e614d694 Remove irritating 'eof:' comments, and some ancient dead code in stringutil.cpp 2017-04-11 21:29:32 -07:00
Brian Cox e653e83058 Expanded exception handling for file operations during a check, plus some refactoring & cleanup 2017-04-11 21:23:25 -07:00
Brian Cox 65e0a0d664 Tweak unit test error reporting slightly 2017-03-31 23:08:44 -07:00
Brian Cox 7b86cdd134 Unit test build fix, make sure <typeinfo> is included 2017-03-31 15:09:43 -07:00
Brian Cox a67d3c3a86 Clean up installer (remove unneeded checks, better editor & pager detection & path handling); update twtest to count failures instead of exiting on first one. 2017-03-30 22:22:52 -07:00
Brian Cox 9e1b078aac Fix setting of IS_xxx OS macros for various platforms 2017-03-29 00:13:22 -07:00
Brian Cox 4af1375fb1 More unit test cleanup, + fix a warning in msystem le_set() 2017-03-27 22:45:55 -07:00
Brian Cox 7d66656c10 Build fix for tests, since you don't always have an ifstream/ofstream constructor that takes a string reference 2017-03-27 16:43:00 -07:00
Brian Cox 2c03fdf878 Enable/repair more unit tests, and undo an earlier change to hex_to_char() that was causing test failures 2017-03-27 00:50:33 -07:00
Brian Cox cdb7310dae Enable & (at least partly) fix charutil, displayencoder, & policyparser tests, which weren't running until now. 2017-03-26 20:16:37 -07:00
Brian Cox be0b374cad Tweak le_set() for clarity in msystem.cpp 2017-03-26 00:28:04 -07:00
Brian Cox c931a13ecd Disable unused tss::mbsdec() 2017-03-26 00:06:09 -07:00
Brian Cox da8748b6f2 fix file mode printing 2017-03-25 23:41:37 -07:00
Brian Cox 76868c5ccc Resolve assorted GCC 7 warnings 2017-03-25 19:40:54 -07:00
Brian Cox e04b97132b Ok, actually don't use strl* string functions since they're a BSD-ism & Linux doesn't have them. 2017-03-25 16:02:51 -07:00
Brian Cox 7ce1df0a04 Remove the few remaining exception specifications, since they're deprecated in C++11 & cause warnings in GCC 7 2017-03-25 15:31:47 -07:00
Brian Cox 8cdca39103 Prefer strl* string functions over strn* ones 2017-03-25 15:06:22 -07:00
Brian Cox 911e051091 Fix more warnings, & make TestFCOSpec() do something useful in non-debug builds 2017-03-23 23:45:20 -07:00
Brian Cox 9c38b49839 Prefer prefix ++/-- operators where possible, for performance reasons (per CppCheck) 2017-03-23 19:30:52 -07:00
Brian Cox 5c1cfe4702 Use unique_ptr instead of auto_ptr where available (and define a macro to pick which one to use); fix a few other remaining warnings. 2017-03-22 20:00:08 -07:00
Brian Cox 4cb15a741a Remove 'util_EatAllSpaces' method, which did shady things with iterators and didn't even eat all whitespace 2017-03-22 00:11:20 -07:00
Brian Cox ea2170fd20 Tweak a memory alignment unit test that doesn't (and should not be expected to) work on HP-UX. 2017-03-21 23:36:26 -07:00
Brian Cox 5275975d86 Correctly handle rule w/ leading whitespace within a quoted path. Uncomment test case that validates correct behavior. 2017-03-19 23:09:05 -07:00
Brian Cox a2e82147eb update old 'directives.txt' policy test file for current syntax 2017-03-19 10:40:29 -07:00
Brian Cox 2c57dd824a Update test policy files in src/parser/testfiles to (largely) match current policy language 2017-03-17 23:37:05 -07:00
Brian Cox 6ea9c0b92e fix debug builds in debug.cpp 2017-03-17 18:38:56 -07:00
Brian Cox 2b067176ad Fix some clang extended warnings: non-virtual-dtor, shadow, unneeded-internal-declaration 2017-03-17 00:04:21 -07:00
Brian Cox aaee78c061 Tweaks for 'make check': Don't assume location of perl, or existence of /etc/hosts 2017-03-16 20:51:12 -07:00
Brian Cox 8bd86fe60d Address more cppcheck warnings, mostly around assignment operators & explicit constructors 2017-03-15 23:41:23 -07:00
Brian Cox b1147d65cf Add sanity check in cFCODataSourceIterImpl::SeekToFCO() to fix a unit test that fails on some platforms 2017-03-15 21:44:54 -07:00
Brian Cox 900fad8ca4 Remove some dead code, including objectpool & Unicode-only utf8 stuff 2017-03-15 20:58:49 -07:00
Brian Cox 1fb5f332e6 For clarity, remove a bunch of IS_UNIX ifdefs, since configure.ac always defines IS_UNIX to 1 no matter the OS. 2017-03-15 20:31:38 -07:00
Brian Cox b2f21c3d55 Assorted bounds checks (via flawfinder) 2017-03-15 19:06:52 -07:00
Brian Cox d3f859bfbd Address some cppcheck warnings around initializers & catching by reference 2017-03-15 00:47:52 -07:00
Brian Cox 062523a60e Add a working 'make check' target, which runs both the test suite in src/test-harness, and all the twtest unit tests; update unit test binary to return standard success/fail values, to keep make happy 2017-03-14 01:23:23 -07:00