prebid-server icon indicating copy to clipboard operation
prebid-server copied to clipboard

IX: save/restore global var in test

Open dmitris opened this issue 1 year ago • 4 comments

Currently running go test -v [github.com/prebid/prebid-server/v2/adapters/ix](http://github.com/prebid/prebid-server/v2/adapters/ix) -count=2 -run 'TestJsonSamples|TestBuildIxDiag/Base_Test' - that is, running each of the tests twice - produces errors due to mutating the global variable: https://gist.github.com/dmitris/4e0ab9f24d4ba57537be448ed97a80c2 I think being able to execute tests multiple times is valuable to find the state mutation in the code under test or the tests themselves. PR fixes the test failure. The fix is based on what @radubarbos has done in the internal version of the code.

dmitris avatar Apr 24 '24 10:04 dmitris

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 527973f72b06906cd01ae754cf3de3f21094f19e

ix

Refer here for heat map coverage report

github.com/prebid/prebid-server/v2/adapters/ix/ix.go:47:	MakeRequests			89.2%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:114:	setPublisherId			100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:156:	unmarshalToIxExt		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:170:	parseSiteId			80.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:180:	createRequestData		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:191:	MakeBids			95.1%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:310:	getMediaTypeForBid		80.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:341:	Builder				100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:354:	mergeNativeImpTrackers		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:378:	marshalJsonWithoutUnicode	83.3%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:395:	setIxDiagIntoExtRequest		90.5%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:432:	moveSid				75.0%
total:								(statements)			91.6%

github-actions[bot] avatar Apr 24 '24 10:04 github-actions[bot]

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, ba571a33f4baa7c2d53ffb5319b12143117efd7c

ix

Refer here for heat map coverage report

github.com/prebid/prebid-server/v2/adapters/ix/ix.go:47:	MakeRequests			89.2%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:114:	setPublisherId			100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:156:	unmarshalToIxExt		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:170:	parseSiteId			80.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:180:	createRequestData		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:191:	MakeBids			95.1%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:310:	getMediaTypeForBid		80.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:341:	Builder				100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:354:	mergeNativeImpTrackers		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:378:	marshalJsonWithoutUnicode	83.3%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:395:	setIxDiagIntoExtRequest		90.5%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:432:	moveSid				75.0%
total:								(statements)			91.6%

github-actions[bot] avatar Apr 24 '24 10:04 github-actions[bot]

the validate test failure seems spurious - could you please restart the job? It happens in analytics/agma/agma_module_test.go which is not modified in the change, and that package is not touched either. go test ./... works fine for me locally on this branch.

--- FAIL: TestRaceBufferCount (0.00s)
    agma_module_test.go:539: 
        	Error Trace:	/home/runner/work/prebid-server/prebid-server/analytics/agma/agma_module_test.go:539
        	Error:      	Should have called with given arguments
        	Test:       	TestRaceBufferCount
        	Messages:   	Expected "Send" to have been called with:
        	            	[mock.Anything]
        	            	but no actual calls happened
FAIL
FAIL	github.com/prebid/prebid-server/v2/analytics/agma	2.611s

dmitris avatar Apr 24 '24 12:04 dmitris

the validate test failure seems spurious - could you please restart the job? It happens in analytics/agma/agma_module_test.go which is not modified in the change, and that package is not touched either. go test ./... works fine for me locally on this branch.

--- FAIL: TestRaceBufferCount (0.00s)
    agma_module_test.go:539: 
        	Error Trace:	/home/runner/work/prebid-server/prebid-server/analytics/agma/agma_module_test.go:539
        	Error:      	Should have called with given arguments
        	Test:       	TestRaceBufferCount
        	Messages:   	Expected "Send" to have been called with:
        	            	[mock.Anything]
        	            	but no actual calls happened
FAIL
FAIL	github.com/prebid/prebid-server/v2/analytics/agma	2.611s

I've seen these occasionally too. The test is flaky. It's on our list to fix. Rerunning tests for this PR.

SyntaxNode avatar Apr 24 '24 14:04 SyntaxNode

@dmitris Friendly reminder. Haven't heard from you recently.

SyntaxNode avatar Jun 17 '24 17:06 SyntaxNode

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 643917c07349095204f695a8c5201fb03d07536c

ix

Refer here for heat map coverage report

github.com/prebid/prebid-server/v2/adapters/ix/ix.go:47:	MakeRequests			89.2%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:114:	setPublisherId			100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:156:	unmarshalToIxExt		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:170:	parseSiteId			80.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:180:	createRequestData		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:191:	MakeBids			95.1%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:310:	getMediaTypeForBid		80.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:341:	Builder				100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:354:	mergeNativeImpTrackers		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:378:	marshalJsonWithoutUnicode	83.3%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:395:	setIxDiagIntoExtRequest		90.5%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:432:	moveSid				75.0%
total:								(statements)			91.6%

github-actions[bot] avatar Jun 18 '24 14:06 github-actions[bot]

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, d0d172b588c41f12ea226a5ab649f816ab9ef061

ix

Refer here for heat map coverage report

github.com/prebid/prebid-server/v2/adapters/ix/ix.go:47:	MakeRequests			89.2%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:114:	setPublisherId			100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:156:	unmarshalToIxExt		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:170:	parseSiteId			80.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:180:	createRequestData		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:191:	MakeBids			95.1%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:310:	getMediaTypeForBid		80.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:341:	Builder				100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:354:	mergeNativeImpTrackers		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:378:	marshalJsonWithoutUnicode	83.3%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:398:	extractVersionWithoutCommitHash	100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:405:	setIxDiagIntoExtRequest		89.5%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:440:	moveSid				75.0%
total:								(statements)			91.7%

github-actions[bot] avatar Jun 18 '24 14:06 github-actions[bot]

@dmitris Friendly reminder. Haven't heard from you recently.

sorry & thanks for the reminder! 😄 Added extractVersionWithoutCommitHash function and also added the new version parameter to setIxDiagIntoExtRequest to avoid using the global variable ver.Version there. Let me know if this looks ok to you @SyntaxNode

dmitris avatar Jun 18 '24 14:06 dmitris

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 6352d45567412c4fd6f5a80b54bd52c9ecacd00c

ix

Refer here for heat map coverage report

github.com/prebid/prebid-server/v2/adapters/ix/ix.go:47:	MakeRequests			89.2%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:114:	setPublisherId			100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:156:	unmarshalToIxExt		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:170:	parseSiteId			80.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:180:	createRequestData		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:191:	MakeBids			95.1%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:310:	getMediaTypeForBid		80.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:341:	Builder				100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:354:	mergeNativeImpTrackers		100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:378:	marshalJsonWithoutUnicode	83.3%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:398:	extractVersionWithoutCommitHash	100.0%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:405:	setIxDiagIntoExtRequest		89.5%
github.com/prebid/prebid-server/v2/adapters/ix/ix.go:440:	moveSid				75.0%
total:								(statements)			91.7%

github-actions[bot] avatar Jun 19 '24 12:06 github-actions[bot]