tests/core: CoreTest only needs to take the name

We can detect C/C++ and set up everything else from there.

Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
Anna Schumaker 2015-12-11 14:52:52 -05:00
parent 5e74385fbb
commit 743a464f3f
3 changed files with 21 additions and 15 deletions

View File

@ -5,13 +5,19 @@ Import("env", "UnitTest", "testing_group")
res = []
core_objs = []
def CoreTest(name, source):
def CoreTest(name):
global core_objs
test = name.split("/")[-1]
source = "%s.c" % test
if os.path.exists("%s.cpp" % test):
source = "%s.cpp" % test
test = os.path.abspath(source)
core = os.path.sep.join([x for x in test.split("/") if x != "tests"])
if os.path.exists(core):
core_objs += [ env.Object(core) ]
run = UnitTest("core/%s" % name, [ test ] + core_objs)
Alias("tests/core", run)
if len(res) > 0 and testing_group(["tests/core"]):
@ -20,21 +26,21 @@ def CoreTest(name, source):
Export("core_objs", "CoreTest")
res += [ CoreTest("version", "version.c") ]
res += [ CoreTest("string", "string.c") ]
res += [ CoreTest("random", "random.c") ]
res += [ CoreTest("file", "file.c") ]
res += [ CoreTest("date", "date.c") ]
res += [ CoreTest("version") ]
res += [ CoreTest("string") ]
res += [ CoreTest("random") ]
res += [ CoreTest("file") ]
res += [ CoreTest("date") ]
res += SConscript("containers/Sconscript")
res += [ CoreTest("filter", "filter.c") ]
res += [ CoreTest("idle", "idle.c") ]
res += [ CoreTest("filter") ]
res += [ CoreTest("idle") ]
res += SConscript("tags/Sconscript")
res += [ CoreTest("queue", "queue.c") ]
res += [ CoreTest("playlist", "playlist.c") ]
res += [ CoreTest("collection", "collection.c") ]
res += [ CoreTest("deck", "deck.cpp") ]
res += [ CoreTest("audio", "audio.cpp") ]
res += [ CoreTest("queue") ]
res += [ CoreTest("playlist") ]
res += [ CoreTest("collection") ]
res += [ CoreTest("deck") ]
res += [ CoreTest("audio") ]
Return("res")

View File

@ -4,7 +4,7 @@ Import("CoreTest", "testing_group")
res = []
def ContainerTest(name):
run = CoreTest("containers/%s" % name, "%s.c" % name)
run = CoreTest("containers/%s" % name)
Alias("tests/core/containers", run)
if len(res) > 0 and testing_group([ "tests/core/containers" ]):
Depends(run, res[-1])

View File

@ -4,7 +4,7 @@ Import("env", "CoreTest", "core_objs", "testing_group")
res = []
def TagTest(name):
run = CoreTest("tags/%s" % name, "%s.c" % name)
run = CoreTest("tags/%s" % name)
Alias("tests/core/tags", run)
if len(res) > 0 and testing_group([ "tests/core/tags" ]):
Depends(run, res[-1])