Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Race condition detected #149

Open
sledigabel opened this issue Oct 21, 2024 · 1 comment
Open

Race condition detected #149

sledigabel opened this issue Oct 21, 2024 · 1 comment

Comments

@sledigabel
Copy link
Contributor

There's a race condition detected in the current main (55ca75f) where tests fail:

--- lint all the things
level=warning msg="[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package goarch: could not load export data: cannot import \"internal/goarch\" (unknown bexport format version -1 (\"u\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x003\\x00\\x00\\x005\\x00\\x00\\x007\\x00\\x00\\x008\\x00\\x00\\x00e\\x00\\x00\\x00j\\x00\\x00\\x00\\x97\\x00\\x00\\x00\\xc4\\x00\\x00\\x00\\xf1\\x00\\x00\\x00\\xf1\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x15\\x00\\x00\\x00:\\x00\\x00\\x00H\\x00\\x00\\x00M\\x00\\x00\\x00P\\x00\\x00\\x00U\\x00\\x00\\x00_\\x00\\x00\\x00h\\x00\\x00\\x00{\\x00\\x00\\x00\\xa7\\x00\\x00\\x00\\xac\\x00\\x00\\x00\\xb2\\x00\\x00\\x00\\xb6\\x00\\x00\\x00\\xc0\\x00\\x00\\x00\\xc5\\x00\\x00\\x00\\xcc\\x00\\x00\\x00\\xd6\\x00\\x00\\x00\\xdb\\x00\\x00\\x00\\xe2\\x00\\x00\\x00\\xeb\\x00\\x00\\x00\\xf2\\x00\\x00\\x00\\xfb\\x00\\x00\\x00\\x01\\x01\\x00\\x00\\t\\x01\\x00\\x00\\x13\\x01\\x00\\x00\\x1e\\x01\\x00\\x00+\\x01\\x00\\x003\\x01\\x00\\x008\\x01\\x00\\x00?\\x01\\x00\\x00H\\x01\\x00\\x00O\\x01\\x00\\x00X\\x01\\x00\\x00^\\x01\\x00\\x00e\\x01\\x00\\x00l\\x01\\x00\\x00u\\x01\\x00\\x00{\\x01\\x00\\x00\\x82\\x01\\x00\\x00\\x86\\x01\\x00\\x00\\x8c\\x01\\x00\\x00\\x98\\x01\\x00\\x00\\xa1\\x01\\x00\\x00\\xa6\\x01\\x00\\x00\\xad\\x01\\x00\\x00\\xb4\\x01\\x00\\x00\\xb9\\x01\\x00\\x00\\xc3\\x01\\x00\\x00\\xc7\\x01\\x00\\x00\\xae\\x02\\x00\\x00\\xb1\\x02\\x00\\x00\\xb6\\x02\\x00\\x00\\xbb\\x02\\x00\\x00\\xc5\\x02\\x00\\x00\\xcd\\x02\\x00\\x00\\xd5\\x02\\x00\\x00\\xdd\\x02\\x00\\x00\\xe5\\x02\\x00\\x00\\xed\\x02\\x00\\x00\\xf5\\x02\\x00\\x00\\xfd\\x02\\x00\\x00\\x05\\x03\\x00\\x00\\r\\x03\\x00\\x00\\x15\\x03\\x00\\x00\\x1d\\x03\\x00\\x00%\\x03\\x00\\x00-\\x03\\x00\\x005\\x03\\x00\\x00=\\x03\\x00\\x00E\\x03\\x00\\x00M\\x03\\x00\\x00U\\x03\\x00\\x00]\\x03\\x00\\x00e\\x03\\x00\\x00m\\x03\\x00\\x00u\\x03\\x00\\x00}\\x03\\x00\\x00\\x85\\x03\\x00\\x00\\x8d\\x03\\x00\\x00\\x95\\x03\\x00\\x00\\x9d\\x03\\x00\\x00\\xa5\\x03\\x00\\x00\\xad\\x03\\x00\\x00\\xb5\\x03\\x00\\x00\\xbd\\x03\\x00\\x00\\xc5\\x03\\x00\\x00\\xcd\\x03\\x00\\x00\\xd5\\x03\\x00\\x00\\xdd\\x03\\x00\\x00\\xe5\\x03\\x00\\x00\\xed\\x03\\x00\\x00\\xf5\\x03\\x00\\x00\\xfd\\x03\\x00\\x00\\x05\\x04\\x00\\x00\\r\\x04\\x00\\x00\\x15\\x04\\x00\\x00\\x1d\\x04\\x00\\x00%\\x04\\x00\\x00-\\x04\\x00\\x004\\x04\\x00\\x007\\x04\\x00\\x00:\\x04\\x00\\x00=\\x04\\x00\\x00@\\x04\\x00\\x00N\\x04\\x00\\x00Z\\x04\\x00\\x00h\\x04\\x00\\x00v\\x04\\x00\\x00\\x84\\x04\\x00\\x00\\x92\\x04\\x00\\x00\\xa2\\x04\\x00\\x00\\xb2\\x04\\x00\\x00\\xc0\\x04\\x00\\x00\\xce\\x04\\x00\\x00\\xdc\\x04\\x00\\x00\\xea\\x04\\x00\\x00\\xf8\\x04\\x00\\x00\\x06\\x05\\x00\\x00\\x14\\x05\\x00\\x00\\\"\\x05\\x00\\x000\\x05\\x00\\x00>\\x05\\x00\\x00L\\x05\\x00\\x00Z\\x05\\x00\\x00h\\x05\\x00\\x00v\\x05\\x00\\x00\\x84\\x05\\x00\\x00\\x92\\x05\\x00\\x00\\xa0\\x05\\x00\\x00\\xae\\x05\\x00\\x00\\xbc\\x05\\x00\\x00\\xca\\x05\\x00\\x00\\xd8\\x05\\x00\\x00\\xe6\\x05\\x00\\x00\\xf4\\x05\\x00\\x00\\x02\\x06\\x00\\x00\\x10\\x06\\x00\\x00\\x1e\\x06\\x00\\x00,\\x06\\x00\\x00:\\x06\\x00\\x00H\\x06\\x00\\x00V\\x06\\x00\\x00d\\x06\\x00\\x00r\\x06\\x00\\x00\\x80\\x06\\x00\\x00\\x8e\\x06\\x00\\x00\\x9c\\x06\\x00\\x00\\xaa\\x06\\x00\\x00\\xb8\\x06\\x00\\x00\\xb9\\x06\\x00\\x00\\xbd\\x06\\x00\\x00\\xbe\\x06\\x00\\x00\\xbf\\x06\\x00\\x00\\xc0\\x06\\x00\\x00\\xc1\\x06\\x00\\x00\\xc2\\x06\\x00\\x00\\xc3\\x06\\x00\\x00\\xc4\\x06\\x00\\x00\\xc5\\x06\\x00\\x00\\xc6\\x06\\x00\\x00\\xc7\\x06\\x00\\x00\\xc8\\x06\\x00\\x00\\xc9\\x06\\x00\\x00\\xca\\x06\\x00\\x00\\xcb\\x06\\x00\\x00\\xcc\\x06\\x00\\x00\\xcd\\x06\\x00\\x00\\xce\\x06\\x00\\x00\\xcf\\x06\\x00\\x00\\xd0\\x06\\x00\\x00\\xd1\\x06\\x00\\x00\\xd2\\x06\\x00\\x00\\xd3\\x06\\x00\\x00\\xd4\\x06\\x00\\x00\\xd5\\x06\\x00\\x00\\xd6\\x06\\x00\\x00\\xd7\\x06\\x00\\x00\\xd8\\x06\\x00\\x00\\xd9\\x06\\x00\\x00\\xda\\x06\\x00\\x00\\xdb\\x06\\x00\\x00\\xdc\\x06\\x00\\x00\\xdd\\x06\\x00\\x00\\xde\\x06\\x00\\x00\\xdf\\x06\\x00\\x00\\xe0\\x06\\x00\\x00\\xe1\\x06\\x00\\x00\\xe2\\x06\\x00\\x00\\xe3\\x06\\x00\\x00\\xe4\\x06\\x00\\x00\\xe5\\x06\\x00\\x00\\xe6\\x06\\x00\\x00\\xe7\\x06\\x00\\x00\\xe8\\x06\\x00\\x00\\xf0\\x06\\x00\\x00\\xf8\\x06\\x00\\x00\\x00\\a\\x00\\x00\\b\\a\\x00\\x00\\x10\\a\\x00\\x00\\x18\\a\\x00\\x00 \\a\\x00\\x00(\\a\\x00\\x000\\a\\x00\\x008\\a\\x00\\x00@\\a\\x00\\x00H\\a\\x00\\x00P\\a\\x00\\x00X\\a\\x00\\x00`\\a\\x00\\x00h\\a\\x00\\x00p\\a\\x00\\x00x\\a\\x00\\x00\\x80\\a\\x00\\x00\\x88\\a\\x00\\x00\\x90\\a\\x00\\x00\\x98\\a\\x00\\x00\\xa0\\a\\x00\\x00\\xa8\\a\\x00\\x00\\xb0\\a\\x00\\x00\\xb8\\a\\x00\\x00\\xc0\\a\\x00\\x00\\xc8\\a\\x00\\x00\\xd0\\a\\x00\\x00\\xd8\\a\\x00\\x00\\xe0\\a\\x00\\x00\\xe8\\a\\x00\\x00\\xf0\\a\\x00\\x00\\xf8\\a\\x00\\x00\\x00\\b\\x00\\x00\\b\\b\\x00\\x00\\x10\\b\\x00\\x00\\x18\\b\\x00\\x00 \\b\\x00\\x00(\\b\\x00\\x000\\b\\x00\\x008\\b\\x00\\x00@\\b\\x00\\x00H\\b\\x00\\x00P\\b\\x00\\x00goarchinternal/goarch$GOROOT/src/internal/goarch/goarch.goArchFamilyTypeAMD64ARMARM64ArchFamilyBigEndianDefaultPhysPageSize$GOROOT/src/internal/goarch/zgoarch_arm64.goarm64GOARCHI386Int64AlignIs386IsAmd64IsAmd64p32IsArmIsArm64IsArm64beIsArmbeIsLoong64IsMipsIsMips64IsMips64leIsMips64p32IsMips64p32leIsMipsleIsPpcIsPpc64IsPpc64leIsRiscvIsRiscv64IsS390IsS390xIsSparcIsSparc64IsWasmLOONG64MIPSMIPS64MinFrameSizePCQuantumPPC64PtrSizeRISCV64S390XStackAlignWASM.\\x03\\x00\\x06\\x00\\x06\\x01\\x06\\x02\\x06\\x03\\x06\\x04\\x06\\x05\\x06\\x06\\x06\\a\\x06\\b\\x06\\t\\x06\")), possibly version skew - reinstall package"
--- test all the things
	github.com/skyscanner/turbolift/cmd		coverage: 0.0% of statements
	github.com/skyscanner/turbolift		coverage: 0.0% of statements
