1*760c253cSXin Li// Copyright 2021 The ChromiumOS Authors 2*760c253cSXin Li// Use of this source code is governed by a BSD-style license that can be 3*760c253cSXin Li// found in the LICENSE file. 4*760c253cSXin Li 5*760c253cSXin Lipackage main 6*760c253cSXin Li 7*760c253cSXin Liimport ( 8*760c253cSXin Li "testing" 9*760c253cSXin Li) 10*760c253cSXin Li 11*760c253cSXin Lifunc TestDefaultStaticLibGCC(t *testing.T) { 12*760c253cSXin Li withTestContext(t, func(ctx *testContext) { 13*760c253cSXin Li runWithCompiler := func(compiler string) { 14*760c253cSXin Li cmd := ctx.must(callCompiler(ctx, ctx.cfg, 15*760c253cSXin Li ctx.newCommand(compiler, mainCc))) 16*760c253cSXin Li if err := verifyArgCount(cmd, 1, "-static-libgcc"); err != nil { 17*760c253cSXin Li t.Error(err) 18*760c253cSXin Li } 19*760c253cSXin Li } 20*760c253cSXin Li 21*760c253cSXin Li runWithCompiler(gccX86_64) 22*760c253cSXin Li runWithCompiler(clangX86_64) 23*760c253cSXin Li }) 24*760c253cSXin Li} 25*760c253cSXin Li 26*760c253cSXin Lifunc TestKeepStaticLibGCCWithUserArgs(t *testing.T) { 27*760c253cSXin Li withTestContext(t, func(ctx *testContext) { 28*760c253cSXin Li runWithCompiler := func(compiler string) { 29*760c253cSXin Li cmd := ctx.must(callCompiler(ctx, ctx.cfg, 30*760c253cSXin Li ctx.newCommand(compiler, "-static-libgcc", mainCc))) 31*760c253cSXin Li if err := verifyArgOrder(cmd, "-static-libgcc", mainCc); err != nil { 32*760c253cSXin Li t.Error(err) 33*760c253cSXin Li } 34*760c253cSXin Li } 35*760c253cSXin Li 36*760c253cSXin Li runWithCompiler(gccX86_64) 37*760c253cSXin Li runWithCompiler(clangX86_64) 38*760c253cSXin Li }) 39*760c253cSXin Li} 40*760c253cSXin Li 41*760c253cSXin Lifunc TestNoAddedStaticLibGCCWithSharedLibGCC(t *testing.T) { 42*760c253cSXin Li withTestContext(t, func(ctx *testContext) { 43*760c253cSXin Li runWithCompiler := func(compiler string) { 44*760c253cSXin Li cmd := ctx.must(callCompiler(ctx, ctx.cfg, 45*760c253cSXin Li ctx.newCommand(compiler, "-shared-libgcc", mainCc))) 46*760c253cSXin Li if err := verifyArgCount(cmd, 0, "-static-libgcc"); err != nil { 47*760c253cSXin Li t.Error(err) 48*760c253cSXin Li } 49*760c253cSXin Li if err := verifyArgCount(cmd, 1, "-shared-libgcc"); err != nil { 50*760c253cSXin Li t.Error(err) 51*760c253cSXin Li } 52*760c253cSXin Li } 53*760c253cSXin Li 54*760c253cSXin Li runWithCompiler(gccX86_64) 55*760c253cSXin Li runWithCompiler(clangX86_64) 56*760c253cSXin Li }) 57*760c253cSXin Li} 58