From 33f70be85ef83b0ebeaa6755b67558ae2f5ae8e6 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sun, 21 Aug 2022 09:47:53 +0200 Subject: WIP: unit-test fixes --- test/ctor.cc | 78 +++++++++++++++++++++++++++++++++++------------- test/execute_test.cc | 6 ++-- test/source_type_test.cc | 8 ++--- test/tasks_test.cc | 76 +++++++++++++++++++++++----------------------- test/tools_test.cc | 24 +++++++-------- 5 files changed, 114 insertions(+), 78 deletions(-) diff --git a/test/ctor.cc b/test/ctor.cc index 9b690a2..9a6ec91 100644 --- a/test/ctor.cc +++ b/test/ctor.cc @@ -19,11 +19,16 @@ BuildConfigurations ctorTestConfigs(const Settings& settings) }, .flags = { .cxxflags = { - "-std=c++20", "-O3", "-s", "-Wall", "-Werror", - "-I../src", "-Iuunit", - "-DOUTPUT=\"execute\"", + "/std:c++20", "/O2",// "/Wall",// "/WX", + "/I../src", "/Iuunit", + "/Isrc", "/Itest/uunit", + "/DOUTPUT=\\\"execute\\\"", + "/nologo", + "/EHsc", + "/D_X86_", }, - .ldflags = { "-pthread" }, + //.ldflags = { "/pthread" }, + .ldflags = { "/nologo" }, }, }, { @@ -33,14 +38,19 @@ BuildConfigurations ctorTestConfigs(const Settings& settings) "tasks_test.cc", "testmain.cc", }, - .depends = { "libctor_nomain.a" }, + .depends = { "libctor_nomain.lib" }, .flags = { .cxxflags = { - "-std=c++20", "-O3", "-s", "-Wall", "-Werror", - "-I../src", "-Iuunit", - "-DOUTPUT=\"tasks\"", + "/std:c++20", "/O2",// "/Wall",// "/WX", + "/I../src", "/Iuunit", + "/Isrc", "/Itest/uunit", + "/DOUTPUT=\\\"tasks\\\"", + "/nologo", + "/EHsc", + "/D_X86_", }, - .ldflags = { "-pthread" }, + //.ldflags = { "/pthread" }, + .ldflags = { "/nologo" }, }, }, { @@ -50,14 +60,19 @@ BuildConfigurations ctorTestConfigs(const Settings& settings) "source_type_test.cc", "testmain.cc", }, - .depends = { "libctor_nomain.a" }, + .depends = { "libctor_nomain.lib" }, .flags = { .cxxflags = { - "-std=c++20", "-O3", "-s", "-Wall", "-Werror", - "-I../src", "-Iuunit", - "-DOUTPUT=\"source_type\"", + "/std:c++20", "/O2",// "/Wall",// "/WX", + "/I../src", "/Iuunit", + "/Isrc", "/Itest/uunit", + "/DOUTPUT=\\\"source_type\\\"", + "/nologo", + "/EHsc", + "/D_X86_", }, - .ldflags = { "-pthread" }, + //.ldflags = { "/pthread" }, + .ldflags = { "/nologo" }, }, }, { @@ -71,15 +86,20 @@ BuildConfigurations ctorTestConfigs(const Settings& settings) //.depends = { "libctor_nomain.a" }, .flags = { .cxxflags = { - "-std=c++20", "-O3", "-Wall", "-Werror", - "-I../src", "-Iuunit", - "-DOUTPUT=\"tools\"", + "/std:c++20", "/O2",// "/Wall",// "/WX", + "/I../src", "/Iuunit", + "/Isrc", "/Itest/uunit", + "/DOUTPUT=\\\"tools\\\"", + "/nologo", + "/EHsc", + "/D_X86_", }, + .ldflags = { "/nologo" }, }, }, { .type = TargetType::UnitTestLib, - .target = "libctor_nomain.a", + .target = "libctor_nomain.lib", .sources = { "../src/build.cc", "../src/configure.cc", @@ -95,13 +115,29 @@ BuildConfigurations ctorTestConfigs(const Settings& settings) "../src/tools.cc", "../src/util.cc", "../src/externals_manual.cc", + "../getopt-for-windows/getopt.c", }, .flags = { .cxxflags = { - "-std=c++20", "-O3", "-s", "-Wall", "-Werror", - "-I../src", + "/std:c++20", "/O2",// "/Wall",// "/WX", + "/I../src", + "/Isrc", + "/nologo", + "/EHsc", + "/D_X86_", + "/Igetopt-for-windows", }, - .ldflags = { "-pthread" }, + .cflags = { + //"/std:c++20", "/O2",// "/Wall",// "/WX", + "/I../src", + "/Isrc", + "/nologo", + "/EHsc", + "/D_X86_", + "/Igetopt-for-windows", + }, + //.ldflags = { "/pthread" }, + .ldflags = { "/nologo" }, }, }, }; diff --git a/test/execute_test.cc b/test/execute_test.cc index 9da18dc..739156f 100644 --- a/test/execute_test.cc +++ b/test/execute_test.cc @@ -13,9 +13,9 @@ public: void runit() { - uASSERT_EQUAL(0, execute("/bin/true", {}, false)); - uASSERT_EQUAL(1, execute("/bin/false", {}, false)); - uASSERT_EQUAL(1, execute("no-such-binary", {}, false)); + uUNIT_ASSERT_EQUAL(0, execute("/bin/true", {}, {}, false)); + uUNIT_ASSERT_EQUAL(1, execute("/bin/false", {}, {}, false)); + uUNIT_ASSERT_EQUAL(1, execute("no-such-binary", {}, {}, false)); } }; diff --git a/test/source_type_test.cc b/test/source_type_test.cc index ed7e783..c4d12e3 100644 --- a/test/source_type_test.cc +++ b/test/source_type_test.cc @@ -50,22 +50,22 @@ public: { { // c++ TestableTaskCC task("hello.cc"); - uASSERT_EQUAL(Language::Cpp, task.language()); + uUNIT_ASSERT_EQUAL(Language::Cpp, task.language()); } { // c TestableTaskCC task("hello.c"); - uASSERT_EQUAL(Language::C, task.language()); + uUNIT_ASSERT_EQUAL(Language::C, task.language()); } { // asm TestableTaskCC task("hello.s"); - uASSERT_EQUAL(Language::Asm, task.language()); + uUNIT_ASSERT_EQUAL(Language::Asm, task.language()); } { // custom/explicit language TestableTaskCC task( {"hello.foo", Language::Asm} ); - uASSERT_EQUAL(Language::Asm, task.language()); + uUNIT_ASSERT_EQUAL(Language::Asm, task.language()); } // Note: Failure state will result in exit(1) so cannot be tested diff --git a/test/tasks_test.cc b/test/tasks_test.cc index 2e0ffc7..f74ef37 100644 --- a/test/tasks_test.cc +++ b/test/tasks_test.cc @@ -93,17 +93,17 @@ public: using namespace std::string_literals; Settings settings{}; const auto& targets = getTargets(settings); - uASSERT_EQUAL(4u, targets.size()); + uUNIT_ASSERT_EQUAL(4u, targets.size()); - uASSERT_EQUAL("target1"s, targets[0].config.target); - uASSERT_EQUAL("target2"s, targets[1].config.target); - uASSERT_EQUAL("target3"s, targets[2].config.target); - uASSERT_EQUAL("target4"s, targets[3].config.target); + uUNIT_ASSERT_EQUAL("target1"s, targets[0].config.target); + uUNIT_ASSERT_EQUAL("target2"s, targets[1].config.target); + uUNIT_ASSERT_EQUAL("target3"s, targets[2].config.target); + uUNIT_ASSERT_EQUAL("target4"s, targets[3].config.target); - uASSERT_EQUAL("test"s, targets[0].path); - uASSERT_EQUAL("test"s, targets[1].path); - uASSERT_EQUAL("test"s, targets[2].path); - uASSERT_EQUAL("test"s, targets[3].path); + uUNIT_ASSERT_EQUAL("test"s, targets[0].path); + uUNIT_ASSERT_EQUAL("test"s, targets[1].path); + uUNIT_ASSERT_EQUAL("test"s, targets[2].path); + uUNIT_ASSERT_EQUAL("test"s, targets[3].path); } void getTasks_test() @@ -112,27 +112,27 @@ public: Settings settings{ .builddir = "foo" }; { auto tasks = getTasks(settings); - uASSERT_EQUAL(6u, tasks.size()); + uUNIT_ASSERT_EQUAL(6u, tasks.size()); // Note: count() is used here because the order of // std::set> is not deterministic. - uASSERT_EQUAL(1u, count(tasks, "target1"s)); - uASSERT_EQUAL(1u, count(tasks, "target2"s)); - uASSERT_EQUAL(1u, count(tasks, "target3"s)); - uASSERT_EQUAL(1u, count(tasks, "target4"s)); - uASSERT_EQUAL(1u, count(tasks, "test/target1-foo_cc.o"s)); - uASSERT_EQUAL(1u, count(tasks, "test/target1-bar_c.o"s)); + uUNIT_ASSERT_EQUAL(1u, count(tasks, "target1"s)); + uUNIT_ASSERT_EQUAL(1u, count(tasks, "target2"s)); + uUNIT_ASSERT_EQUAL(1u, count(tasks, "target3"s)); + uUNIT_ASSERT_EQUAL(1u, count(tasks, "target4"s)); + uUNIT_ASSERT_EQUAL(1u, count(tasks, "test/target1-foo_cc.o"s)); + uUNIT_ASSERT_EQUAL(1u, count(tasks, "test/target1-bar_c.o"s)); } { auto tasks = getTasks(settings, {"target1", "target3"}); - uASSERT_EQUAL(4u, tasks.size()); - uASSERT_EQUAL(1u, count(tasks, "target1"s)); - uASSERT_EQUAL(1u, count(tasks, "target3"s)); - uASSERT_EQUAL(1u, count(tasks, "test/target1-foo_cc.o"s)); - uASSERT_EQUAL(1u, count(tasks, "test/target1-bar_c.o"s)); + uUNIT_ASSERT_EQUAL(4u, tasks.size()); + uUNIT_ASSERT_EQUAL(1u, count(tasks, "target1"s)); + uUNIT_ASSERT_EQUAL(1u, count(tasks, "target3"s)); + uUNIT_ASSERT_EQUAL(1u, count(tasks, "test/target1-foo_cc.o"s)); + uUNIT_ASSERT_EQUAL(1u, count(tasks, "test/target1-bar_c.o"s)); } { auto tasks = getTasks(settings, {"no-such-target"}); - uASSERT_EQUAL(0u, tasks.size()); + uUNIT_ASSERT_EQUAL(0u, tasks.size()); } } @@ -147,10 +147,10 @@ public: for(auto& task : dirtyTasks) { - uASSERT_EQUAL(0, task->registerDepTasks(allTasks)); + uUNIT_ASSERT_EQUAL(0, task->registerDepTasks(allTasks)); } - uASSERT_EQUAL(nullptr, getNextTask(allTasks, dirtyTasks)); + uUNIT_ASSERT_EQUAL(nullptr, getNextTask(allTasks, dirtyTasks)); } { // Zero (One task, no dirty) @@ -163,10 +163,10 @@ public: for(auto& task : dirtyTasks) { - uASSERT_EQUAL(0, task->registerDepTasks(allTasks)); + uUNIT_ASSERT_EQUAL(0, task->registerDepTasks(allTasks)); } - uASSERT_EQUAL(nullptr, getNextTask(allTasks, dirtyTasks)); + uUNIT_ASSERT_EQUAL(nullptr, getNextTask(allTasks, dirtyTasks)); } { // One (One task, one dirty) @@ -180,11 +180,11 @@ public: for(auto& task : dirtyTasks) { - uASSERT_EQUAL(0, task->registerDepTasks(allTasks)); + uUNIT_ASSERT_EQUAL(0, task->registerDepTasks(allTasks)); } - uASSERT_EQUAL(task1, getNextTask(allTasks, dirtyTasks)); - uASSERT_EQUAL(0u, dirtyTasks.size()); + uUNIT_ASSERT_EQUAL(task1, getNextTask(allTasks, dirtyTasks)); + uUNIT_ASSERT_EQUAL(0u, dirtyTasks.size()); } { // One (Two tasks, one dirty) @@ -200,11 +200,11 @@ public: for(auto& task : dirtyTasks) { - uASSERT_EQUAL(0, task->registerDepTasks(allTasks)); + uUNIT_ASSERT_EQUAL(0, task->registerDepTasks(allTasks)); } - uASSERT_EQUAL(task2, getNextTask(allTasks, dirtyTasks)); - uASSERT_EQUAL(0u, dirtyTasks.size()); + uUNIT_ASSERT_EQUAL(task2, getNextTask(allTasks, dirtyTasks)); + uUNIT_ASSERT_EQUAL(0u, dirtyTasks.size()); } { // One (Two tasks, one dirty which depends on the other) @@ -222,11 +222,11 @@ public: for(auto& task : dirtyTasks) { - uASSERT_EQUAL(0, task->registerDepTasks(allTasks)); + uUNIT_ASSERT_EQUAL(0, task->registerDepTasks(allTasks)); } - uASSERT_EQUAL(task2, getNextTask(allTasks, dirtyTasks)); - uASSERT_EQUAL(0u, dirtyTasks.size()); + uUNIT_ASSERT_EQUAL(task2, getNextTask(allTasks, dirtyTasks)); + uUNIT_ASSERT_EQUAL(0u, dirtyTasks.size()); } { // One (Two tasks, Both dirty, one depends on the other) @@ -245,11 +245,11 @@ public: for(auto& task : dirtyTasks) { - uASSERT_EQUAL(0, task->registerDepTasks(allTasks)); + uUNIT_ASSERT_EQUAL(0, task->registerDepTasks(allTasks)); } - uASSERT_EQUAL(task1, getNextTask(allTasks, dirtyTasks)); - uASSERT_EQUAL(1u, dirtyTasks.size()); + uUNIT_ASSERT_EQUAL(task1, getNextTask(allTasks, dirtyTasks)); + uUNIT_ASSERT_EQUAL(1u, dirtyTasks.size()); } } diff --git a/test/tools_test.cc b/test/tools_test.cc index 3e9de1b..4000665 100644 --- a/test/tools_test.cc +++ b/test/tools_test.cc @@ -116,41 +116,41 @@ public: { // host conf_host_cxx = "/usr/bin/g++"; - uASSERT_EQUAL(ToolChain::gcc, getToolChain(OutputSystem::Host)); + uUNIT_ASSERT_EQUAL(ToolChain::gcc, getToolChain(OutputSystem::Host)); conf_host_cxx = "/usr/bin/g++-10"; - uASSERT_EQUAL(ToolChain::gcc, getToolChain(OutputSystem::Host)); + uUNIT_ASSERT_EQUAL(ToolChain::gcc, getToolChain(OutputSystem::Host)); conf_host_cxx = "/usr/bin/x86_64-pc-linux-gnu-g++-9.3.0"; - uASSERT_EQUAL(ToolChain::gcc, getToolChain(OutputSystem::Host)); + uUNIT_ASSERT_EQUAL(ToolChain::gcc, getToolChain(OutputSystem::Host)); conf_host_cxx = "/usr/bin/clang++"; - uASSERT_EQUAL(ToolChain::clang, getToolChain(OutputSystem::Host)); + uUNIT_ASSERT_EQUAL(ToolChain::clang, getToolChain(OutputSystem::Host)); conf_host_cxx = "/usr/bin/clang++-10"; - uASSERT_EQUAL(ToolChain::clang, getToolChain(OutputSystem::Host)); + uUNIT_ASSERT_EQUAL(ToolChain::clang, getToolChain(OutputSystem::Host)); conf_host_cxx = "/usr/lib/llvm/12/bin/i686-pc-linux-gnu-clang++-12"; - uASSERT_EQUAL(ToolChain::clang, getToolChain(OutputSystem::Host)); + uUNIT_ASSERT_EQUAL(ToolChain::clang, getToolChain(OutputSystem::Host)); // build conf_build_cxx = "/usr/bin/g++"; - uASSERT_EQUAL(ToolChain::gcc, getToolChain(OutputSystem::Build)); + uUNIT_ASSERT_EQUAL(ToolChain::gcc, getToolChain(OutputSystem::Build)); conf_build_cxx = "/usr/bin/g++-10"; - uASSERT_EQUAL(ToolChain::gcc, getToolChain(OutputSystem::Build)); + uUNIT_ASSERT_EQUAL(ToolChain::gcc, getToolChain(OutputSystem::Build)); conf_build_cxx = "/usr/bin/x86_64-pc-linux-gnu-g++-9.3.0"; - uASSERT_EQUAL(ToolChain::gcc, getToolChain(OutputSystem::Build)); + uUNIT_ASSERT_EQUAL(ToolChain::gcc, getToolChain(OutputSystem::Build)); conf_build_cxx = "/usr/bin/clang++"; - uASSERT_EQUAL(ToolChain::clang, getToolChain(OutputSystem::Build)); + uUNIT_ASSERT_EQUAL(ToolChain::clang, getToolChain(OutputSystem::Build)); conf_build_cxx = "/usr/bin/clang++-10"; - uASSERT_EQUAL(ToolChain::clang, getToolChain(OutputSystem::Build)); + uUNIT_ASSERT_EQUAL(ToolChain::clang, getToolChain(OutputSystem::Build)); conf_build_cxx = "/usr/lib/llvm/12/bin/i686-pc-linux-gnu-clang++-12"; - uASSERT_EQUAL(ToolChain::clang, getToolChain(OutputSystem::Build)); + uUNIT_ASSERT_EQUAL(ToolChain::clang, getToolChain(OutputSystem::Build)); } void getOption_toolchain_test() -- cgit v1.2.3