?   	github.com/skyscanner/turbolift/internal/colors	[no test files]
?   	github.com/skyscanner/turbolift/cmd/flags	[no test files]
	github.com/skyscanner/turbolift/internal/logging		coverage: 0.0% of statements
	github.com/skyscanner/turbolift/internal/testsupport		coverage: 0.0% of statements
	github.com/skyscanner/turbolift/internal/prompt		coverage: 0.0% of statements
--- FAIL: TestItLogsForkAndCloneErrorsButContinuesToTryAll (0.00s)
    fake_github.go:101: 
        	Error Trace:	fake_github.go:101
        	            				clone_test.go:105
        	Error:      	Not equal: 
        	            	expected: [][]string{[]string{"work/org/repo1"}, []string{"work/org", "org/repo1"}, []string{"work/org/repo2"}, []string{"work/org", "org/repo2"}}
        	            	actual  : [][]string{[]string{"work/org", "org/repo1"}, []string{"work/org", "org/repo2"}}
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,5 +1,2 @@
        	            	-([][]string) (len=4) {
        	            	- ([]string) (len=1) {
        	            	-  (string) (len=14) "work/org/repo1"
        	            	- },
        	            	+([][]string) (len=2) {
        	            	  ([]string) (len=2) {
        	            	@@ -7,5 +4,2 @@
        	            	   (string) (len=9) "org/repo1"
        	            	- },
        	            	- ([]string) (len=1) {
        	            	-  (string) (len=14) "work/org/repo2"
        	            	  },
        	Test:       	TestItLogsForkAndCloneErrorsButContinuesToTryAll
--- FAIL: TestItDoesNotPullFromUpstreamWhenCloningWithoutFork (0.00s)
    fake_github.go:101: 
        	Error Trace:	fake_github.go:101
        	            				clone_test.go:180
        	Error:      	Not equal: 
        	            	expected: [][]string{[]string{"work/org1", "org1/repo1"}, []string{"work/org2", "org2/repo2"}}
        	            	actual  : [][]string{[]string{"work/org1/repo1"}, []string{"work/org1", "org1/repo1"}, []string{"work/org2/repo2"}, []string{"work/org2", "org2/repo2"}}
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,2 +1,5 @@
        	            	-([][]string) (len=2) {
        	            	+([][]string) (len=4) {
        	            	+ ([]string) (len=1) {
        	            	+  (string) (len=15) "work/org1/repo1"
        	            	+ },
        	            	  ([]string) (len=2) {
        	            	@@ -4,2 +7,5 @@
        	            	   (string) (len=10) "org1/repo1"
        	            	+ },
        	            	+ ([]string) (len=1) {
        	            	+  (string) (len=15) "work/org2/repo2"
        	            	  },
        	Test:       	TestItDoesNotPullFromUpstreamWhenCloningWithoutFork
--- FAIL: TestItClonesReposFoundInReposFile (0.00s)
    fake_github.go:101: 
        	Error Trace:	fake_github.go:101
        	            				clone_test.go:259
        	Error:      	Not equal: 
        	            	expected: [][]string{[]string{"work/org", "org/repo1"}, []string{"work/org", "org/repo2"}}
        	            	actual  : [][]string{[]string{"work/org/repo1"}, []string{"work/org", "org/repo1"}, []string{"work/org/repo2"}, []string{"work/org", "org/repo2"}}
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,2 +1,5 @@
        	            	-([][]string) (len=2) {
        	            	+([][]string) (len=4) {
        	            	+ ([]string) (len=1) {
        	            	+  (string) (len=14) "work/org/repo1"
        	            	+ },
        	            	  ([]string) (len=2) {
        	            	@@ -4,2 +7,5 @@
        	            	   (string) (len=9) "org/repo1"
        	            	+ },
        	            	+ ([]string) (len=1) {
        	            	+  (string) (len=14) "work/org/repo2"
        	            	  },
        	Test:       	TestItClonesReposFoundInReposFile
--- FAIL: TestItClonesReposInMultipleOrgs (0.00s)
    fake_github.go:101: 
        	Error Trace:	fake_github.go:101
        	            				clone_test.go:280
        	Error:      	Not equal: 
        	            	expected: [][]string{[]string{"work/orgA", "orgA/repo1"}, []string{"work/orgB", "orgB/repo2"}}
        	            	actual  : [][]string{[]string{"work/orgA/repo1"}, []string{"work/orgA", "orgA/repo1"}, []string{"work/orgB/repo2"}, []string{"work/orgB", "orgB/repo2"}}
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,2 +1,5 @@
        	            	-([][]string) (len=2) {
        	            	+([][]string) (len=4) {
        	            	+ ([]string) (len=1) {
        	            	+  (string) (len=15) "work/orgA/repo1"
        	            	+ },
        	            	  ([]string) (len=2) {
        	            	@@ -4,2 +7,5 @@
        	            	   (string) (len=10) "orgA/repo1"
        	            	+ },
        	            	+ ([]string) (len=1) {
        	            	+  (string) (len=15) "work/orgB/repo2"
        	            	  },
        	Test:       	TestItClonesReposInMultipleOrgs
--- FAIL: TestItClonesReposFromOtherHosts (0.00s)
    fake_github.go:101: 
        	Error Trace:	fake_github.go:101
        	            				clone_test.go:301
        	Error:      	Not equal: 
        	            	expected: [][]string{[]string{"work/orgA", "mygitserver.com/orgA/repo1"}, []string{"work/orgB", "orgB/repo2"}}
        	            	actual  : [][]string{[]string{"work/orgA/repo1"}, []string{"work/orgA", "mygitserver.com/orgA/repo1"}, []string{"work/orgB/repo2"}, []string{"work/orgB", "orgB/repo2"}}
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,2 +1,5 @@
        	            	-([][]string) (len=2) {
        	            	+([][]string) (len=4) {
        	            	+ ([]string) (len=1) {
        	            	+  (string) (len=15) "work/orgA/repo1"
        	            	+ },
        	            	  ([]string) (len=2) {
        	            	@@ -4,2 +7,5 @@
        	            	   (string) (len=26) "mygitserver.com/orgA/repo1"
        	            	+ },
        	            	+ ([]string) (len=1) {
        	            	+  (string) (len=15) "work/orgB/repo2"
        	            	  },
        	Test:       	TestItClonesReposFromOtherHosts
FAIL
coverage: 93.6% of statements
FAIL	github.com/skyscanner/turbolift/cmd/clone	0.283s
ok  	github.com/skyscanner/turbolift/cmd/commit	(cached)	coverage: 88.6% of statements
==================
WARNING: DATA RACE
Read at 0x00c00009f758 by goroutine 7:
  bytes.(*Buffer).String()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:71 +0x1f0
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:230 +0x1e4
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfDescriptionFileTemplateIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:39 +0x3dc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40

Previous write at 0x00c00009f758 by goroutine 8:
  bytes.(*Buffer).grow()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:154 +0x328
  bytes.(*Buffer).Write()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:179 +0xb4
  fmt.Fprint()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/fmt/print.go:263 +0x84
  github.com/briandowns/spinner.(*Spinner).Start.func1()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:312 +0x458

Goroutine 7 (running) created at:
  testing.(*T).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x5e0
  testing.runTests.func1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2168 +0x80
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.runTests()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2166 +0x6e0
  testing.(*M).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2034 +0xb74
  main.main()
      _testmain.go:71 +0x110

Goroutine 8 (running) created at:
  github.com/briandowns/spinner.(*Spinner).Start()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:281 +0x170
  github.com/skyscanner/turbolift/internal/logging.(*Logger).StartActivity()
      /Users/sebastienledigabel/dev/perso/turbolift/internal/logging/logging.go:77 +0x228
  github.com/skyscanner/turbolift/cmd/create_prs.run()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs.go:66 +0x1f0
  github.com/spf13/cobra.(*Command).execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x85c
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x490
  github.com/spf13/cobra.(*Command).Execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:897 +0x124
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:225 +0x120
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfDescriptionFileTemplateIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:39 +0x3dc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40
==================
==================
WARNING: DATA RACE
Read at 0x00c00009f740 by goroutine 7:
  bytes.(*Buffer).String()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:71 +0x200
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:230 +0x1e4
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfDescriptionFileTemplateIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:39 +0x3dc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40

Previous write at 0x00c00009f740 by goroutine 8:
  bytes.(*Buffer).grow()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:151 +0x258
  bytes.(*Buffer).Write()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:179 +0xb4
  fmt.Fprint()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/fmt/print.go:263 +0x84
  github.com/briandowns/spinner.(*Spinner).Start.func1()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:312 +0x458

Goroutine 7 (running) created at:
  testing.(*T).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x5e0
  testing.runTests.func1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2168 +0x80
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.runTests()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2166 +0x6e0
  testing.(*M).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2034 +0xb74
  main.main()
      _testmain.go:71 +0x110

Goroutine 8 (running) created at:
  github.com/briandowns/spinner.(*Spinner).Start()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:281 +0x170
  github.com/skyscanner/turbolift/internal/logging.(*Logger).StartActivity()
      /Users/sebastienledigabel/dev/perso/turbolift/internal/logging/logging.go:77 +0x228
  github.com/skyscanner/turbolift/cmd/create_prs.run()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs.go:66 +0x1f0
  github.com/spf13/cobra.(*Command).execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x85c
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x490
  github.com/spf13/cobra.(*Command).Execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:897 +0x124
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:225 +0x120
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfDescriptionFileTemplateIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:39 +0x3dc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40
==================
==================
WARNING: DATA RACE
Read at 0x00c000208100 by goroutine 7:
  runtime.slicebytetostring()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/runtime/string.go:91 +0x0
  bytes.(*Buffer).String()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:71 +0x238
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:230 +0x1e4
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfDescriptionFileTemplateIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:39 +0x3dc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40

Previous write at 0x00c000208100 by goroutine 8:
  runtime.slicecopy()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/runtime/slice.go:355 +0x0
  bytes.growSlice()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:249 +0xf4
  bytes.(*Buffer).grow()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:151 +0x244
  bytes.(*Buffer).Write()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:179 +0xb4
  fmt.Fprint()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/fmt/print.go:263 +0x84
  github.com/briandowns/spinner.(*Spinner).Start.func1()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:312 +0x458

Goroutine 7 (running) created at:
  testing.(*T).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x5e0
  testing.runTests.func1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2168 +0x80
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.runTests()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2166 +0x6e0
  testing.(*M).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2034 +0xb74
  main.main()
      _testmain.go:71 +0x110

Goroutine 8 (running) created at:
  github.com/briandowns/spinner.(*Spinner).Start()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:281 +0x170
  github.com/skyscanner/turbolift/internal/logging.(*Logger).StartActivity()
      /Users/sebastienledigabel/dev/perso/turbolift/internal/logging/logging.go:77 +0x228
  github.com/skyscanner/turbolift/cmd/create_prs.run()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs.go:66 +0x1f0
  github.com/spf13/cobra.(*Command).execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x85c
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x490
  github.com/spf13/cobra.(*Command).Execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:897 +0x124
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:225 +0x120
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfDescriptionFileTemplateIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:39 +0x3dc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40
==================
--- FAIL: TestItWarnsIfDescriptionFileTemplateIsUnchanged (0.00s)
    testing.go:1399: race detected during execution of test
==================
WARNING: DATA RACE
Read at 0x00c00009f9c8 by goroutine 9:
  bytes.(*Buffer).String()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:71 +0x1f0
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:230 +0x1e4
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfOnlyPrTitleIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:60 +0x3bc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40

Previous write at 0x00c00009f9c8 by goroutine 10:
  bytes.(*Buffer).grow()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:154 +0x328
  bytes.(*Buffer).Write()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:179 +0xb4
  fmt.Fprint()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/fmt/print.go:263 +0x84
  github.com/briandowns/spinner.(*Spinner).Start.func1()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:312 +0x458

Goroutine 9 (running) created at:
  testing.(*T).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x5e0
  testing.runTests.func1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2168 +0x80
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.runTests()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2166 +0x6e0
  testing.(*M).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2034 +0xb74
  main.main()
      _testmain.go:71 +0x110

Goroutine 10 (running) created at:
  github.com/briandowns/spinner.(*Spinner).Start()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:281 +0x170
  github.com/skyscanner/turbolift/internal/logging.(*Logger).StartActivity()
      /Users/sebastienledigabel/dev/perso/turbolift/internal/logging/logging.go:77 +0x228
  github.com/skyscanner/turbolift/cmd/create_prs.run()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs.go:66 +0x1f0
  github.com/spf13/cobra.(*Command).execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x85c
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x490
  github.com/spf13/cobra.(*Command).Execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:897 +0x124
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:225 +0x120
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfOnlyPrTitleIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:60 +0x3bc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40
==================
==================
WARNING: DATA RACE
Read at 0x00c00009f9b0 by goroutine 9:
  bytes.(*Buffer).String()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:71 +0x200
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:230 +0x1e4
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfOnlyPrTitleIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:60 +0x3bc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40

Previous write at 0x00c00009f9b0 by goroutine 10:
  bytes.(*Buffer).grow()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:151 +0x258
  bytes.(*Buffer).Write()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:179 +0xb4
  fmt.Fprint()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/fmt/print.go:263 +0x84
  github.com/briandowns/spinner.(*Spinner).Start.func1()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:312 +0x458

Goroutine 9 (running) created at:
  testing.(*T).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x5e0
  testing.runTests.func1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2168 +0x80
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.runTests()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2166 +0x6e0
  testing.(*M).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2034 +0xb74
  main.main()
      _testmain.go:71 +0x110

Goroutine 10 (running) created at:
  github.com/briandowns/spinner.(*Spinner).Start()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:281 +0x170
  github.com/skyscanner/turbolift/internal/logging.(*Logger).StartActivity()
      /Users/sebastienledigabel/dev/perso/turbolift/internal/logging/logging.go:77 +0x228
  github.com/skyscanner/turbolift/cmd/create_prs.run()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs.go:66 +0x1f0
  github.com/spf13/cobra.(*Command).execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x85c
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x490
  github.com/spf13/cobra.(*Command).Execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:897 +0x124
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:225 +0x120
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfOnlyPrTitleIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:60 +0x3bc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40
==================
==================
WARNING: DATA RACE
Read at 0x00c000208240 by goroutine 9:
  runtime.slicebytetostring()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/runtime/string.go:91 +0x0
  bytes.(*Buffer).String()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:71 +0x238
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:230 +0x1e4
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfOnlyPrTitleIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:60 +0x3bc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40

Previous write at 0x00c000208240 by goroutine 10:
  runtime.slicecopy()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/runtime/slice.go:355 +0x0
  bytes.growSlice()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:249 +0xf4
  bytes.(*Buffer).grow()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:151 +0x244
  bytes.(*Buffer).Write()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:179 +0xb4
  fmt.Fprint()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/fmt/print.go:263 +0x84
  github.com/briandowns/spinner.(*Spinner).Start.func1()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:312 +0x458

Goroutine 9 (running) created at:
  testing.(*T).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x5e0
  testing.runTests.func1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2168 +0x80
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.runTests()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2166 +0x6e0
  testing.(*M).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2034 +0xb74
  main.main()
      _testmain.go:71 +0x110

Goroutine 10 (running) created at:
  github.com/briandowns/spinner.(*Spinner).Start()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:281 +0x170
  github.com/skyscanner/turbolift/internal/logging.(*Logger).StartActivity()
      /Users/sebastienledigabel/dev/perso/turbolift/internal/logging/logging.go:77 +0x228
  github.com/skyscanner/turbolift/cmd/create_prs.run()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs.go:66 +0x1f0
  github.com/spf13/cobra.(*Command).execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x85c
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x490
  github.com/spf13/cobra.(*Command).Execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:897 +0x124
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:225 +0x120
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfOnlyPrTitleIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:60 +0x3bc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40
==================
--- FAIL: TestItWarnsIfOnlyPrTitleIsUnchanged (0.00s)
    testing.go:1399: race detected during execution of test
==================
WARNING: DATA RACE
Read at 0x00c00009fc38 by goroutine 11:
  bytes.(*Buffer).String()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:71 +0x1f0
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:230 +0x1e4
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfOnlyPrBodyIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:81 +0x3bc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40

Previous write at 0x00c00009fc38 by goroutine 12:
  bytes.(*Buffer).grow()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:154 +0x328
  bytes.(*Buffer).Write()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:179 +0xb4
  fmt.Fprint()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/fmt/print.go:263 +0x84
  github.com/briandowns/spinner.(*Spinner).Start.func1()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:312 +0x458

Goroutine 11 (running) created at:
  testing.(*T).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x5e0
  testing.runTests.func1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2168 +0x80
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.runTests()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2166 +0x6e0
  testing.(*M).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2034 +0xb74
  main.main()
      _testmain.go:71 +0x110

Goroutine 12 (running) created at:
  github.com/briandowns/spinner.(*Spinner).Start()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:281 +0x170
  github.com/skyscanner/turbolift/internal/logging.(*Logger).StartActivity()
      /Users/sebastienledigabel/dev/perso/turbolift/internal/logging/logging.go:77 +0x228
  github.com/skyscanner/turbolift/cmd/create_prs.run()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs.go:66 +0x1f0
  github.com/spf13/cobra.(*Command).execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x85c
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x490
  github.com/spf13/cobra.(*Command).Execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:897 +0x124
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:225 +0x120
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfOnlyPrBodyIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:81 +0x3bc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40
==================
==================
WARNING: DATA RACE
Read at 0x00c00009fc20 by goroutine 11:
  bytes.(*Buffer).String()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:71 +0x200
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:230 +0x1e4
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfOnlyPrBodyIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:81 +0x3bc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40

Previous write at 0x00c00009fc20 by goroutine 12:
  bytes.(*Buffer).grow()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:151 +0x258
  bytes.(*Buffer).Write()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:179 +0xb4
  fmt.Fprint()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/fmt/print.go:263 +0x84
  github.com/briandowns/spinner.(*Spinner).Start.func1()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:312 +0x458

Goroutine 11 (running) created at:
  testing.(*T).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x5e0
  testing.runTests.func1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2168 +0x80
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.runTests()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2166 +0x6e0
  testing.(*M).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2034 +0xb74
  main.main()
      _testmain.go:71 +0x110

Goroutine 12 (running) created at:
  github.com/briandowns/spinner.(*Spinner).Start()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:281 +0x170
  github.com/skyscanner/turbolift/internal/logging.(*Logger).StartActivity()
      /Users/sebastienledigabel/dev/perso/turbolift/internal/logging/logging.go:77 +0x228
  github.com/skyscanner/turbolift/cmd/create_prs.run()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs.go:66 +0x1f0
  github.com/spf13/cobra.(*Command).execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x85c
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x490
  github.com/spf13/cobra.(*Command).Execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:897 +0x124
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:225 +0x120
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfOnlyPrBodyIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:81 +0x3bc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40
==================
==================
WARNING: DATA RACE
Read at 0x00c000208380 by goroutine 11:
  runtime.slicebytetostring()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/runtime/string.go:91 +0x0
  bytes.(*Buffer).String()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:71 +0x238
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:230 +0x1e4
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfOnlyPrBodyIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:81 +0x3bc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40

Previous write at 0x00c000208380 by goroutine 12:
  runtime.slicecopy()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/runtime/slice.go:355 +0x0
  bytes.growSlice()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:249 +0xf4
  bytes.(*Buffer).grow()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:151 +0x244
  bytes.(*Buffer).Write()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:179 +0xb4
  fmt.Fprint()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/fmt/print.go:263 +0x84
  github.com/briandowns/spinner.(*Spinner).Start.func1()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:312 +0x458

Goroutine 11 (running) created at:
  testing.(*T).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x5e0
  testing.runTests.func1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2168 +0x80
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.runTests()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2166 +0x6e0
  testing.(*M).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2034 +0xb74
  main.main()
      _testmain.go:71 +0x110

Goroutine 12 (running) created at:
  github.com/briandowns/spinner.(*Spinner).Start()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:281 +0x170
  github.com/skyscanner/turbolift/internal/logging.(*Logger).StartActivity()
      /Users/sebastienledigabel/dev/perso/turbolift/internal/logging/logging.go:77 +0x228
  github.com/skyscanner/turbolift/cmd/create_prs.run()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs.go:66 +0x1f0
  github.com/spf13/cobra.(*Command).execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x85c
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x490
  github.com/spf13/cobra.(*Command).Execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:897 +0x124
  github.com/skyscanner/turbolift/cmd/create_prs.runCommand()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:225 +0x120
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfOnlyPrBodyIsUnchanged()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:81 +0x3bc
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40
==================
--- FAIL: TestItWarnsIfOnlyPrBodyIsUnchanged (0.00s)
    testing.go:1399: race detected during execution of test
==================
WARNING: DATA RACE
Read at 0x00c00009fea8 by goroutine 13:
  bytes.(*Buffer).String()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:71 +0x244
  github.com/skyscanner/turbolift/cmd/create_prs.runCommandWithAlternativeDescriptionFile()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:243 +0x238
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfDescriptionFileIsEmpty()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:104 +0x35c
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40

Previous write at 0x00c00009fea8 by goroutine 14:
  bytes.(*Buffer).grow()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:154 +0x328
  bytes.(*Buffer).Write()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:179 +0xb4
  fmt.Fprint()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/fmt/print.go:263 +0x84
  github.com/briandowns/spinner.(*Spinner).Start.func1()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:312 +0x458

Goroutine 13 (running) created at:
  testing.(*T).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x5e0
  testing.runTests.func1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2168 +0x80
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.runTests()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2166 +0x6e0
  testing.(*M).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2034 +0xb74
  main.main()
      _testmain.go:71 +0x110

Goroutine 14 (running) created at:
  github.com/briandowns/spinner.(*Spinner).Start()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:281 +0x170
  github.com/skyscanner/turbolift/internal/logging.(*Logger).StartActivity()
      /Users/sebastienledigabel/dev/perso/turbolift/internal/logging/logging.go:77 +0x228
  github.com/skyscanner/turbolift/cmd/create_prs.run()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs.go:66 +0x1f0
  github.com/spf13/cobra.(*Command).execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x85c
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x490
  github.com/spf13/cobra.(*Command).Execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:897 +0x178
  github.com/skyscanner/turbolift/cmd/create_prs.runCommandWithAlternativeDescriptionFile()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:238 +0x174
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfDescriptionFileIsEmpty()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:104 +0x35c
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40
==================
==================
WARNING: DATA RACE
Read at 0x00c00009fe90 by goroutine 13:
  bytes.(*Buffer).String()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:71 +0x254
  github.com/skyscanner/turbolift/cmd/create_prs.runCommandWithAlternativeDescriptionFile()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:243 +0x238
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfDescriptionFileIsEmpty()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:104 +0x35c
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40

Previous write at 0x00c00009fe90 by goroutine 14:
  bytes.(*Buffer).grow()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:151 +0x258
  bytes.(*Buffer).Write()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:179 +0xb4
  fmt.Fprint()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/fmt/print.go:263 +0x84
  github.com/briandowns/spinner.(*Spinner).Start.func1()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:312 +0x458

Goroutine 13 (running) created at:
  testing.(*T).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x5e0
  testing.runTests.func1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2168 +0x80
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.runTests()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2166 +0x6e0
  testing.(*M).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2034 +0xb74
  main.main()
      _testmain.go:71 +0x110

Goroutine 14 (running) created at:
  github.com/briandowns/spinner.(*Spinner).Start()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:281 +0x170
  github.com/skyscanner/turbolift/internal/logging.(*Logger).StartActivity()
      /Users/sebastienledigabel/dev/perso/turbolift/internal/logging/logging.go:77 +0x228
  github.com/skyscanner/turbolift/cmd/create_prs.run()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs.go:66 +0x1f0
  github.com/spf13/cobra.(*Command).execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x85c
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x490
  github.com/spf13/cobra.(*Command).Execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:897 +0x178
  github.com/skyscanner/turbolift/cmd/create_prs.runCommandWithAlternativeDescriptionFile()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:238 +0x174
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfDescriptionFileIsEmpty()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:104 +0x35c
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40
==================
==================
WARNING: DATA RACE
Read at 0x00c0002084c0 by goroutine 13:
  runtime.slicebytetostring()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/runtime/string.go:91 +0x0
  bytes.(*Buffer).String()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:71 +0x28c
  github.com/skyscanner/turbolift/cmd/create_prs.runCommandWithAlternativeDescriptionFile()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:243 +0x238
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfDescriptionFileIsEmpty()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:104 +0x35c
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40

Previous write at 0x00c0002084c0 by goroutine 14:
  runtime.slicecopy()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/runtime/slice.go:355 +0x0
  bytes.growSlice()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:249 +0xf4
  bytes.(*Buffer).grow()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:151 +0x244
  bytes.(*Buffer).Write()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/bytes/buffer.go:179 +0xb4
  fmt.Fprint()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/fmt/print.go:263 +0x84
  github.com/briandowns/spinner.(*Spinner).Start.func1()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:312 +0x458

Goroutine 13 (running) created at:
  testing.(*T).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x5e0
  testing.runTests.func1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2168 +0x80
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.runTests()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2166 +0x6e0
  testing.(*M).Run()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:2034 +0xb74
  main.main()
      _testmain.go:71 +0x110

Goroutine 14 (running) created at:
  github.com/briandowns/spinner.(*Spinner).Start()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/briandowns/[email protected]/spinner.go:281 +0x170
  github.com/skyscanner/turbolift/internal/logging.(*Logger).StartActivity()
      /Users/sebastienledigabel/dev/perso/turbolift/internal/logging/logging.go:77 +0x228
  github.com/skyscanner/turbolift/cmd/create_prs.run()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs.go:66 +0x1f0
  github.com/spf13/cobra.(*Command).execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x85c
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x490
  github.com/spf13/cobra.(*Command).Execute()
      /Users/sebastienledigabel/dev/go/pkg/mod/github.com/spf13/[email protected]/command.go:897 +0x178
  github.com/skyscanner/turbolift/cmd/create_prs.runCommandWithAlternativeDescriptionFile()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:238 +0x174
  github.com/skyscanner/turbolift/cmd/create_prs.TestItWarnsIfDescriptionFileIsEmpty()
      /Users/sebastienledigabel/dev/perso/turbolift/cmd/create_prs/create_prs_test.go:104 +0x35c
  testing.tRunner()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1690 +0x184
  testing.(*T).Run.gowrap1()
      /opt/homebrew/Cellar/go/1.23.1/libexec/src/testing/testing.go:1743 +0x40
==================
--- FAIL: TestItWarnsIfDescriptionFileIsEmpty (0.00s)
    testing.go:1399: race detected during execution of test
FAIL
coverage: 82.8% of statements
FAIL	github.com/skyscanner/turbolift/cmd/create_prs	0.495s
ok  	github.com/skyscanner/turbolift/cmd/foreach	(cached)	coverage: 93.1% of statements
ok  	github.com/skyscanner/turbolift/cmd/init	(cached)	coverage: 80.0% of statements
ok  	github.com/skyscanner/turbolift/cmd/prstatus	(cached)	coverage: 97.1% of statements
ok  	github.com/skyscanner/turbolift/cmd/updateprs	(cached)	coverage: 83.1% of statements
ok  	github.com/skyscanner/turbolift/internal/campaign	(cached)	coverage: 93.4% of statements
ok  	github.com/skyscanner/turbolift/internal/executor	(cached)	coverage: 48.2% of statements
ok  	github.com/skyscanner/turbolift/internal/git	(cached)	coverage: 6.2% of statements
ok  	github.com/skyscanner/turbolift/internal/github	(cached)	coverage: 16.1% of statements
FAIL
make: *** [test] Error 1
@sledigabel
Copy link
Contributor Author

the first bit is on my branch, ignore.
but the race condition was introduced in #145.

Given the scope of the PR it's prob not a big deal, but prob something we should address.

Also the race condition needs to run in CI too - this is how we should figure this thing out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant