IX: save/restore global var in test
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.
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%
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%
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
the
validatetest failure seems spurious - could you please restart the job? It happens inanalytics/agma/agma_module_test.gowhich 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.
@dmitris Friendly reminder. Haven't heard from you recently.
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%
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%
@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
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%