aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/moricho
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2025-01-22 16:07:17 +0100
committerTaras Madan <tarasmadan@google.com>2025-01-23 10:42:36 +0000
commit7b4377ad9d8a7205416df8d6217ef2b010f89481 (patch)
treee6fec4fd12ff807a16d847923f501075bf71d16c /vendor/github.com/moricho
parent475a4c203afb8b7d3af51c4fd32bb170ff32a45e (diff)
vendor: delete
Diffstat (limited to 'vendor/github.com/moricho')
-rw-r--r--vendor/github.com/moricho/tparallel/.gitignore3
-rw-r--r--vendor/github.com/moricho/tparallel/.goreleaser.yaml58
-rw-r--r--vendor/github.com/moricho/tparallel/LICENSE21
-rw-r--r--vendor/github.com/moricho/tparallel/Makefile13
-rw-r--r--vendor/github.com/moricho/tparallel/README.md112
-rw-r--r--vendor/github.com/moricho/tparallel/pkg/ssafunc/ssafunc.go34
-rw-r--r--vendor/github.com/moricho/tparallel/pkg/ssainstr/ssainstr.go63
-rw-r--r--vendor/github.com/moricho/tparallel/testmap.go67
-rw-r--r--vendor/github.com/moricho/tparallel/tparallel.go72
9 files changed, 0 insertions, 443 deletions
diff --git a/vendor/github.com/moricho/tparallel/.gitignore b/vendor/github.com/moricho/tparallel/.gitignore
deleted file mode 100644
index 71342280e..000000000
--- a/vendor/github.com/moricho/tparallel/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/tparallel
-.envrc
-/dist
diff --git a/vendor/github.com/moricho/tparallel/.goreleaser.yaml b/vendor/github.com/moricho/tparallel/.goreleaser.yaml
deleted file mode 100644
index 5349004c5..000000000
--- a/vendor/github.com/moricho/tparallel/.goreleaser.yaml
+++ /dev/null
@@ -1,58 +0,0 @@
-project_name: tparallel
-
-before:
- hooks:
- - go mod tidy
-
-builds:
- - main: ./cmd/tparallel
- binary: tparallel
- ldflags:
- - -s -w
- - -X main.Version={{.Version}}
- - -X main.Revision={{.ShortCommit}}
- env:
- - CGO_ENABLED=0
- goos:
- - linux
- - windows
- - darwin
-
-archives:
- - format: tar.gz
- name_template: >-
- {{- .ProjectName }}_
- {{- title .Os }}_
- {{- if eq .Arch "amd64" }}x86_64
- {{- else if eq .Arch "386" }}i386
- {{- else }}{{ .Arch }}{{ end }}
- {{- if .Arm }}v{{ .Arm }}{{ end -}}
-
- format_overrides:
- - goos: windows
- format: zip
-
-checksum:
- name_template: 'checksums.txt'
-snapshot:
- name_template: "{{ incpatch .Version }}-next"
-changelog:
- sort: asc
- filters:
- exclude:
- - '^docs:'
- - '^test:'
-
-release:
- prerelease: auto
-
-brews:
- - repository:
- owner: moricho
- name: homebrew-tparallel
- homepage: https://github.com/moricho/tparallel
- description: tparallel detects inappropriate usage of t.Parallel() method in your Go test codes
- install: |
- bin.install "tparallel"
- test: |
- system "#{bin}/tparallel help"
diff --git a/vendor/github.com/moricho/tparallel/LICENSE b/vendor/github.com/moricho/tparallel/LICENSE
deleted file mode 100644
index 4f029982f..000000000
--- a/vendor/github.com/moricho/tparallel/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2020 moricho
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/vendor/github.com/moricho/tparallel/Makefile b/vendor/github.com/moricho/tparallel/Makefile
deleted file mode 100644
index fb3588069..000000000
--- a/vendor/github.com/moricho/tparallel/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-all: build
-
-.PHONY: build
-build:
- go build -o tparallel ./cmd/tparallel
-
-.PHONY: build_race
-build_race:
- go build -race -o tparallel ./cmd/tparallel
-
-.PHONY: test
-test: build_race
- go test -v ./...
diff --git a/vendor/github.com/moricho/tparallel/README.md b/vendor/github.com/moricho/tparallel/README.md
deleted file mode 100644
index c4f1efd01..000000000
--- a/vendor/github.com/moricho/tparallel/README.md
+++ /dev/null
@@ -1,112 +0,0 @@
-# tparallel
-
-[![tparallel](https://github.com/moricho/tparallel/workflows/tparallel/badge.svg?branch=master)](https://github.com/moricho/tparallel/actions)
-[![Go Report Card](https://goreportcard.com/badge/github.com/moricho/tparallel)](https://goreportcard.com/report/github.com/moricho/tparallel)
-[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)
-
-`tparallel` finds inappropriate usage of `t.Parallel()` method in your Go test codes.
-It detects the following:
-
-- `t.Parallel()` is called in either a top-level test function or a sub-test function only
-- Although `t.Parallel()` is called in the sub-test function, it is post-processed by `defer` instead of `t.Cleanup()`
-
-This tool was inspired by this blog: [Test parallelization in Go: Understanding the t.Parallel() method](https://engineering.mercari.com/en/blog/entry/20220408-how_to_use_t_parallel/)
-
-## Installation
-
-### From GitHub Releases
-
-Please see [GitHub Releases](https://github.com/moricho/tparallel/releases).
-Available binaries are:
-
-- macOS
-- Linux
-- Windows
-
-### macOS
-
-```sh
-$ brew tap moricho/tparallel
-$ brew install tparallel
-```
-
-### go get
-
-```sh
-$ go get -u github.com/moricho/tparallel/cmd/tparallel
-```
-
-## Usage
-
-### golangci-lint
-
-[golangci-lint](https://github.com/golangci/golangci-lint) now supports `tparallel`, so you can enable this linter and use in it.
-
-### shell
-
-```sh
-$ go vet -vettool=`which tparallel` <pkgname>
-```
-
-## Example
-
-```go
-package sample
-
-import (
- "testing"
-)
-
-func Test_Table1(t *testing.T) {
- teardown := setup("Test_Table1")
- defer teardown()
-
- tests := []struct {
- name string
- }{
- {
- name: "Table1_Sub1",
- },
- {
- name: "Table1_Sub2",
- },
- }
-
- for _, tt := range tests {
- t.Run(tt.name, func(t *testing.T) {
- t.Parallel()
- call(tt.name)
- })
- }
-}
-
-func Test_Table2(t *testing.T) {
- teardown := setup("Test_Table2")
- t.Cleanup(teardown)
- t.Parallel()
-
- tests := []struct {
- name string
- }{
- {
- name: "Table2_Sub1",
- },
- {
- name: "Table2_Sub2",
- },
- }
-
- for _, tt := range tests {
- t.Run(tt.name, func(t *testing.T) {
- call(tt.name)
- })
- }
-}
-```
-
-```console
-# github.com/moricho/tparallel/testdata/src/sample
-testdata/src/sample/table_test.go:7:6: Test_Table1 should use t.Cleanup
-testdata/src/sample/table_test.go:7:6: Test_Table1 should call t.Parallel on the top level as well as its subtests
-testdata/src/sample/table_test.go:30:6: Test_Table2's subtests should call t.Parallel
-```
diff --git a/vendor/github.com/moricho/tparallel/pkg/ssafunc/ssafunc.go b/vendor/github.com/moricho/tparallel/pkg/ssafunc/ssafunc.go
deleted file mode 100644
index 5a8e637bd..000000000
--- a/vendor/github.com/moricho/tparallel/pkg/ssafunc/ssafunc.go
+++ /dev/null
@@ -1,34 +0,0 @@
-package ssafunc
-
-import (
- "go/types"
-
- "github.com/gostaticanalysis/analysisutil"
- "github.com/moricho/tparallel/pkg/ssainstr"
- "golang.org/x/tools/go/ssa"
-)
-
-// IsDeferCalled returns whether the given ssa.Function calls `defer`
-func IsDeferCalled(f *ssa.Function) bool {
- for _, block := range f.Blocks {
- for _, instr := range block.Instrs {
- switch instr.(type) {
- case *ssa.Defer:
- return true
- }
- }
- }
- return false
-}
-
-// IsCalled returns whether the given ssa.Function calls `fn` func
-func IsCalled(f *ssa.Function, fn *types.Func) bool {
- block := f.Blocks[0]
- for _, instr := range block.Instrs {
- called := analysisutil.Called(instr, nil, fn)
- if _, ok := ssainstr.LookupCalled(instr, fn); ok || called {
- return true
- }
- }
- return false
-}
diff --git a/vendor/github.com/moricho/tparallel/pkg/ssainstr/ssainstr.go b/vendor/github.com/moricho/tparallel/pkg/ssainstr/ssainstr.go
deleted file mode 100644
index 374553f5e..000000000
--- a/vendor/github.com/moricho/tparallel/pkg/ssainstr/ssainstr.go
+++ /dev/null
@@ -1,63 +0,0 @@
-package ssainstr
-
-import (
- "go/types"
-
- "github.com/gostaticanalysis/analysisutil"
- "golang.org/x/tools/go/ssa"
-)
-
-// LookupCalled looks up ssa.Instruction that call the `fn` func in the given instr
-func LookupCalled(instr ssa.Instruction, fn *types.Func) ([]ssa.Instruction, bool) {
- instrs := []ssa.Instruction{}
-
- call, ok := instr.(ssa.CallInstruction)
- if !ok {
- return instrs, false
- }
-
- ssaCall := call.Value()
- if ssaCall == nil {
- return instrs, false
- }
- common := ssaCall.Common()
- if common == nil {
- return instrs, false
- }
- val := common.Value
-
- called := false
- switch fnval := val.(type) {
- case *ssa.Function:
- for _, block := range fnval.Blocks {
- for _, instr := range block.Instrs {
- if analysisutil.Called(instr, nil, fn) {
- called = true
- instrs = append(instrs, instr)
- }
- }
- }
- }
-
- return instrs, called
-}
-
-// HasArgs returns whether the given ssa.Instruction has `typ` type args
-func HasArgs(instr ssa.Instruction, typ types.Type) bool {
- call, ok := instr.(ssa.CallInstruction)
- if !ok {
- return false
- }
-
- ssaCall := call.Value()
- if ssaCall == nil {
- return false
- }
-
- for _, arg := range ssaCall.Call.Args {
- if types.Identical(arg.Type(), typ) {
- return true
- }
- }
- return false
-}
diff --git a/vendor/github.com/moricho/tparallel/testmap.go b/vendor/github.com/moricho/tparallel/testmap.go
deleted file mode 100644
index fd6a3b432..000000000
--- a/vendor/github.com/moricho/tparallel/testmap.go
+++ /dev/null
@@ -1,67 +0,0 @@
-package tparallel
-
-import (
- "go/types"
- "strings"
-
- "github.com/gostaticanalysis/analysisutil"
- "golang.org/x/tools/go/analysis/passes/buildssa"
- "golang.org/x/tools/go/ssa"
-
- "github.com/moricho/tparallel/pkg/ssainstr"
-)
-
-// getTestMap gets a set of a top-level test and its sub-tests
-func getTestMap(ssaanalyzer *buildssa.SSA, testTyp types.Type) map[*ssa.Function][]*ssa.Function {
- testMap := map[*ssa.Function][]*ssa.Function{}
-
- trun := analysisutil.MethodOf(testTyp, "Run")
- for _, f := range ssaanalyzer.SrcFuncs {
- if !strings.HasPrefix(f.Name(), "Test") || !(f.Parent() == (*ssa.Function)(nil)) {
- continue
- }
- testMap[f] = []*ssa.Function{}
- for _, block := range f.Blocks {
- for _, instr := range block.Instrs {
- called := analysisutil.Called(instr, nil, trun)
-
- if !called && ssainstr.HasArgs(instr, types.NewPointer(testTyp)) {
- if instrs, ok := ssainstr.LookupCalled(instr, trun); ok {
- for _, v := range instrs {
- testMap[f] = appendTestMap(testMap[f], v)
- }
- }
- } else if called {
- testMap[f] = appendTestMap(testMap[f], instr)
- }
- }
- }
- }
-
- return testMap
-}
-
-// appendTestMap converts ssa.Instruction to ssa.Function and append it to a given sub-test slice
-func appendTestMap(subtests []*ssa.Function, instr ssa.Instruction) []*ssa.Function {
- call, ok := instr.(ssa.CallInstruction)
- if !ok {
- return subtests
- }
-
- ssaCall := call.Value()
- if ssaCall == nil {
- return subtests
- }
-
- for _, arg := range ssaCall.Call.Args {
- switch arg := arg.(type) {
- case *ssa.Function:
- subtests = append(subtests, arg)
- case *ssa.MakeClosure:
- fn, _ := arg.Fn.(*ssa.Function)
- subtests = append(subtests, fn)
- }
- }
-
- return subtests
-}
diff --git a/vendor/github.com/moricho/tparallel/tparallel.go b/vendor/github.com/moricho/tparallel/tparallel.go
deleted file mode 100644
index 3139e0425..000000000
--- a/vendor/github.com/moricho/tparallel/tparallel.go
+++ /dev/null
@@ -1,72 +0,0 @@
-package tparallel
-
-import (
- "go/types"
-
- "github.com/gostaticanalysis/analysisutil"
- "golang.org/x/tools/go/analysis"
- "golang.org/x/tools/go/analysis/passes/buildssa"
-
- "github.com/moricho/tparallel/pkg/ssafunc"
-)
-
-const doc = "tparallel detects inappropriate usage of t.Parallel() method in your Go test codes."
-
-// Analyzer analyzes Go test codes whether they use t.Parallel() appropriately
-// by using SSA (Single Static Assignment)
-var Analyzer = &analysis.Analyzer{
- Name: "tparallel",
- Doc: doc,
- Run: run,
- Requires: []*analysis.Analyzer{
- buildssa.Analyzer,
- },
-}
-
-func run(pass *analysis.Pass) (interface{}, error) {
- ssaanalyzer := pass.ResultOf[buildssa.Analyzer].(*buildssa.SSA)
-
- obj := analysisutil.ObjectOf(pass, "testing", "T")
- if obj == nil {
- // skip checking
- return nil, nil
- }
- testTyp, testPkg := obj.Type(), obj.Pkg()
-
- p, _, _ := types.LookupFieldOrMethod(testTyp, true, testPkg, "Parallel")
- parallel, _ := p.(*types.Func)
- c, _, _ := types.LookupFieldOrMethod(testTyp, true, testPkg, "Cleanup")
- cleanup, _ := c.(*types.Func)
-
- testMap := getTestMap(ssaanalyzer, testTyp) // ex. {Test1: [TestSub1, TestSub2], Test2: [TestSub1, TestSub2, TestSub3], ...}
- for top, subs := range testMap {
- if len(subs) == 0 {
- continue
- }
- isParallelTop := ssafunc.IsCalled(top, parallel)
- isPararellSub := false
- for _, sub := range subs {
- isPararellSub = ssafunc.IsCalled(sub, parallel)
- if isPararellSub {
- break
- }
- }
-
- if ssafunc.IsDeferCalled(top) {
- useCleanup := ssafunc.IsCalled(top, cleanup)
- if isPararellSub && !useCleanup {
- pass.Reportf(top.Pos(), "%s should use t.Cleanup instead of defer", top.Name())
- }
- }
-
- if isParallelTop == isPararellSub {
- continue
- } else if isPararellSub {
- pass.Reportf(top.Pos(), "%s should call t.Parallel on the top level as well as its subtests", top.Name())
- } else if isParallelTop {
- pass.Reportf(top.Pos(), "%s's subtests should call t.Parallel", top.Name())
- }
- }
-
- return nil, nil
-}