github.com/nya3jp/tast@v0.0.0-20230601000426-85c8e4d83a9b/src/go.chromium.org/tast/core/cmd/tast-lint/internal/check/forbidden_flashrom_subprocess_test.go (about) 1 // Copyright 2023 The ChromiumOS Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 package check 6 7 import ( 8 "testing" 9 ) 10 11 func TestForbiddenFlashromSubprocess_CommandContext(t *testing.T) { 12 const code = `package main 13 14 import "go.chromium.org/tast-tests/cros/local/bundles/cros/example/util" 15 16 func init() { 17 testing.AddTest(&testing.Test{ 18 Func: Test, 19 Desc: "It test flashrom", 20 Contacts: []string{ 21 "flashrom@google.com", 22 },SoftwareDeps: []string{"flashrom"}, 23 }) 24 } 25 26 func Test() { 27 h.DUT.Conn().CommandContext(ctx, "flashrom", "-p", "host", "-r").Output(ssh.DumpLogOnError) 28 testexec.CommandContext(ctx, "flashrom", "-p", "host", "-r") 29 h.DUT.Conn().CommandContext(ctx, "/usr/sbin/flashrom", "-p", "host", "-r").Output(ssh.DumpLogOnError) 30 testexec.CommandContext(ctx, "/usr/sbin/flashrom", "-p", "host", "-r") 31 } 32 ` 33 34 for _, tc := range []struct { 35 filepath string 36 want []string 37 }{ 38 { 39 filepath: "src/go.chromium.org/tast-tests/cros/local/testfile.go", 40 want: []string{ 41 "src/go.chromium.org/tast-tests/cros/local/testfile.go:16:2: Please don't use flashrom subprocess but use flashrom_library instead.", 42 "src/go.chromium.org/tast-tests/cros/local/testfile.go:17:2: Please don't use flashrom subprocess but use flashrom_library instead.", 43 "src/go.chromium.org/tast-tests/cros/local/testfile.go:18:2: Please don't use flashrom subprocess but use flashrom_library instead.", 44 "src/go.chromium.org/tast-tests/cros/local/testfile.go:19:2: Please don't use flashrom subprocess but use flashrom_library instead.", 45 }, 46 }, 47 { 48 filepath: "src/go.chromium.org/tast-tests/cros/remote/testfile.go", 49 want: []string{ 50 "src/go.chromium.org/tast-tests/cros/remote/testfile.go:16:2: Please don't use flashrom subprocess but use flashrom_library instead.", 51 "src/go.chromium.org/tast-tests/cros/remote/testfile.go:17:2: Please don't use flashrom subprocess but use flashrom_library instead.", 52 "src/go.chromium.org/tast-tests/cros/remote/testfile.go:18:2: Please don't use flashrom subprocess but use flashrom_library instead.", 53 "src/go.chromium.org/tast-tests/cros/remote/testfile.go:19:2: Please don't use flashrom subprocess but use flashrom_library instead.", 54 }, 55 }, 56 { 57 filepath: "src/go.chromium.org/tast-tests/cros/common/testfile.go", 58 want: []string{}, 59 }, 60 } { 61 f, fs := parse(code, tc.filepath) 62 issues := ForbiddenFlashromSubprocess(fs, f) 63 verifyIssues(t, issues, tc.want) 64 } 65 }