diff --git a/libstuff/SLog.cpp b/libstuff/SLog.cpp index abd4f744f..fb0cb9443 100644 --- a/libstuff/SLog.cpp +++ b/libstuff/SLog.cpp @@ -43,6 +43,7 @@ void SLogStackTrace(int level) { // If the param name is not in this whitelist, we will log in addLogParams. static const set PARAMS_WHITELIST = { "accountID", + "accountIDs", "attendees", "bankAccountID", "cardData", @@ -59,6 +60,7 @@ static const set PARAMS_WHITELIST = { "feedID", "feedName", "field", + "index", "indexName", "invoice", "isUnique", @@ -68,6 +70,7 @@ static const set PARAMS_WHITELIST = { "policyID", "reportID", "requestTimestamp", + "secondaryLogin", "shouldCompleteOnboarding", "shouldDismissHybridAppOnboarding", "status", @@ -75,7 +78,7 @@ static const set PARAMS_WHITELIST = { "timeDiff", "token", "transactionID", - "type", + "type" }; string addLogParams(string&& message, const map& params) { diff --git a/test/lib/tpunit++.cpp b/test/lib/tpunit++.cpp index 2835ad2f4..e1ec8aeba 100644 --- a/test/lib/tpunit++.cpp +++ b/test/lib/tpunit++.cpp @@ -103,10 +103,10 @@ tpunit::_TestFixture::~_TestFixture() { delete _tests; } -int tpunit::_TestFixture::tpunit_detail_do_run(int threads, std::function threadInitFunction) { +int tpunit::_TestFixture::tpunit_detail_do_run(int threads, std::function threadInitFunction, std::function sortFunction) { const std::set include, exclude; const std::list before, after; - return tpunit_detail_do_run(include, exclude, before, after, threads, threadInitFunction); + return tpunit_detail_do_run(include, exclude, before, after, threads, threadInitFunction, sortFunction); } void tpunit::_TestFixture::tpunit_run_test_class(_TestFixture* f) { @@ -129,10 +129,16 @@ void tpunit::_TestFixture::tpunit_run_test_class(_TestFixture* f) { cout << "\xE2\x9D\x8C !FAILED! \xE2\x9D\x8C cleaning up " << f->_name << "." << endl; } } +bool tpunit::_TestFixture::sorter(_TestFixture* a, _TestFixture* b) { + if (a->_name && b->_name) { + return strcmp(a->_name, b->_name) < 0; + } + return false; +} int tpunit::_TestFixture::tpunit_detail_do_run(const set& include, const set& exclude, const list& before, const list& after, int threads, - std::function threadInitFunction) { + std::function threadInitFunction, std::function sortFunction) { threadInitFunction(); /* * Run specific tests by name. If 'include' is empty, then every test is @@ -140,12 +146,7 @@ int tpunit::_TestFixture::tpunit_detail_do_run(const set& include, const * then only tests in 'include' are run, and 'exclude' is ignored. */ std::list<_TestFixture*> testFixtureList = *tpunit_detail_fixture_list(); - testFixtureList.sort([&](_TestFixture* a, _TestFixture* b) { - if (a->_name && b->_name) { - return strcmp(a->_name, b->_name) < 0; - } - return false; - }); + testFixtureList.sort(sortFunction); // Make local, mutable copies of the include and exclude lists. set _include = include; @@ -524,11 +525,11 @@ list* tpunit::_TestFixture::tpunit_detail_fixture_list() return _fixtureList; } -int tpunit::Tests::run(int threads, std::function threadInitFunction) { - return _TestFixture::tpunit_detail_do_run(threads, threadInitFunction); +int tpunit::Tests::run(int threads, std::function threadInitFunction, std::function sortFunction) { + return _TestFixture::tpunit_detail_do_run(threads, threadInitFunction, sortFunction); } int tpunit::Tests::run(const set& include, const set& exclude, - const list& before, const list& after, int threads, std::function threadInitFunction) { - return _TestFixture::tpunit_detail_do_run(include, exclude, before, after, threads, threadInitFunction); + const list& before, const list& after, int threads, std::function threadInitFunction, std::function sortFunction) { + return _TestFixture::tpunit_detail_do_run(include, exclude, before, after, threads, threadInitFunction, sortFunction); } diff --git a/test/lib/tpunit++.hpp b/test/lib/tpunit++.hpp index 398bf925a..dd4cdb061 100644 --- a/test/lib/tpunit++.hpp +++ b/test/lib/tpunit++.hpp @@ -216,6 +216,8 @@ namespace tpunit { recursive_mutex* _mutex; int _threadID; + static bool sorter(_TestFixture* a, _TestFixture* b); + protected: // Test buffer for printing to stdout if a test were to fail. string testOutputBuffer; @@ -285,11 +287,11 @@ namespace tpunit { return new method(this, static_cast(_method), _name, _type); } - static int tpunit_detail_do_run(int threads = 1, std::function threadInitFunction = [](){}); + static int tpunit_detail_do_run(int threads = 1, std::function threadInitFunction = [](){}, std::function sortFunction = &_TestFixture::sorter); static int tpunit_detail_do_run(const std::set& include, const std::set& exclude, const std::list& before, const std::list& after, int threads, - std::function threadInitFunction); + std::function threadInitFunction, std::function sortFunction = &_TestFixture::sorter); /** * This method writes to a temporary buffer and formats the message nicely for debugging @@ -303,6 +305,10 @@ namespace tpunit { static void tpunit_detail_trace(_TestFixture* f, const char* _file, int _line, const char* _message); + const char* name() { + return _name; + } + protected: /** @@ -443,7 +449,7 @@ namespace tpunit { * * @return Number of failed assertions or zero if all tests pass. */ - static int run(int threads = 1, std::function threadInitFunction = [](){}); + static int run(int threads = 1, std::function threadInitFunction = [](){}, std::function sortFunction = &_TestFixture::sorter); /** * Run specific tests by name. If 'include' is empty, then every test is @@ -454,6 +460,6 @@ namespace tpunit { */ static int run(const std::set& include, const std::set& exclude, const std::list& before, const std::list& after, int threads = 1, - std::function threadInitFunction = [](){}); + std::function threadInitFunction = [](){}, std::function sortFunction = &_TestFixture::sorter); }; }