/* Test-Helper - collection of functions supporting unit testing Copyright (C) 2009, Hermann Vosseler   **Lumiera** is free software; you can redistribute it and/or modify it   under the terms of the GNU General Public License as published by the   Free Software Foundation; either version 2 of the License, or (at your   option) any later version. See the file COPYING for further details. * *****************************************************************/ /** @file test-helper.cpp ** definition of some widely used test helper functions. ** ** @see TestHelper_test ** @see TestHelperDemangling_test ** */ #include "test/test-helper.hpp" #include "test/tracking-dummy.hpp" #include "lib/unique-malloc-owner.hpp" #include "lib/format-string.hpp" #include "lib/format-cout.hpp" #include "lib/random.hpp" #include using util::_Fmt; using std::string; namespace test{ /** storage for test-dummy flags */ long Dummy::_local_checksum = 0; bool Dummy::_throw_in_ctor = false; EventLog Tracker::log{"Instance-Tracker"}; string showSizeof (size_t siz, string name) { static _Fmt fmt{"sizeof( %s ) %|40t|= %3d"}; return fmt % name % siz; } /** * @internal check equality and print difference * @remark defined here to avoid inclusion of `` in header */ bool ExpectString::verify (std::string const& actual) const { std::string const& expected{*this}; // to avoid endless recursion bool expectationMatch {actual == expected}; if (not expectationMatch) { cerr << "FAIL___expectation___________" << "\nexpect:"<