// Copyright 2019 The Chromium OS Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. package main import ( "path" "testing" ) const crosClangHostGoldenDir = "testdata/cros_clang_host_golden" const crosGccHostGoldenDir = "testdata/cros_gcc_host_golden" func TestCrosClangHostConfig(t *testing.T) { withTestContext(t, func(ctx *testContext) { useLlvmNext := false useCCache := false cfg, err := getConfig("cros.host", useCCache, useLlvmNext, "123") if err != nil { t.Fatal(err) } ctx.updateConfig(cfg) gomaPath := path.Join(ctx.tempDir, "gomacc") ctx.writeFile(gomaPath, "") gomaEnv := "GOMACC_PATH=" + gomaPath goldenFiles := []goldenFile{ createClangPathGoldenInputs(ctx, gomaEnv), createGoldenInputsForAllTargets("clang", mainCc), createGoldenInputsForAllTargets("clang", "-ftrapv", mainCc), createSanitizerGoldenInputs("clang"), createClangArgsGoldenInputs(), createBisectGoldenInputs(clangX86_64), createForceDisableWErrorGoldenInputs(), createClangTidyGoldenInputs(gomaEnv), createClangHostWrapperInputs(), } runGoldenRecords(ctx, crosClangHostGoldenDir, goldenFiles) }) } func TestCrosGccHostConfig(t *testing.T) { withTestContext(t, func(ctx *testContext) { useLlvmNext := false useCCache := false cfg, err := getConfig("cros.host", useCCache, useLlvmNext, "123") if err != nil { t.Fatal(err) } ctx.updateConfig(cfg) gomaPath := path.Join(ctx.tempDir, "gomacc") ctx.writeFile(gomaPath, "") gomaEnv := "GOMACC_PATH=" + gomaPath // Note: The old gcc host wrapper is very limited and only adds flags. // So we only test very few things here. goldenFiles := []goldenFile{ createGccPathGoldenInputs(ctx, gomaEnv), createGoldenInputsForAllTargets("gcc", mainCc), createGccArgsGoldenInputs(), createGccHostWrapperInputs(), } runGoldenRecords(ctx, crosGccHostGoldenDir, goldenFiles) }) } func createClangHostWrapperInputs() goldenFile { return goldenFile{ Name: "clang_host_wrapper.json", Records: []goldenRecord{ { WrapperCmd: newGoldenCmd("./clang", mainCc), Cmds: okResults, }, }, } } func createGccHostWrapperInputs() goldenFile { return goldenFile{ Name: "gcc_host_wrapper.json", Records: []goldenRecord{ { WrapperCmd: newGoldenCmd("./gcc", mainCc), Cmds: okResults, }, }, } }