aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper/clang_syntax_flag_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'compiler_wrapper/clang_syntax_flag_test.go')
-rw-r--r--compiler_wrapper/clang_syntax_flag_test.go180
1 files changed, 0 insertions, 180 deletions
diff --git a/compiler_wrapper/clang_syntax_flag_test.go b/compiler_wrapper/clang_syntax_flag_test.go
deleted file mode 100644
index 8ee9c223..00000000
--- a/compiler_wrapper/clang_syntax_flag_test.go
+++ /dev/null
@@ -1,180 +0,0 @@
-// 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 (
- "errors"
- "fmt"
- "io"
- "path"
- "strings"
- "testing"
-)
-
-func TestCheckClangSyntaxByNestedCall(t *testing.T) {
- withTestContext(t, func(ctx *testContext) {
- ctx.cmdMock = func(cmd *command, stdin io.Reader, stdout io.Writer, stderr io.Writer) error {
- if ctx.cmdCount == 1 {
- if err := verifyPath(cmd, "usr/bin/clang"); err != nil {
- return err
- }
- if err := verifyArgOrder(cmd, mainCc, "-fsyntax-only", `-stdlib=libstdc\+\+`); err != nil {
- return err
- }
- }
- return nil
- }
- cmd := ctx.must(callCompiler(ctx, ctx.cfg,
- ctx.newCommand(gccX86_64, "-clang-syntax", mainCc)))
- if ctx.cmdCount != 2 {
- t.Errorf("expected 2 calls. Got: %d", ctx.cmdCount)
- }
- if err := verifyPath(cmd, gccX86_64+".real"); err != nil {
- t.Error(err)
- }
- if err := verifyArgCount(cmd, 0, "-clang-syntax"); err != nil {
- t.Error(err)
- }
- })
-}
-
-func TestForwardStdOutAndStderrFromClangSyntaxCheck(t *testing.T) {
- withTestContext(t, func(ctx *testContext) {
- ctx.cmdMock = func(cmd *command, stdin io.Reader, stdout io.Writer, stderr io.Writer) error {
- if ctx.cmdCount == 1 {
- fmt.Fprint(stdout, "somemessage")
- fmt.Fprint(stderr, "someerror")
- }
- return nil
- }
- ctx.must(callCompiler(ctx, ctx.cfg,
- ctx.newCommand(gccX86_64, "-clang-syntax", mainCc)))
- if ctx.stdoutString() != "somemessage" {
- t.Errorf("stdout was not forwarded. Got: %s", ctx.stdoutString())
- }
- if ctx.stderrString() != "someerror" {
- t.Errorf("stderr was not forwarded. Got: %s", ctx.stderrString())
- }
- })
-}
-
-func TestForwardStdinToClangSyntaxCheck(t *testing.T) {
- withTestContext(t, func(ctx *testContext) {
- ctx.cmdMock = func(cmd *command, stdin io.Reader, stdout io.Writer, stderr io.Writer) error {
- // Note: This is called for the clang syntax call as well as for
- // the gcc call, and we assert that stdin is cloned and forwarded
- // to both.
- stdinStr := ctx.readAllString(stdin)
- if stdinStr != "someinput" {
- return fmt.Errorf("unexpected stdin. Got: %s", stdinStr)
- }
- return nil
- }
- io.WriteString(&ctx.stdinBuffer, "someinput")
- ctx.must(callCompiler(ctx, ctx.cfg,
- ctx.newCommand(gccX86_64, "-clang-syntax", "-", mainCc)))
- })
-}
-
-func TestForwardExitCodeFromClangSyntaxCheck(t *testing.T) {
- withTestContext(t, func(ctx *testContext) {
- ctx.cmdMock = func(cmd *command, stdin io.Reader, stdout io.Writer, stderr io.Writer) error {
- if ctx.cmdCount == 1 {
- return newExitCodeError(23)
- }
- return nil
- }
- exitCode := callCompiler(ctx, ctx.cfg,
- ctx.newCommand(gccX86_64, "-clang-syntax", mainCc))
- if exitCode != 23 {
- t.Errorf("unexpected exit code. Got: %d", exitCode)
- }
- })
-}
-
-func TestReportGeneralErrorsFromClangSyntaxCheck(t *testing.T) {
- withTestContext(t, func(ctx *testContext) {
- ctx.cmdMock = func(cmd *command, stdin io.Reader, stdout io.Writer, stderr io.Writer) error {
- if ctx.cmdCount == 1 {
- return errors.New("someerror")
- }
- return nil
- }
- stderr := ctx.mustFail(callCompiler(ctx, ctx.cfg,
- ctx.newCommand(gccX86_64, "-clang-syntax", mainCc)))
- if err := verifyInternalError(stderr); err != nil {
- t.Fatal(err)
- }
- if !strings.Contains(stderr, "someerror") {
- t.Errorf("unexpected error. Got: %s", stderr)
- }
- })
-}
-
-func TestIgnoreClangSyntaxCheckWhenCallingClang(t *testing.T) {
- withTestContext(t, func(ctx *testContext) {
- ctx.cmdMock = func(cmd *command, stdin io.Reader, stdout io.Writer, stderr io.Writer) error {
- if ctx.cmdCount > 1 {
- return fmt.Errorf("Unexpected call %#v", cmd)
- }
- return nil
- }
- cmd := ctx.must(callCompiler(ctx, ctx.cfg,
- ctx.newCommand(clangX86_64, "-clang-syntax", mainCc)))
- if err := verifyArgCount(cmd, 0, "-clang-syntax"); err != nil {
- t.Error(err)
- }
- })
-}
-
-func TestUseGomaForClangSyntaxCheck(t *testing.T) {
- withTestContext(t, func(ctx *testContext) {
- gomaPath := path.Join(ctx.tempDir, "gomacc")
- // Create a file so the gomacc path is valid.
- ctx.writeFile(gomaPath, "")
- ctx.env = []string{"GOMACC_PATH=" + gomaPath}
- ctx.cmdMock = func(cmd *command, stdin io.Reader, stdout io.Writer, stderr io.Writer) error {
- if ctx.cmdCount == 1 {
- if err := verifyPath(cmd, gomaPath); err != nil {
- return err
- }
- if err := verifyArgOrder(cmd, "usr/bin/clang", mainCc); err != nil {
- return err
- }
- }
- return nil
- }
- cmd := ctx.must(callCompiler(ctx, ctx.cfg,
- ctx.newCommand(gccX86_64, "-clang-syntax", mainCc)))
- if ctx.cmdCount != 2 {
- t.Errorf("expected 2 calls. Got: %d", ctx.cmdCount)
- }
- if err := verifyPath(cmd, gomaPath); err != nil {
- t.Error(err)
- }
- })
-}
-
-func TestPartiallyOmitCCacheForClangSyntaxCheck(t *testing.T) {
- withTestContext(t, func(ctx *testContext) {
- ctx.cfg.useCCache = true
- ctx.cmdMock = func(cmd *command, stdin io.Reader, stdout io.Writer, stderr io.Writer) error {
- if ctx.cmdCount == 1 {
- if err := verifyPath(cmd, "usr/bin/clang"); err != nil {
- return err
- }
- }
- return nil
- }
- cmd := ctx.must(callCompiler(ctx, ctx.cfg,
- ctx.newCommand(gccX86_64, "-clang-syntax", mainCc)))
- if ctx.cmdCount != 2 {
- t.Errorf("expected 2 calls. Got: %d", ctx.cmdCount)
- }
- if err := verifyPath(cmd, "/usr/bin/ccache"); err != nil {
- t.Error(err)
- }
- })
-}