go-license-detector icon indicating copy to clipboard operation
go-license-detector copied to clipboard

Update gonum.org/v1/gonum v0.7.0 to 0.9.0

Open pravi opened this issue 2 years ago • 1 comments

We are packaging this module for Debian, but we already have gonum.org/v1/gonum v0.9.0 and would like to use that instead of 0.7.0

But one test is failing with the new version, so please update the test with new version.

$ go test -v ./licensedb ./licensedb/api ./licensedb/filer ./licensedb/internal ./licensedb/internal/assets ./licensedb/internal/fastlog ./licensedb/internal/normalize ./licensedb/internal/processors ./licensedb/internal/wmh
=== RUN   TestDataset
895 902 99%
--- PASS: TestDataset (16.23s)
PASS
ok  	github.com/go-enry/go-license-detector/v4/licensedb	16.513s
?   	github.com/go-enry/go-license-detector/v4/licensedb/api	[no test files]
=== RUN   TestLocalFiler
--- PASS: TestLocalFiler (0.00s)
=== RUN   TestGitFiler
--- PASS: TestGitFiler (0.01s)
=== RUN   TestZipFiler
--- PASS: TestZipFiler (0.00s)
=== RUN   TestNestedFiler
--- PASS: TestNestedFiler (0.00s)
PASS
ok  	github.com/go-enry/go-license-detector/v4/licensedb/filer	0.019s
=== RUN   TestSplitLicenseName
--- PASS: TestSplitLicenseName (0.00s)
PASS
ok  	github.com/go-enry/go-license-detector/v4/licensedb/internal	0.300s
?   	github.com/go-enry/go-license-detector/v4/licensedb/internal/assets	[no test files]
=== RUN   TestFastlog
--- PASS: TestFastlog (0.00s)
PASS
ok  	github.com/go-enry/go-license-detector/v4/licensedb/internal/fastlog	0.037s
=== RUN   TestNormalizeLines
--- PASS: TestNormalizeLines (0.00s)
PASS
ok  	github.com/go-enry/go-license-detector/v4/licensedb/internal/normalize	0.006s
=== RUN   TestHTML
--- PASS: TestHTML (0.00s)
PASS
ok  	github.com/go-enry/go-license-detector/v4/licensedb/internal/processors	0.031s
=== RUN   TestWMHSerialize
--- PASS: TestWMHSerialize (0.01s)
=== RUN   TestWMHHash
    wmh_test.go:98: 
        	Error Trace:	wmh_test.go:98
        	Error:      	Not equal: 
        	            	expected: []uint64{0x10032, 0x0, 0x1005a, 0x10050, 0x1005a, 0x1e, 0x10050, 0x5a, 0x28, 0x10028, 0x1003c, 0x10032, 0x1005a, 0x1005a, 0x9003c, 0x14, 0x10050, 0x1005a, 0x1003c, 0x1005a, 0x4005a, 0x20050, 0x1003c, 0x1003c, 0x10014, 0x1005a, 0x10028, 0x10046, 0x1005a, 0x10046, 0xa, 0x5a, 0x1003c, 0x10032, 0x1005a, 0x10046, 0x1005a, 0x0, 0x2005a, 0x1005a, 0x10028, 0x1005a, 0x10050, 0x10046, 0x10046, 0x20050, 0x1001e, 0x1005a, 0x10032, 0x1005a}
        	            	actual  : []uint64{0x1003c, 0x40046, 0x10046, 0x46, 0x10028, 0x5003c, 0x3c, 0x1e, 0x1e, 0x10032, 0x1005a, 0x2005a, 0x46, 0x10046, 0x10046, 0x10014, 0x10032, 0x20032, 0x10050, 0x10050, 0x10032, 0x5a, 0x10028, 0x10046, 0x10046, 0x1003c, 0x20050, 0x2003c, 0x10046, 0x1000a, 0x10028, 0x1005a, 0x30046, 0x1005a, 0x1003c, 0x5a, 0x28, 0x1001e, 0x20050, 0x10046, 0x1005a, 0x10050, 0x1003c, 0x10032, 0x10032, 0x1000a, 0x1005a, 0x10050, 0x1003c, 0x10032}
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,52 +1,52 @@
        	            	 ([]uint64) (len=50) {
        	            	+ (uint64) 65596,
        	            	+ (uint64) 262214,
        	            	+ (uint64) 65606,
        	            	+ (uint64) 70,
        	            	+ (uint64) 65576,
        	            	+ (uint64) 327740,
        	            	+ (uint64) 60,
        	            	+ (uint64) 30,
        	            	+ (uint64) 30,
        	            	  (uint64) 65586,
        	            	- (uint64) 0,
        	            	+ (uint64) 65626,
        	            	+ (uint64) 131162,
        	            	+ (uint64) 70,
        	            	+ (uint64) 65606,
        	            	+ (uint64) 65606,
        	            	+ (uint64) 65556,
        	            	+ (uint64) 65586,
        	            	+ (uint64) 131122,
        	            	+ (uint64) 65616,
        	            	+ (uint64) 65616,
        	            	+ (uint64) 65586,
        	            	+ (uint64) 90,
        	            	+ (uint64) 65576,
        	            	+ (uint64) 65606,
        	            	+ (uint64) 65606,
        	            	+ (uint64) 65596,
        	            	+ (uint64) 131152,
        	            	+ (uint64) 131132,
        	            	+ (uint64) 65606,
        	            	+ (uint64) 65546,
        	            	+ (uint64) 65576,
        	            	+ (uint64) 65626,
        	            	+ (uint64) 196678,
        	            	+ (uint64) 65626,
        	            	+ (uint64) 65596,
        	            	+ (uint64) 90,
        	            	+ (uint64) 40,
        	            	+ (uint64) 65566,
        	            	+ (uint64) 131152,
        	            	+ (uint64) 65606,
        	            	  (uint64) 65626,
        	            	  (uint64) 65616,
        	            	- (uint64) 65626,
        	            	- (uint64) 30,
        	            	- (uint64) 65616,
        	            	- (uint64) 90,
        	            	- (uint64) 40,
        	            	- (uint64) 65576,
        	            	  (uint64) 65596,
        	            	  (uint64) 65586,
        	            	- (uint64) 65626,
        	            	- (uint64) 65626,
        	            	- (uint64) 589884,
        	            	- (uint64) 20,
        	            	- (uint64) 65616,
        	            	- (uint64) 65626,
        	            	- (uint64) 65596,
        	            	- (uint64) 65626,
        	            	- (uint64) 262234,
        	            	- (uint64) 131152,
        	            	- (uint64) 65596,
        	            	- (uint64) 65596,
        	            	- (uint64) 65556,
        	            	- (uint64) 65626,
        	            	- (uint64) 65576,
        	            	- (uint64) 65606,
        	            	- (uint64) 65626,
        	            	- (uint64) 65606,
        	            	- (uint64) 10,
        	            	- (uint64) 90,
        	            	- (uint64) 65596,
        	            	  (uint64) 65586,
        	            	- (uint64) 65626,
        	            	- (uint64) 65606,
        	            	- (uint64) 65626,
        	            	- (uint64) 0,
        	            	- (uint64) 131162,
        	            	- (uint64) 65626,
        	            	- (uint64) 65576,
        	            	+ (uint64) 65546,
        	            	  (uint64) 65626,
        	            	  (uint64) 65616,
        	            	- (uint64) 65606,
        	            	- (uint64) 65606,
        	            	- (uint64) 131152,
        	            	- (uint64) 65566,
        	            	- (uint64) 65626,
        	            	- (uint64) 65586,
        	            	- (uint64) 65626
        	            	+ (uint64) 65596,
        	            	+ (uint64) 65586
        	            	 }
        	Test:       	TestWMHHash
