summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2022-08-21 09:47:53 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2022-08-21 09:47:53 +0200
commit33f70be85ef83b0ebeaa6755b67558ae2f5ae8e6 (patch)
tree9f6c39530b524bb5257d8f0f220eb9fc08bc6381
parent7436d83ef371d4fee4a66bec235e102ed80275db (diff)
WIP: unit-test fixes
-rw-r--r--test/ctor.cc78
-rw-r--r--test/execute_test.cc6
-rw-r--r--test/source_type_test.cc8
-rw-r--r--test/tasks_test.cc76
-rw-r--r--test/tools_test.cc24
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<std::shared_ptr<T>> 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()