Tests: build an link a test-support library

This is something I wanted to clean-up since a very long time indeed,
but always postponed it, since it requires a lot of nasty clean-up and disentangling....

Several parts had been stashed away into `src/lib/test`, which are not really related:
 * the testrunner and testsuite builder
 * generic helper utilities
 * specialised test-support facilities, e.g. the EventLog

This changeset introduces a new top-level test folder and a namespace `::test`
Code from this folder is linked into a shared library `libtestsupport.so`,
which resides in the linkage hierarchy between »Vessel« and »Vault«,
yet is no longer part of the Lumiera application and only linked into the test-suite.
This commit is contained in:
Fischlurch 2026-03-06 21:34:20 +01:00
parent 35f946d8d9
commit 9c74466778
351 changed files with 1144 additions and 1020 deletions

View file

@ -107,7 +107,7 @@ See the following
.hello-world-test example
[source,C]
----------------------------------------------------------------
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include <iostream>
using std::cout;

View file

@ -19,8 +19,8 @@
#include "lib/format-cout.hpp"
#include "lib/test/test-helper.hpp"
#include "lib/test/diagnostic-output.hpp"
#include "test/test-helper.hpp"
#include "test/diagnostic-output.hpp"
#include "lib/meta/tuple-helper.hpp"
#include "lib/hetero-data.hpp"
#include "lib/util.hpp"
@ -41,11 +41,11 @@ template<lib::meta::tuple_like X>
void
show()
{
cout << "Tup!! "<< lib::test::showType<X>() <<endl;
cout << "Tup!! "<< ::test::showType<X>() <<endl;
lib::meta::forEachIDX<X> ([](auto i)
{
using Elm = std::tuple_element_t<i, X>;
cout <<" "<<uint(i)<<": "<< lib::test::showType<Elm>() <<endl;
cout <<" "<<uint(i)<<": "<< ::test::showType<Elm>() <<endl;
});
}

View file