--- FAIL: TestWMHHash (0.00s)
=== RUN   TestWMHTrash
2021/11/10 23:00:53 len(values)=9 is not equal to len(indices)=10
2021/11/10 23:00:53 len(values)=10 is not equal to len(indices)=9
2021/11/10 23:00:53 index is out of range: 100 @ 9
--- PASS: TestWMHTrash (0.00s)
FAIL
FAIL	github.com/go-enry/go-license-detector/v4/licensedb/internal/wmh	0.070s
FAIL

pravi avatar Nov 11 '21 04:11 pravi

From the log - it seems that the test in question is simply comparing the hash with the gold wmh.bin output. I guess only @vmarkovtsev knows how this file was created in the first place in https://github.com/go-enry/go-license-detector/commit/1972482a7d6ac88fce6b4c0df22d65a341583e8c but my guess is that it was done in Python.

If that is so - why changing the version of gonum changes the behaviour of gonum/stat/distuv (the only thing that seems to used from it in wmh.go) - is beyond me.

From a quick glance, there seems to be some changes in stat/distuv at https://github.com/gonum/gonum/releases/tag/v0.8.1 https://github.com/gonum/gonum/releases/tag/v0.8.1 but why should that affect the .Rand() \w a fixed seed (the only thing that is consumed in wmh.go) is a mistery 🤷

bzz avatar Oct 06 '22 18:10 bzz