diff options
author | Flu0r1ne <flur01ne@flu0r1ne.net> | 2021-09-06 01:58:42 -0500 |
---|---|---|
committer | Flu0r1ne <flur01ne@flu0r1ne.net> | 2021-09-06 01:58:42 -0500 |
commit | 788ae3e0266bdb12bdff6c260dda2e3bcbdfc79c (patch) | |
tree | 22f2dab21e0c6b56085f88fb0047945edc735e23 /adapters/gtest/executable.go | |
parent | ccb11dfb1e539b4e5732442a7a1f701996b608c5 (diff) | |
download | planr-788ae3e0266bdb12bdff6c260dda2e3bcbdfc79c.tar.xz planr-788ae3e0266bdb12bdff6c260dda2e3bcbdfc79c.zip |
Add directives for compiler options and shared linking
Diffstat (limited to 'adapters/gtest/executable.go')
-rw-r--r-- | adapters/gtest/executable.go | 43 |
1 files changed, 29 insertions, 14 deletions
diff --git a/adapters/gtest/executable.go b/adapters/gtest/executable.go index 25c83c1..80560c5 100644 --- a/adapters/gtest/executable.go +++ b/adapters/gtest/executable.go @@ -12,14 +12,22 @@ import ( "sort" "context" - "golang.flu0r1ne.net/planr" -) + "golang.flu0r1ne.net/planr") type executable struct { - exeNm string - testpath string - srcs []string - tcs []planr.TestCase + exeNm string + testpath string + srcs []string + includeSrc bool + compilerOptions string + tcs []planr.TestCase +} + +func dieConflictingExeProperty(exe executable, tc planr.TestCase, property string) { + log.Fatalf( + "Two test cases (including %s) belonging to the same executable (%s) have one or more conflicting properties\nProperty :%s", + tc.Cname, exe.testpath, property, + ) } func createExecutables(tcs []planr.TestCase) []executable { @@ -39,10 +47,12 @@ func createExecutables(tcs []planr.TestCase) []executable { exe := executable { - planr.Cname("", file), - file, - cfg.Srcs, - exeTcs, + exeNm: planr.Cname("", file), + testpath: file, + srcs: cfg.Srcs, + includeSrc: *cfg.Include_src, + compilerOptions: cfg.Compiler_options, + tcs: exeTcs, } exes[file] = exe @@ -53,10 +63,15 @@ func createExecutables(tcs []planr.TestCase) []executable { // We could create two different executables for each source list // But, that would be confusing so we're going to disallow it if !reflect.DeepEqual(exe.srcs, cfg.Srcs) { - log.Fatalf( - "Two test case definitions %s and %s have different lists of sources", - exe.testpath, cfg.Testfile, - ) + dieConflictingExeProperty(exe, tc, "srcs") + } + + if exe.compilerOptions != cfg.Compiler_options { + dieConflictingExeProperty(exe, tc, "compiler_options") + } + + if exe.includeSrc != *cfg.Include_src { + dieConflictingExeProperty(exe, tc, "include_src") } exe.tcs = append(exe.tcs, tc) |