@ -32,6 +32,10 @@ lumiera = ( env.Program('lumiera', ['lumiera/main.cpp'] + core, install=True)
env.SymLink('$DESTDIR/bin/lumiera',env.path.installExe+'lumiera','../lib/lumiera/lumiera')
# Unit/Integration test support
test_support = env.SharedLibrary('testsupport', srcSubtree('test'), addLibs=vessel_lib, install=False)
# building Lumiera Plugins
plugins = [] # currently none
@ -49,4 +53,4 @@ gui = ( guimodule
)
Export('lumiera core core_lib vessel_lib vault_lib support_lib plugins envGtk guimodule gui')
Export('lumiera core core_lib vessel_lib vault_lib support_lib test_support plugins envGtk guimodule gui')

View file

@ -43,7 +43,7 @@
#include "lib/idi/genfunc.hpp"
#include "lib/format-string.hpp"
#include "lib/format-util.hpp"
#include "lib/test/event-log.hpp"
#include "test/event-log.hpp"
#include "lib/nocopy.hpp"
#include "lib/util.hpp"
@ -58,8 +58,8 @@ namespace diff{
namespace error = lumiera::error;
using lib::Literal;
using lib::test::EventLog;
using lib::test::EventMatch;
using test::EventLog;
using test::EventMatch;
using iter_stl::eachElm;
using util::unConst;
using util::isnil;

View file

@ -197,10 +197,10 @@ apologies for that."
"|(\\w+::)+\\(anonymous namespace\\)::"
"|lib::meta::"
"|lib::time::"
"|lib::test::"
"|lib::diff::"
"|lib::"
"|util::"
"|\\btest::"
"|steam::(asset::|mobject::(session::)?|play::)?"
"|stage::model"
"|stage::ctrl"

View file

@ -85,6 +85,27 @@ namespace lib {
entropyGen.reseed(entropyNucleus);
defaultGen.reseed(entropyNucleus);
}
/**
* @remark this is a general-purpose util mostly used in unit-tests
* to generate a short string item that looks readable; probabilities
* of individual letters were chosen non-uniformely to improve readability.
*/
string
randStr (size_t len)
{
static const string alpha{"aaaabbccdddeeeeeffgghiiiiiijjkkllmmnnnoooopqqrrssttuuuuvwwxxxxxxxxxyyyyzz0123456789"};
static const size_t MAXCH{alpha.size()};
string garbage(len,'\0');
size_t p = len;
while (p)
garbage[--p] = alpha[rani (MAXCH)];
return garbage;
}
} // namespace lib

View file

@ -166,6 +166,14 @@ namespace lib {
/* ===== general-purpose utils ===== */
/** create garbage string of given length.
* @return string containing arbitrary lower case letters and numbers
*/
std::string randStr (size_t len);
/* ===== Implementation details ===== */

View file

@ -40,7 +40,7 @@
#include "include/gui-notification-facade.h"
#include "steam/mobject/session/dummy-session-connection.hpp"
#include "lib/test/test-helper.hpp"
#include "test/test-helper.hpp"
#include "lib/diff/gen-node.hpp"
#include "lib/scoped-ptrvect.hpp"
#include "lib/format-string.hpp"
@ -285,7 +285,7 @@ namespace dialog {
pickDummyID()
{
string dummyID = sanitise (dummy_.get_text());
dummy_.set_text (string{_Fmt{"d%s%02d"} % lib::test::randStr(2) % (1 + lib::rani(99))});
dummy_.set_text (string{_Fmt{"d%s%02d"} % lib::randStr(2) % (1 + lib::rani(99))});
return dummyID;
}

View file

@ -83,7 +83,7 @@
#include "lib/meta/variadic-helper.hpp"
#include "lib/meta/tuple-helper.hpp"
#include "lib/meta/generator.hpp"
#include "lib/test/test-helper.hpp"
#include "test/test-helper.hpp"
namespace steam {

View file

@ -139,7 +139,7 @@
#include "steam/engine/media-weaving-pattern.hpp"
#include "lib/meta/tuple-closure.hpp"
#include "lib/meta/tuple-helper.hpp"
//#include "lib/test/test-helper.hpp" ////////////////////////////OOO TODO added for test
//#include "test/test-helper.hpp" ////////////////////////////OOO TODO added for test
#include "lib/format-string.hpp"
#include "lib/iter-zip.hpp"
#include "lib/util.hpp"

View file

@ -31,7 +31,7 @@
#ifndef MOBJECT_TEST_DUMMY_MOBJECT_H
#define MOBJECT_TEST_DUMMY_MOBJECT_H
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "steam/mobject/builder/buildertool.hpp"
#include "steam/mobject/session/abstractmo.hpp"

1
src/test/DIR_INFO Normal file
View file

@ -0,0 +1 @@
Testrunner and test support utilities -- but not the unit-tests themselves

View file

@ -23,12 +23,12 @@
*/
#ifndef LIB_TEST_DIAGNOSTIC_OUTPUT_H
#define LIB_TEST_DIAGNOSTIC_OUTPUT_H
#ifndef TEST_DIAGNOSTIC_OUTPUT_H
#define TEST_DIAGNOSTIC_OUTPUT_H
#include "lib/format-cout.hpp"
#include "lib/test/test-helper.hpp"
#include "test/test-helper.hpp"
#include <boost/lexical_cast.hpp>
#include <string>
@ -36,10 +36,9 @@
using std::string;
namespace lib {
namespace test{
}} // namespace lib::test
}// namespace test
@ -51,11 +50,11 @@ namespace test{
* using Lumiera's string conversion framework
*/
#define SHOW_TYPE(_TY_) \
cout << "typeof( " << STRINGIFY(_TY_) << " )= " << lib::test::showType<_TY_>() <<endl;
cout << "typeof( " << STRINGIFY(_TY_) << " )= " << ::test::showType<_TY_>() <<endl;
#define SHOW_EXPR(_XX_) \
cout << "#--◆--# " << STRINGIFY(_XX_) << " ? = " << util::toString(_XX_) <<endl;
#define SHOW_EXPL(_XX_) \
cout << "#--◆--# " << STRINGIFY(_XX_) << " ? = " << boost::lexical_cast<string>(_XX_) <<endl;
#endif /*LIB_TEST_DIAGNOSTIC_OUTPUT_H*/
#endif /*TEST_DIAGNOSTIC_OUTPUT_H*/

View file

@ -35,11 +35,10 @@
#include "lib/error.hpp"
#include "lib/test/event-log.hpp"
#include "test/event-log.hpp"
namespace lib {
namespace test{
namespace error = lumiera::error;
@ -48,6 +47,7 @@ namespace test{
using util::isnil;
using lib::Symbol;
using std::string;
using std::forward;
namespace { /* == elementary matchers == */
@ -812,4 +812,4 @@ namespace test{
}} // namespace lib::test
}// namespace test

View file

@ -67,8 +67,8 @@
*/
#ifndef LIB_TEST_EVENT_LOG_H
#define LIB_TEST_EVENT_LOG_H
#ifndef TESTSUPPORT_EVENT_LOG_H
#define TESTSUPPORT_EVENT_LOG_H
#include "lib/error.hpp"
@ -88,12 +88,13 @@
namespace lib {
namespace test{
namespace test {
using lib::Symbol;
using std::string;
using lib::Symbol;
using lib::Literal;
using util::collectStr;
using lib::idi::instanceTypeID;
namespace {
using Entry = lib::diff::Record<string>;
@ -103,7 +104,7 @@ namespace test{
buildSearchFilter(Log const& srcSeq)
{
using Cursor = lib::iter::CursorGear<Log::const_iterator>;
return iter::chainSearch (Cursor{srcSeq.begin(), srcSeq.end()});
return lib::iter::chainSearch (Cursor{srcSeq.begin(), srcSeq.end()});
}
}
@ -243,7 +244,7 @@ namespace test{
template<typename X>
EventMatch& on (const X *const targetObj)
{
string targetID = idi::instanceTypeID (targetObj);
string targetID = instanceTypeID (targetObj);
return this->on(targetID);
}
@ -305,7 +306,7 @@ namespace test{
template<class X>
explicit
EventLog (const X *const obj)
: EventLog(idi::instanceTypeID (obj))
: EventLog(instanceTypeID (obj))
{ }
@ -337,7 +338,7 @@ namespace test{
EventLog&
clear (const X *const obj)
{
return clear (idi::instanceTypeID (obj));
return clear (instanceTypeID (obj));
}
@ -387,7 +388,7 @@ namespace test{
EventLog&
call (const X *const targetObj, string function, ARGS const& ...args)
{
return call (idi::instanceTypeID (targetObj), function, args...);
return call (instanceTypeID (targetObj), function, args...);
}
template<typename...ARGS>
@ -532,5 +533,5 @@ namespace test{
}} // namespace lib::test
#endif /*LIB_TEST_EVENT_LOG_H*/
} // namespace test
#endif /*TESTSUPPORT_EVENT_LOG_H*/

View file

@ -27,14 +27,13 @@
*/
#ifndef LIB_TEST_MICROBENCHMARK_ADAPTOR_H
#define LIB_TEST_MICROBENCHMARK_ADAPTOR_H
#ifndef TEST_MICROBENCHMARK_ADAPTOR_H
#define TEST_MICROBENCHMARK_ADAPTOR_H
#include "lib/meta/function.hpp"
#include "lib/meta/util.hpp"
namespace lib {
namespace test{
namespace microbenchmark {
@ -158,5 +157,5 @@ namespace microbenchmark {
}}} // namespace lib::test::microbenchmark
#endif /*LIB_TEST_MICROBENCHMARK_ADAPTOR_H*/
}} // namespace test::microbenchmark
#endif /*TEST_MICROBENCHMARK_ADAPTOR_H*/

View file

@ -41,8 +41,8 @@
*/
#ifndef LIB_TEST_MICROBENCHMARK_H
#define LIB_TEST_MICROBENCHMARK_H
#ifndef TEST_MICROBENCHMARK_H
#define TEST_MICROBENCHMARK_H
#include "lib/meta/function.hpp"
@ -50,13 +50,12 @@
#include "lib/sync-barrier.hpp"
#include "lib/thread.hpp"
#include "lib/test/microbenchmark-adaptor.hpp"
#include "test/microbenchmark-adaptor.hpp"
#include <chrono>
namespace lib {
namespace test{
namespace {
@ -146,6 +145,7 @@ namespace test{
inline auto
threadBenchmark(FUN const& subject, const size_t repeatCnt = DEFAULT_RUNS)
{
using lib::SyncBarrier;
using std::chrono::steady_clock;
using Dur = std::chrono::duration<double, CLOCK_SCALE>;
@ -195,5 +195,5 @@ namespace test{
}} // namespace lib::test
#endif /*LIB_TEST_MICROBENCHMARK_H*/
}// namespace test
#endif /*TESTSUPPORT_MICROBENCHMARK_H*/

View file

@ -24,15 +24,15 @@
*/
#ifndef TESTHELPER_RUN_H
#define TESTHELPER_RUN_H
#ifndef TESTSUITE_RUN_H
#define TESTSUITE_RUN_H
#include "lib/error.hpp"
#include "lib/random.hpp"
#include "lib/test/suite.hpp"
#include "lib/util.hpp"
#include "test/suite.hpp"
#include <memory>
#include <string>
@ -118,4 +118,4 @@ using lib::defaultGen;
Launch<_TEST_CLASS_> run_##_TEST_CLASS_##_(STRINGIFY(_TEST_CLASS_), _GROUPS_);
#endif /*TESTHELPER_RUN_H*/
#endif /*TESTSUITE_RUN_H*/

View file

@ -22,12 +22,13 @@
#include "lib/symbol.hpp"
#include "lib/random-reseed.hpp"
#include "lib/format-cout.hpp"
#include "lib/test/suite.hpp"
#include "lib/test/run.hpp"
#include "lib/cmdline.hpp"
#include "lib/random.hpp"
#include "lib/util.hpp"
#include "test/suite.hpp"
#include "test/run.hpp"
#include <boost/algorithm/string.hpp>
#include <optional>
#include <sstream>

View file

@ -28,8 +28,8 @@
*/
#ifndef TESTHELPER_SUITE_H
#define TESTHELPER_SUITE_H
#ifndef TEST_SUITE_H
#define TEST_SUITE_H
#include <vector>
#include <string>
@ -75,4 +75,4 @@ namespace test {
} // namespace test
#endif
#endif /*TEST_SUITE_H*/

View file

@ -18,8 +18,8 @@
*/
#ifndef LIB_TEST_TEMP_DIR_H
#define LIB_TEST_TEMP_DIR_H
#ifndef TESTSUPPORT_TEMP_DIR_H
#define TESTSUPPORT_TEMP_DIR_H
#include "lib/error.hpp"
@ -27,6 +27,7 @@
#include "lib/random.hpp"
#include "include/limits.hpp"
#include "lib/format-string.hpp"
#include "lib/format-obj.hpp"
#include "lib/file.hpp"
#include "lib/util.hpp"
@ -34,9 +35,7 @@
#include <string>
namespace lib {
namespace test{
namespace error = lumiera::error;
using util::_Fmt;
@ -44,7 +43,7 @@ namespace test{
using std::string;
namespace {
Literal TEMPFILE_PREFIX = "Lux";
lib::Literal TEMPFILE_PREFIX = "Lux";
}
@ -98,7 +97,7 @@ namespace test{
auto tmpDir = fs::temp_directory_path();
for (uint attempt=0; attempt<LUMIERA_MAX_COMPETITION; ++attempt)
{
auto randName = TEMPFILE_PREFIX + util::showHash (entropyGen.u64());
auto randName = TEMPFILE_PREFIX + util::showHash (lib::entropyGen.u64());
auto newPath = tmpDir / randName;
// attempt to create it....
if (fs::create_directory (newPath)
@ -117,7 +116,7 @@ namespace test{
{
for (uint attempt=0; attempt<LUMIERA_MAX_COMPETITION; ++attempt)
{
auto randName = prefix + "." + util::showHash (entropyGen.u64());
auto randName = prefix + "." + util::showHash (lib::entropyGen.u64());
auto newPath = loc_ / randName;
// attempt to create it....
if (fs::exists(newPath))
@ -141,5 +140,5 @@ namespace test{
};
}} // namespace lib::test
#endif /*LIB_TEST_TEMP_DIR_H*/
}// namespace test
#endif /*TESTSUPPORT_TEMP_DIR_H*/

View file

@ -17,8 +17,8 @@
*/
#ifndef LIB_TEST_TEST_COLL_H
#define LIB_TEST_TEST_COLL_H
#ifndef TESTSUPPORT_TEST_COLL_H
#define TESTSUPPORT_TEST_COLL_H
#include <unordered_map>
@ -27,8 +27,7 @@
#include <map>
namespace lib {
namespace test{
namespace test {
typedef std::vector<int> VecI;
@ -45,11 +44,11 @@ namespace test{
}
typedef std::map<int,int> MapII;
typedef std::multimap<int,int> MMapII;
using MapII = std::map<int,int>;
using MMapII = std::multimap<int,int>;
typedef std::unordered_map<int,int> HMapII;
typedef std::unordered_multimap<int,int> HMMapII;
using HMapII = std::unordered_map<int,int>;
using HMMapII = std::unordered_multimap<int,int>;
template<class MAP>
@ -87,5 +86,5 @@ namespace test{
}} // namespace lib::test
#endif /*LIB_TEST_TEST_COLL_H*/
}// namespace test
#endif /*TESTSUPPORT_TEST_COLL_H*/

View file

@ -21,8 +21,8 @@
*/
#include "lib/test/test-helper.hpp"
#include "lib/test/tracking-dummy.hpp"
#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"
@ -33,7 +33,6 @@
using util::_Fmt;
using std::string;
namespace lib {
namespace test{
@ -55,23 +54,6 @@ namespace test{
/** @todo probably this can be done in a more clever way. Anyone...?
*/
string
randStr (size_t len)
{
static const string alpha{"aaaabbccddeeeeffgghiiiijjkkllmmnnooooppqqrrssttuuuuvvwwxxyyyyzz0123456789"};
static const size_t MAXAL{alpha.size()};
string garbage(len,'\0');
size_t p = len;
while (p)
garbage[--p] = alpha[rani (MAXAL)];
return garbage;
}
/**
* @internal check equality and print difference
* @remark defined here to avoid inclusion of `<iostream>` in header
@ -92,4 +74,4 @@ namespace test{
}
}} // namespace lib::test
}// namespace test

View file

@ -27,14 +27,14 @@
*/
#ifndef LIB_TEST_TEST_HELPER_H
#define LIB_TEST_TEST_HELPER_H
#ifndef TESTSUPPORT_TEST_HELPER_H
#define TESTSUPPORT_TEST_HELPER_H
#include "lib/symbol.hpp"
#include "lib/meta/trait.hpp"
#include "lib/time/timevalue.hpp"
#include "lib/test/transiently.hpp"
#include "test/transiently.hpp"
#include "lib/format-obj.hpp"
#include "lib/random.hpp"
@ -48,22 +48,25 @@
namespace lib {
namespace test{
using lib::Literal;
using std::string;
using lib::randStr;
using lib::rani;
using lib::meta::enable_if;
using lib::meta::disable_if;
using lib::meta::demangleCxx;
using lib::meta::humanReadableTypeID;
constexpr auto ROUGH_PRECISION = pow (10, -3);
constexpr auto EPSILON_ULP = 5;
constexpr auto ROUGH_PRECISION = pow (10, -3);
constexpr auto EPSILON_ULP = 5;
template<typename F, typename N>
constexpr inline meta::enable_if< std::is_floating_point<F>,
bool >
constexpr inline enable_if< std::is_floating_point<F>,
bool >
roughEQ (F val, N target, F limit =ROUGH_PRECISION)
{
REQUIRE (0 < limit);
@ -72,8 +75,8 @@ namespace test{
template<typename F>
constexpr inline meta::enable_if< std::is_floating_point<F>,
F >
constexpr inline enable_if< std::is_floating_point<F>,
F >
ulp (F val)
{
val = fabs (val);
@ -86,8 +89,8 @@ namespace test{
}
template<typename F, typename N>
constexpr inline meta::enable_if< std::is_floating_point<F>,
bool >
constexpr inline enable_if< std::is_floating_point<F>,
bool >
epsEQ (F val, N target, uint ulps =EPSILON_ULP)
{
return abs (val - target) < ulps * ulp<F> (target);
@ -112,8 +115,8 @@ namespace test{
}
template<typename T>
inline meta::disable_if<std::is_pointer<T>,
string > // note:: force invocations with pointer to the first overload
inline disable_if<std::is_pointer<T>,
string > // note:: force invocations with pointer to the first overload
showSizeof (T const& obj, CStr name =nullptr)
{
return showSizeof (&obj, name);
@ -260,7 +263,7 @@ namespace test{
using Type = Case::Type;
return Case::prefix
+ meta::humanReadableTypeID (typeid(Type).name())
+ humanReadableTypeID (typeid(Type).name())
+ Case::postfix;
}
@ -304,17 +307,13 @@ namespace test{
/** create a random but not insane Time value between 1s ... 10min + 500ms */
/** create a random yet plausible Time value between 1s ... 10min + 500ms */
inline lib::time::Time
randTime ()
{
return lib::time::Time (500 * rani(2), 1 + rani(600));
}
/** create garbage string of given length
* @return string containing arbitrary lower case letters and numbers
*/
string randStr (size_t len);
/**
@ -360,7 +359,7 @@ namespace test{
bool verify (std::string const& actual) const;
};
}} // namespace lib::test
}// namespace test
@ -374,10 +373,10 @@ namespace test{
* CHECK (result23 == "[-100..100]"_expect);
* \endcode
*/
inline lib::test::ExpectString
inline ::test::ExpectString
operator""_expect (CStr lit, size_t siz)
{
return lib::test::ExpectString{lit, siz};
return ::test::ExpectString{lit, siz};
}
@ -390,24 +389,24 @@ operator""_expect (CStr lit, size_t siz)
* an assertion failure. In case of exception, the #lumiera_error
* state is checked, cleared and verified.
*/
#define VERIFY_ERROR(ERROR_ID, ERRONEOUS_STATEMENT) \
try \
{ \
ERRONEOUS_STATEMENT ; \
NOTREACHED("expected »%s« failure in: %s", \
#ERROR_ID, #ERRONEOUS_STATEMENT); \
} \
catch (lumiera::Error& ex) \
{ \
CHECK (ex.getID() \
== lib::test::ExpectString{LUMIERA_ERROR_##ERROR_ID} );\
lumiera_error(); \
} \
catch (...) \
{ \
CHECK (lumiera_error_peek() \
== lib::test::ExpectString{LUMIERA_ERROR_##ERROR_ID} ); \
lumiera_error(); \
#define VERIFY_ERROR(ERROR_ID, ERRONEOUS_STATEMENT) \
try \
{ \
ERRONEOUS_STATEMENT ; \
NOTREACHED("expected »%s« failure in: %s", \
#ERROR_ID, #ERRONEOUS_STATEMENT); \
} \
catch (lumiera::Error& ex) \
{ \
CHECK (ex.getID() \
== ::test::ExpectString{LUMIERA_ERROR_##ERROR_ID} );\
lumiera_error(); \
} \
catch (...) \
{ \
CHECK (lumiera_error_peek() \
== ::test::ExpectString{LUMIERA_ERROR_##ERROR_ID} ); \
lumiera_error(); \
}
/**
@ -443,4 +442,4 @@ operator""_expect (CStr lit, size_t siz)
#define MARK_TEST_FUN \
cout << "|" << endl << "| »"<<__FUNCTION__<<"«" <<endl;
#endif /*LIB_TEST_TEST_HELPER_H*/
#endif /*TESTSUPPORT_TEST_HELPER_H*/

View file

@ -21,8 +21,8 @@
*/
#ifndef LIB_TEST_TEST_H
#define LIB_TEST_TEST_H
#ifndef TESTSUPPORT_TEST_H
#define TESTSUPPORT_TEST_H
#include <stdio.h>
#include <stdlib.h>
@ -59,7 +59,7 @@ main (int argc, const char** argv) \
}
#endif
#endif /*TESTSUPPORT_TEST_H*/
/*
// Local Variables:

View file

@ -18,8 +18,8 @@
#include "lib/error.hpp"
#include "lib/test/testoption.hpp"
#include "lib/test/suite.hpp"
#include "test/testoption.hpp"
#include "test/suite.hpp"

View file

@ -17,8 +17,8 @@
*/
#ifndef TESTHELPER_TESTOPTION_H
#define TESTHELPER_TESTOPTION_H
#ifndef TESTSUPPORT_TESTOPTION_H
#define TESTSUPPORT_TESTOPTION_H
#include "lib/cmdline.hpp"
#include "lib/nocopy.hpp"
@ -74,4 +74,4 @@ namespace test {
} // namespace test
#endif
#endif /*TESTSUPPORT_TESTOPTION_H*/

View file

@ -30,7 +30,7 @@
*/
#include "lib/test/tracking-allocator.hpp"
#include "test/tracking-allocator.hpp"
#include "lib/uninitialised-storage.hpp"
#include "lib/iter-explorer.hpp"
#include "lib/depend.hpp"
@ -46,9 +46,10 @@ using std::make_pair;
using util::contains;
using util::joinDash;
using util::showAdr;
using lib::explore;
using lib::Depend;
namespace lib {
namespace test{
@ -69,7 +70,7 @@ namespace test{
struct Allocation
: util::MoveOnly
{
UninitialisedDynBlock<byte> buff{};
lib::UninitialisedDynBlock<byte> buff{};
size_t entryID{0};
};
@ -343,4 +344,4 @@ namespace test{
}} // namespace lib::test
} // namespace test

View file

@ -43,26 +43,25 @@
*/
#ifndef LIB_TEST_TRACKING_ALLOCATOR_H
#define LIB_TEST_TRACKING_ALLOCATOR_H
#ifndef TESTSUPPORT_TRACKING_ALLOCATOR_H
#define TESTSUPPORT_TRACKING_ALLOCATOR_H
#include "lib/error.hpp"
#include "lib/symbol.hpp"
#include "lib/nocopy.hpp"
#include "lib/hash-value.h"
#include "lib/test/event-log.hpp"
#include "lib/format-string.hpp"
#include "test/event-log.hpp"
#include <utility>
#include <memory>
using std::byte;
using lib::HashVal;
namespace lib {
namespace test {
namespace {
const Symbol GLOBAL{"GLOBAL"};
}
@ -243,5 +242,5 @@ namespace test {
}} // namespace lib::test
#endif /*LIB_TEST_TRACKING_ALLOCATOR_H*/
}// namespace test
#endif /*TESTSUPPORT_TRACKING_ALLOCATOR_H*/

View file

@ -20,12 +20,12 @@
*/
#ifndef LIB_TEST_TRACKING_DUMMY_H
#define LIB_TEST_TRACKING_DUMMY_H
#ifndef TESTSUPPORT_TRACKING_DUMMY_H
#define TESTSUPPORT_TRACKING_DUMMY_H
#include "lib/nocopy.hpp"
#include "lib/test/event-log.hpp"
#include "test/event-log.hpp"
#include "lib/format-string.hpp"
#include "lib/random.hpp"
#include "lib/util.hpp"
@ -34,8 +34,7 @@
#include <limits>
namespace lib {
namespace test{
namespace test {
/**
@ -147,7 +146,7 @@ namespace test{
*/
struct Tracker
{
static lib::test::EventLog log;
static EventLog log;
static constexpr int DEFUNCT = std::numeric_limits<int>::min();
static constexpr int DEAD = std::numeric_limits<int>::max();
@ -231,5 +230,5 @@ namespace test{
}} // namespace lib::test
#endif /*LIB_TEST_TRACKING_DUMMY_H*/
}// namespace test
#endif /*TESTSUPPORT_TRACKING_DUMMY_H*/

View file

@ -24,8 +24,8 @@
*/
#ifndef LIB_TEST_TRANSIENTLY_H
#define LIB_TEST_TRANSIENTLY_H
#ifndef TEST_TRANSIENTLY_H
#define TEST_TRANSIENTLY_H
#include "lib/nocopy.hpp"
@ -34,7 +34,6 @@
#include <utility>
namespace lib {
namespace test{
/**
@ -107,7 +106,7 @@ namespace test{
template<typename FUN, typename=lib::meta::enable_if<lib::meta::has_Sig<FUN, void(void)>>>
Transiently (FUN&&) -> Transiently<void(void)>;
}} // namespace lib::test
}// namespace test
@ -119,7 +118,7 @@ namespace test{
* @remark use as `TRANSIENTLY(blah) = moo;`
*/
#define TRANSIENTLY(_OO_) \
lib::test::Transiently PPMPL_CAT(transientlyManipulated_,__LINE__)(_OO_); PPMPL_CAT(transientlyManipulated_,__LINE__)
::test::Transiently PPMPL_CAT(transientlyManipulated_,__LINE__)(_OO_); PPMPL_CAT(transientlyManipulated_,__LINE__)
#endif /*LIB_TEST_TRANSIENTLY_H*/
#endif /*TEST_TRANSIENTLY_H*/

View file

@ -6,16 +6,16 @@ TEST "Test support functions" TestHelper_test <<END
out: [a-z0-9]{80}$
out-lit: Displaying types and sizes....
out-lit: sizeof( just a char ) = 1
out-lit: sizeof( test::Murpf ) = 1
out-lit: sizeof( test::Wrmrmpft<test::Murpf> ) = 1
out-lit: sizeof( test::Wrmrmpft<char [2]> ) = 2
out-lit: sizeof( test::Wrmrmpft<char [3]> ) = 3
out-lit: sizeof( Murpf ) = 1
out-lit: sizeof( Wrmrmpft<Murpf> ) = 1
out-lit: sizeof( Wrmrmpft<char [2]> ) = 2
out-lit: sizeof( Wrmrmpft<char [3]> ) = 3
out-lit: sizeof( Universe ) = 42
out-lit: sizeof( test::Wrmrmpft<test::Murpf> ) = 1
out-lit: sizeof( test::Wrmrmpft<test::Murpf> ) = 1
out-lit: sizeof( test::Wrmrmpft<test::Murpf> ) = 1
out-lit: sizeof( test::Wrmrmpft<test::Murpf> ) = 1
out-lit: sizeof( test::Wrmrmpft<test::Murpf> ) = 1
out-lit: sizeof( Wrmrmpft<Murpf> ) = 1
out-lit: sizeof( Wrmrmpft<Murpf> ) = 1
out-lit: sizeof( Wrmrmpft<Murpf> ) = 1
out-lit: sizeof( Wrmrmpft<Murpf> ) = 1
out-lit: sizeof( Wrmrmpft<Murpf> ) = 1
return: 0
END

View file

@ -91,7 +91,7 @@ END
TEST "Diff: Generic recursive mutation with closure binding" TreeMutator_test <<END
out-lit: |
out-lit: | »simpleAttributeBinding«
out: concrete TreeMutator .+Builder<ChangeOperation<TreeMutator, test::TreeMutator_test::simpleAttributeBinding().+lambda\(string\).+> >
out: concrete TreeMutator .+Builder<ChangeOperation<TreeMutator, TreeMutator_test::simpleAttributeBinding().+lambda\(string\).+> >
out-lit: "data" closure received something that would be acceptable
out-lit: localData changed to: that would be acceptable
out-lit: |
@ -355,7 +355,7 @@ END
TEST "formatting by string template" FormatString_test <<END
out-lit: --format-template--int=0012--double=+1.23--string=Lumiera --
out: 0x....+ _____+ .
out-lit: «test::FormatString_test::Silent»
out-lit: «FormatString_test::Silent»
out-lit: __nix_
out-lit: ____
out-lit: __1__

View file

@ -7,7 +7,7 @@ return: 0
END
PLANNED "Statistic and Regression" Statistic_test << END
TEST "Statistic and Regression" Statistic_test << END
return: 0
END

View file

@ -99,14 +99,14 @@ END
TEST "hierarchical placement types" PlacementHierarchy_test <<END
out: sizeof\( test::TestPlacement<test::TestSubMO1, test::DummyMO> \) = [0-9]{2}
out: sizeof\( test::TestPlacement<test::TestSubMO2, test::DummyMO> \) = [0-9]{2}
out: sizeof\( test::TestPlacement<test::TestSubMO21, test::TestSubMO2> \) = [0-9]{2}
out: sizeof\( test::TestPlacement<test::DummyMO, test::DummyMO> \) = [0-9]{2}
out: sizeof\( TestPlacement<TestSubMO1, DummyMO> \) = [0-9]{2}
out: sizeof\( TestPlacement<TestSubMO2, DummyMO> \) = [0-9]{2}
out: sizeof\( TestPlacement<TestSubMO21, TestSubMO2> \) = [0-9]{2}
out: sizeof\( TestPlacement<DummyMO, DummyMO> \) = [0-9]{2}
out: sizeof\( Placement<MObject, MObject> \) = [0-9]{2}
out: Placement<test::TestSubMO1> ...................... use-cnt=1 ID.\w{16}
out: Placement<test::TestSubMO2> ...................... use-cnt=1 ID.\w{16}
out: Placement<test::TestSubMO21> ..................... use-cnt=2 ID.\w{16}
out: Placement<TestSubMO1> ............................ use-cnt=1 ID.\w{16}
out: Placement<TestSubMO2> ............................ use-cnt=1 ID.\w{16}
out: Placement<TestSubMO21> ........................... use-cnt=2 ID.\w{16}
out: Placement<Clip> .................................. use-cnt=2 ID.\w{16}
out: specialAPI()
out: pID\(\w{6,16}\)
@ -115,22 +115,22 @@ END
TEST "PlacementRef_test" PlacementRef_test <<END
out: Placement<test::TestSubMO21> ..................... use-cnt=2 ID.\w{16}
out: Placement<TestSubMO21> ........................... use-cnt=2 ID.\w{16}
out: specialAPI()
return: 0
END
TEST "Placement Index" PlacementIndex_test <<END
out: ^::Placement<test::TestClip> ........................ use-cnt=2
out: ^::Placement<test::TestClip> ........................ use-cnt=6
out: ^ ::Placement<test::TestClip> ........................ use-cnt=6
out: ^ ::Placement<test::TestClip> ........................ use-cnt=6
out: ^::Placement<TestClip> .............................. use-cnt=2
out: ^::Placement<TestClip> .............................. use-cnt=6
out: ^ ::Placement<TestClip> .............................. use-cnt=6
out: ^ ::Placement<TestClip> .............................. use-cnt=6
out: ^ ...2 elements at Level 2
out: ^ ::Placement<test::TestClip> ........................ use-cnt=6
out: ^ ::Placement<TestClip> .............................. use-cnt=6
out: ^ ...3 elements at Level 1
out: ^::Placement<test::TestClip> ........................ use-cnt=2
out: ^ ::Placement<test::TestClip> ........................ use-cnt=1
out: ^::Placement<TestClip> .............................. use-cnt=2
out: ^ ::Placement<TestClip> .............................. use-cnt=1
out: ^ ...1 elements at Level 1
out: ^...3 elements at Level 0
return: 0
@ -139,12 +139,12 @@ END
TEST "Querying the index" PlacementIndexQuery_test <<END
out: explore contents depth-first...
out: Placement<test::TestSubMO2> ...................... use-cnt=1
out: Placement<test::TestSubMO1> ...................... use-cnt=1
out: Placement<test::DummyMO> ......................... use-cnt=1
out: Placement<test::TestSubMO21> ..................... use-cnt=1
out: path to root starting at Placement<test::TestSubMO1> ...................... use-cnt=1
out: Placement<test::TestSubMO2> ...................... use-cnt=1
out: Placement<TestSubMO2> ............................ use-cnt=1
out: Placement<TestSubMO1> ............................ use-cnt=1
out: Placement<DummyMO> ............................... use-cnt=1
out: Placement<TestSubMO21> ........................... use-cnt=1
out: path to root starting at Placement<TestSubMO1> ............................ use-cnt=1
out: Placement<TestSubMO2> ............................ use-cnt=1
out: Placement<Label> ................................. use-cnt=1
return: 0
END
@ -152,57 +152,57 @@ END
TEST "discovering scopes" ScopeQuery_test <<END
out: --------------------------------Test-1: contents depth-first
out: Placement<test::TestSubMO2>
out: Placement<test::TestSubMO1>
out: Placement<test::DummyMO>
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO2>
out: Placement<TestSubMO1>
out: Placement<DummyMO>
out: Placement<TestSubMO21>
out: --------------------------------Test-2: contents depth-first, filtered to Clip
out: --------------------------------Test-3: contents depth-first, filtered to DummyMO
out: Placement<test::TestSubMO2>
out: Placement<test::TestSubMO1>
out: Placement<test::DummyMO>
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO2>
out: Placement<TestSubMO1>
out: Placement<DummyMO>
out: Placement<TestSubMO21>
out: --------------------------------Test-4: contents depth-first, filtered to TestSubMO1
out: Placement<test::TestSubMO1>
out: Placement<TestSubMO1>
out: --------------------------------Test-5: contents depth-first, filtered to TestSubMO2
out: Placement<test::TestSubMO2>
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO2>
out: Placement<TestSubMO21>
out: --------------------------------Test-6: contents depth-first, custom filtered DummyMO
out: Placement<test::TestSubMO2>
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO2>
out: Placement<TestSubMO21>
out: --------------------------------Test-7: parents of the second TestSubMO2 element found
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO21>
out: Placement<Label>
out: --------------------------------Test-8: children of the this TestSubMO2 element
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO21>
out: --------------------------------Test-9: path from there to root
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO21>
out: Placement<Label>
out: --------------------------------Test-10: same path, but filtered to TestSubMO2
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO21>
out: --------------------------------Test-11: continue exploring partially used TestSubMO2 iterator
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO21>
return: 0
END
TEST "Placement search scope" PlacementScope_test <<END
out: Scope: \[Label.[0-9]{3}\]
out: Placement<test::TestSubMO2>
out: Placement<TestSubMO2>
out: Scope: \[DummyMO.[0-9]{3}\]
out: Placement<test::TestSubMO1>
out: Placement<TestSubMO1>
out: Scope: \[Label.[0-9]{3}\]
out: Placement<test::DummyMO>
out: Placement<DummyMO>
out: Scope: \[Label.[0-9]{3}\]
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO21>
out: Scope: \[DummyMO.[0-9]{3}\]
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO21>
out: Scope: \[DummyMO.[0-9]{3}\]
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO21>
out: Scope: \[DummyMO.[0-9]{3}\]
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO21>
out: Scope: \[DummyMO.[0-9]{3}\]
out: Placement<test::TestSubMO21>
out: Placement<TestSubMO21>
return: 0
END

View file

@ -12,7 +12,7 @@ from Buildhelper import scanSubtree
from Buildhelper import globRootdirs
from Buildhelper import createPlugins
Import('env core_lib vessel_lib vault_lib guimodule tools config')
Import('env core_lib vessel_lib vault_lib test_support guimodule tools config')
env = env.Clone()
env.Append(CPPPATH='include') # additional headers for tests
@ -23,13 +23,15 @@ sharedTestLibs = {}
def linkContext(id):
if id.startswith('lib'):
return vessel_lib # tests in 'lib*' subdirs only linked with framework (including support-lib)
return test_support + vessel_lib # tests in 'lib*' subdirs only linked with framework (including support-lib)
elif id.startswith('vessel'):
return test_support + vessel_lib # framework tests linked with framework and support-lib
elif id.startswith('vault'):
return vault_lib # tests in 'vault*' subdirs only linked against vault layer (including framework)
return test_support + vault_lib # tests in 'vault*' subdirs only linked against vault layer (including framework)
elif id.startswith('stage'):
return guimodule+core_lib # tests in 'stage*' are additionally linked against the GTK GUI module
return test_support + guimodule+core_lib # tests in 'stage*' are additionally linked against the GTK GUI module
else:
return core_lib # all other tests linked against complete application core
return test_support + core_lib # all other tests linked against complete application core
def exeTestName(srcName):
@ -81,7 +83,7 @@ testSrcDirs = globRootdirs('*')
testcases = [testCases(env, dir) for dir in testSrcDirs if not dir in specialDirs]
testLibs = list(sharedTestLibs.values())
testrunner = envSuite.Program("test-suite", ["testrunner.cpp"]+testLibs+core_lib)
testrunner = envSuite.Program("test-suite", ["testrunner.cpp"]+testLibs+test_support+core_lib)
testsuite = ( testcases

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/scoped-collection.hpp"
#include "lib/sync-barrier.hpp"
#include "lib/thread.hpp"

View file

@ -20,9 +20,9 @@
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/format-cout.hpp"
#include "lib/test/test-helper.hpp"
#include "test/test-helper.hpp"
#include "lib/util.hpp"
#include "lib/depend.hpp"

View file

@ -20,7 +20,7 @@
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/format-obj.hpp"
#include "lib/util.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "lib/diagnostic-context.hpp"
#include "lib/iter-explorer.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "lib/format-string.hpp"
#include "lib/format-cout.hpp"
#include "lib/util.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/format-string.hpp"
#include "lib/format-cout.hpp"
#include "lib/util.hpp"

View file

@ -17,7 +17,7 @@
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/depend-inject.hpp"
#include "lib/util.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/util.hpp"
#include "steam/control/stypemanager.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/util.hpp"
#include "steam/control/stypemanager.hpp"

View file

@ -22,7 +22,7 @@
#define LIBRARY_TEST_TARGET_OBJ_H
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/format-string.hpp"
#include "lib/format-cout.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "lib/time/digxel.hpp"
#include "lib/format-cout.hpp"
#include "lib/error.hpp"

View file

@ -16,10 +16,10 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/format-cout.hpp"
#include "lib/format-string.hpp"
#include "lib/test/test-helper.hpp"
#include "test/test-helper.hpp"
#include "lib/time/digxel.hpp"
#include "lib/random.hpp"
#include "lib/util.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/time/formats.hpp"

View file

@ -16,12 +16,11 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "lib/time/quantiser.hpp"
#include "lib/random.hpp"
#include "lib/util.hpp"
#include "lib/test/diagnostic-output.hpp"
using lumiera::error::LUMIERA_ERROR_BOTTOM_VALUE;
using util::isnil;

View file

@ -16,9 +16,9 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/time/timevalue.hpp"
#include "lib/test/test-helper.hpp"
#include "test/test-helper.hpp"
#include "lib/random.hpp"
#include "lib/util.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "lib/time/timevalue.hpp"
#include "lib/time/timequant.hpp"
#include "lib/time/control.hpp"

View file

@ -20,8 +20,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "lib/time/dropframe.hpp"
#include "lib/time/timevalue.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
//#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
//#include "test/test-helper.hpp"
#include "steam/asset/meta/time-grid.hpp"
#include "lib/time/timequant.hpp"
#include "lib/time/timecode.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "lib/time/timevalue.hpp"
#include "lib/time/timequant.hpp"
#include "lib/time/mutation.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/asset/meta/time-grid.hpp"
#include "lib/time/quantiser.hpp"
#include "lib/time/timecode.hpp"

View file

@ -17,8 +17,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/asset/meta/time-grid.hpp"
#include "lib/time/timequant.hpp"
#include "lib/format-cout.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "lib/time/timevalue.hpp"
#include "lib/format-cout.hpp"
#include "lib/util.hpp"

View file

@ -32,9 +32,9 @@
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/typed-counter.hpp"
#include "lib/test/microbenchmark.hpp"
#include "test/microbenchmark.hpp"
#include "lib/random.hpp"
#include "lib/util.hpp"
@ -43,13 +43,13 @@
#include <array>
using test::threadBenchmark;
using util::isnil;
using lib::rani;
namespace lib {
namespace test{
using util::isnil;
using lib::rani;
namespace { // test parametrisation...
const uint MAX_INDEX = 10; ///< number of distinct types / counters
const uint NUM_THREADS = 100; ///< number of threads to run in parallel

View file

@ -18,7 +18,7 @@
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/typed-counter.hpp"

View file

@ -43,7 +43,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/format-cout.hpp"
#include "lib/format-string.hpp"
#include "lib/depend.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/visitor.hpp"
#include "lib/format-string.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/visitor.hpp"
#include "lib/format-string.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "lib/zombie-check.hpp"
#include "lib/util.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/format-cout.hpp"
#include "lib/format-string.hpp"
#include "lib/util.hpp"

View file

@ -17,7 +17,7 @@
#include "include/logging.h"
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/util.hpp"
#include "steam/asset/category.hpp"

View file

@ -17,7 +17,7 @@
#include "include/logging.h"
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/util.hpp"
#include "steam/assetmanager.hpp"

View file

@ -17,8 +17,8 @@
#include "include/logging.h"
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/assetmanager.hpp"
#include "steam/asset/media.hpp"
@ -35,7 +35,7 @@
using util::isnil;
using std::string;
using lib::time::FrameRate;
using lib::test::randStr;
using lib::randStr;
namespace steam {

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
//#include "lib/util.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "steam/asset/testasset.hpp"
#include "steam/asset/asset-diagnostics.hpp"
#include "vault/media-access-mock.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "lib/idi/entry-id.hpp"
#include "steam/asset/struct-scheme.hpp"
@ -31,8 +31,8 @@
#include <unordered_map>
#include <string>
using lib::test::showSizeof;
using lib::test::randStr;
using test::showSizeof;
using test::randStr;
using util::isSameObject;
using util::contains;
using util::and_all;

View file

@ -17,7 +17,7 @@
#include "include/logging.h"
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/util.hpp"
#include "steam/assetmanager.hpp"

View file

@ -17,7 +17,7 @@
#include "include/logging.h"
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/util.hpp"
#include "lib/time/timevalue.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/util.hpp"
#include "steam/assetmanager.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/asset/meta.hpp"
#include "steam/asset/meta/time-grid.hpp"
@ -28,7 +28,7 @@
#include <boost/rational.hpp>
using boost::rational_cast;
using lib::test::randStr;
using lib::randStr;

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "lib/util.hpp"
#include "steam/assetmanager.hpp"

View file

@ -20,7 +20,7 @@
#define ASSET_TESTCLIPASSET_H
#include "lib/test/run.hpp"
#include "test/run.hpp"
//#include "lib/util.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/asset/typed-id.hpp"
#include "lib/idi/entry-id.hpp"
@ -34,8 +34,8 @@
//#include <unordered_map>
//#include <string>
//using lib::test::showSizeof;
//using lib::test::randStr;
//using test::showSizeof;
//using test::randStr;
//using util::isSameObject;
//using util::and_all;
using util::for_each;

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/control/argument-tuple-accept.hpp"
#include "lib/meta/tuple-helper.hpp"
#include "lib/meta/function.hpp"
@ -29,10 +29,9 @@
namespace steam {
namespace control {
namespace test {
using lib::test::showSizeof;
using lib::test::randTime;
using test::randTime;
using test::showSizeof;
using lib::time::TimeVar;
using std::function;
@ -116,4 +115,4 @@ namespace test {
LAUNCHER (ArgumentTupleAccept_test, "unit controller");
}}} // namespace steam::control::test
}} // namespace steam::control

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/control/command-storage-holder.hpp"
#include "lib/scoped-ptrvect.hpp"
#include "lib/format-string.hpp"
@ -46,10 +46,9 @@ using std::rand;
namespace steam {
namespace control {
namespace test {
using lib::test::showSizeof;
using lib::test::randTime;
using test::randTime;
using test::showSizeof;
using namespace lib::meta;
using LERR_(MISSING_MEMENTO);
@ -346,4 +345,4 @@ namespace test {
LAUNCHER (CommandArgument_test, "unit controller");
}}} // namespace steam::control::test
}} // namespace steam::control

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "steam/control/command-def.hpp"
#include "lib/time/timevalue.hpp"
#include "lib/p.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "steam/control/command-def.hpp"
#include "steam/control/test-dummy-commands.hpp"
#include "lib/format-cout.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "steam/control/command-impl.hpp"
#include "steam/control/command-registry.hpp"
#include "steam/control/argument-erasure.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/control/command-def.hpp"
#include "steam/control/command-mutation.hpp"
#include "steam/control/argument-erasure.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "steam/control/test-dummy-commands.hpp"
#include "steam/control/command-instance-manager.hpp"
#include "lib/format-string.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/control/command-def.hpp"
#include "lib/time/timevalue.hpp"
#include "lib/diff/gen-node.hpp"
@ -27,12 +27,12 @@ namespace steam {
namespace control {
namespace test {
using ::test::randTime;
using lib::time::Time;
using lib::time::TimeVar;
using lib::time::TimeValue;
using lib::time::TimeSpan;
using lib::time::Duration;
using lib::test::randTime;
using lib::diff::Rec;
@ -88,6 +88,8 @@ namespace test {
virtual void
run (Arg)
{
seedRand();
Time five(TimeValue(5));
implicitTestState = five;

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/control/command-mutation.hpp"
#include "steam/control/command-simple-closure.hpp"
#include "steam/control/memento-tie.hpp"

View file

@ -12,7 +12,7 @@
* *****************************************************************/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "steam/control/command-queue.hpp"
#include "steam/control/command-def.hpp"
#include "lib/symbol.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/control/command-def.hpp"
#include "steam/control/command-registry.hpp"
#include "lib/symbol.hpp"

View file

@ -16,7 +16,7 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "steam/cmd.hpp"
#include "steam/control/command-def.hpp"
#include "lib/format-string.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/control/command-invocation.hpp"
#include "steam/control/command-def.hpp"
#include "lib/format-cout.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/control/command.hpp"
#include "steam/control/command-def.hpp"
#include "steam/control/handling-pattern.hpp"

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/control/command-def.hpp"
//#include "lib/format-cout.hpp"
//#include "lib/util.hpp"
@ -40,7 +40,7 @@ namespace test {
// using std::bind;
// using std::string;
//using std::rand;
// using lib::test::showSizeof;
// using test::showSizeof;
// using util::isSameObject;
// using util::contains;

View file

@ -12,7 +12,7 @@
* *****************************************************************/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "steam/control/looper.hpp"
#include <chrono>

View file

@ -16,14 +16,14 @@
*/
#include "lib/test/run.hpp"
#include "test/run.hpp"
#include "steam/control/command.hpp"
#include "steam/control/command-impl.hpp"
#include "steam/control/command-registry.hpp"
#include "steam/control/argument-erasure.hpp"
#include "steam/control/handling-pattern.hpp"
#include "lib/test/event-log.hpp"
#include "test/event-log.hpp"
#include "steam/control/test-dummy-commands.hpp"
@ -43,7 +43,7 @@ namespace test {
: public HandlingPattern
{
mutable
lib::test::EventLog log_{"custom command handler"};
::test::EventLog log_{"custom command handler"};
/* ==== HandlingPattern - Interface ==== */

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
//#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
//#include "test/test-helper.hpp"
//#include "steam/asset/media.hpp"
//#include "steam/mobject/session.hpp"
//#include "steam/mobject/session/edl.hpp"
@ -53,7 +53,7 @@ namespace test {
// using std::bind;
// using std::string;
//using std::rand;
// using lib::test::showSizeof;
// using test::showSizeof;
// using util::isSameObject;
// using util::contains;

View file

@ -16,8 +16,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/control/memento-tie.hpp"
#include <functional>

View file

@ -64,8 +64,8 @@
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
extern "C" {
#include "vessel/interfaceregistry.h"
}
@ -97,7 +97,7 @@ namespace test {
using std::chrono::microseconds;
using namespace std::chrono_literals;
using steam::control::SessionCommand;
using lib::test::randTime;
using ::test::randTime;
using lib::diff::GenNode;
using lib::diff::Rec;
using lib::time::Time;

View file

@ -30,7 +30,7 @@
#define COMMAND_TEST_DUMMY_COMMANDS_H
#include "lib/error.hpp"
#include "lib/test/test-helper.hpp"
#include "test/test-helper.hpp"
#include "steam/control/command-setup.hpp"
#include <functional>

View file

@ -17,8 +17,8 @@
#include "lib/error.hpp"
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test/run.hpp"
#include "test/test-helper.hpp"
#include "steam/engine/buffer-metadata.hpp"
#include <cstdlib>

Some files were not shown because too many files have changed in this diff Show more