aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper/config_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'compiler_wrapper/config_test.go')
-rw-r--r--compiler_wrapper/config_test.go67
1 files changed, 45 insertions, 22 deletions
diff --git a/compiler_wrapper/config_test.go b/compiler_wrapper/config_test.go
index bdcf5069..3d3f946d 100644
--- a/compiler_wrapper/config_test.go
+++ b/compiler_wrapper/config_test.go
@@ -12,6 +12,7 @@ func TestRealConfigWithUseCCacheFlag(t *testing.T) {
resetGlobals()
defer resetGlobals()
ConfigName = "cros.hardened"
+ UseLlvmNext = "false"
UseCCache = "false"
cfg, err := getRealConfig()
@@ -32,16 +33,47 @@ func TestRealConfigWithUseCCacheFlag(t *testing.T) {
}
UseCCache = "invalid"
- _, err = getRealConfig()
- if err == nil {
+ if _, err := getRealConfig(); err == nil {
t.Fatalf("UseCCache: Expected an error, got none")
}
}
+func TestRealConfigWithUseLLvmFlag(t *testing.T) {
+ resetGlobals()
+ defer resetGlobals()
+ ConfigName = "cros.hardened"
+ UseCCache = "false"
+
+ UseLlvmNext = "false"
+ cfg, err := getRealConfig()
+ if err != nil {
+ t.Fatal(err)
+ }
+ if isUsingLLvmNext(cfg) {
+ t.Fatal("UseLLvmNext: Expected not to be used")
+ }
+
+ UseLlvmNext = "true"
+ cfg, err = getRealConfig()
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if !isUsingLLvmNext(cfg) {
+ t.Fatal("UseLLvmNext: Expected to be used")
+ }
+
+ UseLlvmNext = "invalid"
+ if _, err := getRealConfig(); err == nil {
+ t.Fatalf("UseLlvmNext: Expected an error, got none")
+ }
+}
+
func TestRealConfigWithConfigNameFlag(t *testing.T) {
resetGlobals()
defer resetGlobals()
UseCCache = "false"
+ UseLlvmNext = "false"
ConfigName = "cros.hardened"
cfg, err := getRealConfig()
@@ -71,29 +103,11 @@ func TestRealConfigWithConfigNameFlag(t *testing.T) {
}
ConfigName = "invalid"
- _, err = getRealConfig()
- if err == nil {
+ if _, err := getRealConfig(); err == nil {
t.Fatalf("ConfigName: Expected an error, got none")
}
}
-func TestRealConfigWithOldWrapperPath(t *testing.T) {
- resetGlobals()
- defer resetGlobals()
- UseCCache = "false"
- ConfigName = "cros.hardened"
-
- OldWrapperPath = "somepath"
-
- cfg, err := getRealConfig()
- if err != nil {
- t.Fatal(err)
- }
- if cfg.oldWrapperPath != "somepath" {
- t.Fatalf("OldWrapperPath: Expected somepath, got %s", cfg.oldWrapperPath)
- }
-}
-
func isSysrootHardened(cfg *config) bool {
for _, arg := range cfg.commonFlags {
if arg == "-pie" {
@@ -103,9 +117,18 @@ func isSysrootHardened(cfg *config) bool {
return false
}
+func isUsingLLvmNext(cfg *config) bool {
+ for _, arg := range cfg.clangFlags {
+ if arg == "-Wno-reorder-init-list" {
+ return true
+ }
+ }
+ return false
+}
+
func resetGlobals() {
// Set all global variables to a defined state.
- OldWrapperPath = ""
+ UseLlvmNext = "unknown"
ConfigName = "unknown"
UseCCache = "unknown"
}