fix(tests): Run unit tests on travis
This commit is contained in:
parent
bf23086687
commit
b3df50082a
16
.travis.yml
16
.travis.yml
@ -97,9 +97,21 @@ before_script:
|
||||
- cmake --version
|
||||
- mkdir -p "${TRAVIS_BUILD_DIR}/build"
|
||||
- cd "${TRAVIS_BUILD_DIR}/build"
|
||||
- cmake -DCMAKE_C_COMPILER="${CC}" -DCMAKE_CXX_COMPILER="${CXX}" -DCMAKE_CXX_FLAGS="${CXXFLAGS}" -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" ..
|
||||
- cmake -DCMAKE_C_COMPILER="${CC}" -DCMAKE_CXX_COMPILER="${CXX}" -DCMAKE_CXX_FLAGS="${CXXFLAGS}" -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" -DBUILD_TESTS:BOOL=ON ..
|
||||
|
||||
script: make
|
||||
script:
|
||||
- make
|
||||
- |
|
||||
for test in tests/unit_test.*; do
|
||||
if [ -x $test ]; then
|
||||
echo -n "${test##*/} ";
|
||||
if $test; then
|
||||
echo -e "\033[1;32mpassed\033[0m";
|
||||
else
|
||||
echo -e "\033[1;31mfailed\033[0m";
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
notifications:
|
||||
irc:
|
||||
|
@ -9,6 +9,7 @@ include_directories(${APP_INCLUDE_DIRS})
|
||||
function(unit_test file)
|
||||
string(REPLACE "/" "_" testname ${file})
|
||||
add_executable(unit_test.${testname} ${CMAKE_CURRENT_LIST_DIR}/unit_tests/${file}.cpp)
|
||||
target_link_libraries(unit_test.${testname} ${APP_LIBRARIES})
|
||||
add_test(unit_test.${testname} unit_test.${testname})
|
||||
endfunction()
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
int main() {
|
||||
using namespace polybar;
|
||||
using cli_parser = command_line::parser;
|
||||
|
||||
// clang-format off
|
||||
const command_line::options opts{
|
||||
@ -13,60 +12,60 @@ int main() {
|
||||
// clang-format on
|
||||
|
||||
"has_short"_test = [&opts] {
|
||||
auto cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
auto cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(string_util::split("-f", ' '));
|
||||
expect(cli.has("flag"));
|
||||
expect(!cli.has("option"));
|
||||
|
||||
cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(string_util::split("-f -o foo", ' '));
|
||||
expect(cli.has("flag"));
|
||||
expect(cli.has("option"));
|
||||
|
||||
cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(string_util::split("-o baz", ' '));
|
||||
expect(!cli.has("flag"));
|
||||
expect(cli.has("option"));
|
||||
};
|
||||
|
||||
"has_long"_test = [&opts] {
|
||||
auto cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
auto cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(string_util::split("--flag", ' '));
|
||||
expect(cli.has("flag"));
|
||||
expect(!cli.has("option"));
|
||||
|
||||
cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(string_util::split("--flag --option=foo", ' '));
|
||||
expect(cli.has("flag"));
|
||||
expect(cli.has("option"));
|
||||
|
||||
cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(string_util::split("--option=foo --flag", ' '));
|
||||
expect(cli.has("flag"));
|
||||
expect(cli.has("option"));
|
||||
|
||||
cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(string_util::split("--option=baz", ' '));
|
||||
expect(!cli.has("flag"));
|
||||
expect(cli.has("option"));
|
||||
};
|
||||
|
||||
"compare"_test = [&opts] {
|
||||
auto cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
auto cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(string_util::split("-o baz", ' '));
|
||||
expect(cli.compare("option", "baz"));
|
||||
|
||||
cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(string_util::split("--option=foo", ' '));
|
||||
expect(cli.compare("option", "foo"));
|
||||
};
|
||||
|
||||
"get"_test = [&opts] {
|
||||
auto cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
auto cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(string_util::split("--option=baz", ' '));
|
||||
expect("baz" == cli.get("option"));
|
||||
|
||||
cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(string_util::split("--option=foo", ' '));
|
||||
expect("foo" == cli.get("option"));
|
||||
};
|
||||
@ -78,7 +77,7 @@ int main() {
|
||||
|
||||
bool exception_thrown = false;
|
||||
try {
|
||||
auto cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
auto cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(input1);
|
||||
} catch (const command_line::value_error&) {
|
||||
exception_thrown = true;
|
||||
@ -88,7 +87,7 @@ int main() {
|
||||
|
||||
exception_thrown = false; // reset
|
||||
try {
|
||||
auto cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
auto cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(input2);
|
||||
} catch (const command_line::value_error&) {
|
||||
exception_thrown = true;
|
||||
@ -98,7 +97,7 @@ int main() {
|
||||
|
||||
exception_thrown = false; // reset
|
||||
try {
|
||||
auto cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
auto cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(input3);
|
||||
} catch (const command_line::value_error&) {
|
||||
exception_thrown = true;
|
||||
@ -113,7 +112,7 @@ int main() {
|
||||
|
||||
bool exception_thrown = false;
|
||||
try {
|
||||
auto cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
auto cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(input1);
|
||||
} catch (const command_line::value_error&) {
|
||||
exception_thrown = true;
|
||||
@ -123,7 +122,7 @@ int main() {
|
||||
|
||||
exception_thrown = false; // reset
|
||||
try {
|
||||
auto cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
auto cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(input2);
|
||||
} catch (const command_line::value_error&) {
|
||||
exception_thrown = true;
|
||||
@ -138,7 +137,7 @@ int main() {
|
||||
|
||||
bool exception_thrown = false;
|
||||
try {
|
||||
auto cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
auto cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(input1);
|
||||
} catch (const command_line::argument_error&) {
|
||||
exception_thrown = true;
|
||||
@ -148,7 +147,7 @@ int main() {
|
||||
|
||||
exception_thrown = false; // reset
|
||||
try {
|
||||
auto cli = configure_cli_parser<cli_parser>("cmd", opts).create<cli_parser>();
|
||||
auto cli = configure_cliparser<cliparser>("cmd", opts).create<cliparser>();
|
||||
cli.process_input(input2);
|
||||
} catch (const command_line::argument_error&) {
|
||||
exception_thrown = true;
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
#include "components/logger.hpp"
|
||||
#include "utils/inotify.hpp"
|
||||
#include "utils/string.hpp"
|
||||
|
||||
#define CONFIGURE_ARGS(T, V, Args) configure_##T<decltype(V)>(Args).create<decltype(V)>()
|
||||
#define CONFIGURE(T, V) configure_##T<decltype(V)>().create<decltype(V)>()
|
||||
@ -18,9 +19,9 @@ int main() {
|
||||
boost::shared_ptr<logger> instance4{CONFIGURE(logger, instance4)};
|
||||
// clang-format on
|
||||
|
||||
string mem_addr1{string_util::from_stream(std::stringstream() << &instance1)};
|
||||
string mem_addr2{string_util::from_stream(std::stringstream() << &instance2)};
|
||||
string mem_addr3{string_util::from_stream(std::stringstream() << instance3.get())};
|
||||
string mem_addr1{string_util::from_stream(stringstream() << &instance1)};
|
||||
string mem_addr2{string_util::from_stream(stringstream() << &instance2)};
|
||||
string mem_addr3{string_util::from_stream(stringstream() << instance3.get())};
|
||||
|
||||
expect(mem_addr1 == mem_addr2);
|
||||
expect(mem_addr2 == mem_addr3);
|
||||
@ -28,10 +29,10 @@ int main() {
|
||||
};
|
||||
|
||||
"unique"_test = [] {
|
||||
unique_ptr<inotify_watch> instance1{inotify_util::make_watch("A")};
|
||||
unique_ptr<inotify_watch> instance2{inotify_util::make_watch("B")};
|
||||
shared_ptr<inotify_watch> instance3{inotify_util::make_watch("B")};
|
||||
shared_ptr<inotify_watch> instance4{inotify_util::make_watch("B")};
|
||||
inotify_util::watch_t instance1{inotify_util::make_watch("A")};
|
||||
inotify_util::watch_t instance2{inotify_util::make_watch("B")};
|
||||
inotify_util::watch_t instance3{inotify_util::make_watch("B")};
|
||||
inotify_util::watch_t instance4{inotify_util::make_watch("B")};
|
||||
|
||||
expect(instance1.get() != instance2.get());
|
||||
expect(instance2.get() != instance3.get());
|
||||
|
Loading…
Reference in New Issue
Block a user