diff --git a/.gitignore b/.gitignore index 0e9fbb8c..10772d9d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,7 @@ bin/ *.patch *.tar.gz tests/*/*-core -tests/*-lib +tests/*/*-lib *.gcov *.gcda *.gcno diff --git a/include/lib/lib.h b/include/lib/lib.h index 09a24c46..a6b64ca3 100644 --- a/include/lib/lib.h +++ b/include/lib/lib.h @@ -1,10 +1,12 @@ /* * Copyright 2014 (c) Anna Schumaker. */ +#include namespace lib { void init(int *, char ***); + const std::string share_file(const std::string &); } diff --git a/tests/Sconscript b/tests/Sconscript index 6c898565..de731f7f 100644 --- a/tests/Sconscript +++ b/tests/Sconscript @@ -15,6 +15,9 @@ for arg in sys.argv: if arg.find("tests/core") == 0 and len(arg) > 11: check_depends = False break + if arg.find("tests/lib") == 0 and len(arg) > 10: + check_depends = False + break valgrind = "valgrind -q --leak-check=full --error-exitcode=42" @@ -78,8 +81,9 @@ Export("OTest", "TestList") core = SConscript("core/Sconscript") +lib = SConscript("lib/Sconscript") -res = [ core ] +res = [ core, lib ] if test_env.CppCheck == True: res += [ Command("cpp.check", [], "cppcheck -q --error-exitcode=42 .") ] Depends(res[len(res) - 1], res[len(res) - 2]) diff --git a/tests/lib/.gitignore b/tests/lib/.gitignore new file mode 100644 index 00000000..a65b4177 --- /dev/null +++ b/tests/lib/.gitignore @@ -0,0 +1 @@ +lib diff --git a/tests/lib/Sconscript b/tests/lib/Sconscript new file mode 100644 index 00000000..245cdb66 --- /dev/null +++ b/tests/lib/Sconscript @@ -0,0 +1,30 @@ +#!/usr/bin/python + +Import("OTest", "TestList") + + +core = [] +for f in Glob("../../core/*.cpp"): + src = str(f).rsplit("/", 1)[1] + core += [ OTest.Env.Object("%s-core" % src, str(f)) ] + + +class LibTest(OTest): + Objs = core + + def __init__(self, src): + OTest.__init__(self, src) + + def get_program(self): + path = "../../lib/%s" % self.Src + LibTest.Objs += [ LibTest.Env.Object("%s-lib" % self.Src, path) ] + return OTest.Env.Program(self.Name, [ self.Src ] + LibTest.Objs) + + +res = TestList("lib", [ + + LibTest("lib.cpp"), + +]).prepare() + +Return("res") diff --git a/tests/lib/lib.cpp b/tests/lib/lib.cpp new file mode 100644 index 00000000..c1fa66f1 --- /dev/null +++ b/tests/lib/lib.cpp @@ -0,0 +1,22 @@ +/* + * Copyright 2014 (c) Anna Schumaker. + */ +#include +#include +#include + +static void test_init(int argc, char **argv) +{ + test_equal(deck :: get_queues().size(), (size_t)0); + + test :: cp_data_dir(); + lib :: init(&argc, &argv); + + test_equal(deck :: get_queues().size(), (size_t)2); +} + +int main(int argc, char **argv) +{ + run_test("Lib Test", test_init, argc, argv); + return 0; +}