Skip to content

Commit

Permalink
Merge pull request #60 from specter25/checksum-optimise
Browse files Browse the repository at this point in the history
  • Loading branch information
swinslow committed Mar 21, 2021
2 parents ad870ed + 37228d5 commit 42e1819
Show file tree
Hide file tree
Showing 24 changed files with 648 additions and 264 deletions.
115 changes: 75 additions & 40 deletions builder/build_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -482,14 +482,21 @@ func TestBuild2_2CreatesDocument(t *testing.T) {
if fileEmpty.FileSPDXIdentifier != spdx.ElementID("File0") {
t.Errorf("expected %v, got %v", "File0", fileEmpty.FileSPDXIdentifier)
}
if fileEmpty.FileChecksumSHA1 != "da39a3ee5e6b4b0d3255bfef95601890afd80709" {
t.Errorf("expected %v, got %v", "da39a3ee5e6b4b0d3255bfef95601890afd80709", fileEmpty.FileChecksumSHA1)
}
if fileEmpty.FileChecksumSHA256 != "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" {
t.Errorf("expected %v, got %v", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", fileEmpty.FileChecksumSHA256)
}
if fileEmpty.FileChecksumMD5 != "d41d8cd98f00b204e9800998ecf8427e" {
t.Errorf("expected %v, got %v", "d41d8cd98f00b204e9800998ecf8427e", fileEmpty.FileChecksumMD5)
for _, checksum := range fileEmpty.FileChecksums {
switch checksum.Algorithm {
case spdx.SHA1:
if checksum.Value != "da39a3ee5e6b4b0d3255bfef95601890afd80709" {
t.Errorf("expected %v, got %v", "da39a3ee5e6b4b0d3255bfef95601890afd80709", checksum.Value)
}
case spdx.SHA256:
if checksum.Value != "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" {
t.Errorf("expected %v, got %v", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", checksum.Value)
}
case spdx.MD5:
if checksum.Value != "d41d8cd98f00b204e9800998ecf8427e" {
t.Errorf("expected %v, got %v", "d41d8cd98f00b204e9800998ecf8427e", checksum.Value)
}
}
}
if fileEmpty.LicenseConcluded != "NOASSERTION" {
t.Errorf("expected %v, got %v", "NOASSERTION", fileEmpty.LicenseConcluded)
Expand All @@ -512,14 +519,21 @@ func TestBuild2_2CreatesDocument(t *testing.T) {
if file1.FileSPDXIdentifier != spdx.ElementID("File1") {
t.Errorf("expected %v, got %v", "File1", file1.FileSPDXIdentifier)
}
if file1.FileChecksumSHA1 != "024f870eb6323f532515f7a09d5646a97083b819" {
t.Errorf("expected %v, got %v", "024f870eb6323f532515f7a09d5646a97083b819", file1.FileChecksumSHA1)
}
if file1.FileChecksumSHA256 != "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf" {
t.Errorf("expected %v, got %v", "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf", file1.FileChecksumSHA256)
}
if file1.FileChecksumMD5 != "37c8208479dfe42d2bb29debd6e32d4a" {
t.Errorf("expected %v, got %v", "37c8208479dfe42d2bb29debd6e32d4a", file1.FileChecksumMD5)
for _, checksum := range file1.FileChecksums {
switch checksum.Algorithm {
case spdx.SHA1:
if checksum.Value != "024f870eb6323f532515f7a09d5646a97083b819" {
t.Errorf("expected %v, got %v", "024f870eb6323f532515f7a09d5646a97083b819", checksum.Value)
}
case spdx.SHA256:
if checksum.Value != "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf" {
t.Errorf("expected %v, got %v", "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf", checksum.Value)
}
case spdx.MD5:
if checksum.Value != "37c8208479dfe42d2bb29debd6e32d4a" {
t.Errorf("expected %v, got %v", "37c8208479dfe42d2bb29debd6e32d4a", checksum.Value)
}
}
}
if file1.LicenseConcluded != "NOASSERTION" {
t.Errorf("expected %v, got %v", "NOASSERTION", file1.LicenseConcluded)
Expand All @@ -542,14 +556,21 @@ func TestBuild2_2CreatesDocument(t *testing.T) {
if file3.FileSPDXIdentifier != spdx.ElementID("File2") {
t.Errorf("expected %v, got %v", "File2", file3.FileSPDXIdentifier)
}
if file3.FileChecksumSHA1 != "a46114b70e163614f01c64adf44cdd438f158fce" {
t.Errorf("expected %v, got %v", "a46114b70e163614f01c64adf44cdd438f158fce", file3.FileChecksumSHA1)
}
if file3.FileChecksumSHA256 != "9fc181b9892720a15df1a1e561860318db40621bd4040ccdf18e110eb01d04b4" {
t.Errorf("expected %v, got %v", "9fc181b9892720a15df1a1e561860318db40621bd4040ccdf18e110eb01d04b4", file3.FileChecksumSHA256)
}
if file3.FileChecksumMD5 != "3e02d3ab9c58eec6911dbba37570934f" {
t.Errorf("expected %v, got %v", "3e02d3ab9c58eec6911dbba37570934f", file3.FileChecksumMD5)
for _, checksum := range file3.FileChecksums {
switch checksum.Algorithm {
case spdx.SHA1:
if checksum.Value != "a46114b70e163614f01c64adf44cdd438f158fce" {
t.Errorf("expected %v, got %v", "a46114b70e163614f01c64adf44cdd438f158fce", checksum.Value)
}
case spdx.SHA256:
if checksum.Value != "9fc181b9892720a15df1a1e561860318db40621bd4040ccdf18e110eb01d04b4" {
t.Errorf("expected %v, got %v", "9fc181b9892720a15df1a1e561860318db40621bd4040ccdf18e110eb01d04b4", checksum.Value)
}
case spdx.MD5:
if checksum.Value != "3e02d3ab9c58eec6911dbba37570934f" {
t.Errorf("expected %v, got %v", "3e02d3ab9c58eec6911dbba37570934f", checksum.Value)
}
}
}
if file3.LicenseConcluded != "NOASSERTION" {
t.Errorf("expected %v, got %v", "NOASSERTION", file3.LicenseConcluded)
Expand All @@ -572,14 +593,21 @@ func TestBuild2_2CreatesDocument(t *testing.T) {
if file4.FileSPDXIdentifier != spdx.ElementID("File3") {
t.Errorf("expected %v, got %v", "File3", file4.FileSPDXIdentifier)
}
if file4.FileChecksumSHA1 != "e623d7d7d782a7c8323c4d436acee4afab34320f" {
t.Errorf("expected %v, got %v", "e623d7d7d782a7c8323c4d436acee4afab34320f", file4.FileChecksumSHA1)
}
if file4.FileChecksumSHA256 != "574fa42c5e0806c0f8906a44884166540206f021527729407cd5326838629c59" {
t.Errorf("expected %v, got %v", "574fa42c5e0806c0f8906a44884166540206f021527729407cd5326838629c59", file4.FileChecksumSHA256)
}
if file4.FileChecksumMD5 != "96e6a25d35df5b1c477710ef4d0c7210" {
t.Errorf("expected %v, got %v", "96e6a25d35df5b1c477710ef4d0c7210", file4.FileChecksumMD5)
for _, checksum := range file4.FileChecksums {
switch checksum.Algorithm {
case spdx.SHA1:
if checksum.Value != "e623d7d7d782a7c8323c4d436acee4afab34320f" {
t.Errorf("expected %v, got %v", "e623d7d7d782a7c8323c4d436acee4afab34320f", checksum.Value)
}
case spdx.SHA256:
if checksum.Value != "574fa42c5e0806c0f8906a44884166540206f021527729407cd5326838629c59" {
t.Errorf("expected %v, got %v", "574fa42c5e0806c0f8906a44884166540206f021527729407cd5326838629c59", checksum.Value)
}
case spdx.MD5:
if checksum.Value != "96e6a25d35df5b1c477710ef4d0c7210" {
t.Errorf("expected %v, got %v", "96e6a25d35df5b1c477710ef4d0c7210", checksum.Value)
}
}
}
if file4.LicenseConcluded != "NOASSERTION" {
t.Errorf("expected %v, got %v", "NOASSERTION", file4.LicenseConcluded)
Expand All @@ -602,14 +630,21 @@ func TestBuild2_2CreatesDocument(t *testing.T) {
if lastfile.FileSPDXIdentifier != spdx.ElementID("File4") {
t.Errorf("expected %v, got %v", "File4", lastfile.FileSPDXIdentifier)
}
if lastfile.FileChecksumSHA1 != "26d6221d682d9ba59116f9753a701f34271c8ce1" {
t.Errorf("expected %v, got %v", "26d6221d682d9ba59116f9753a701f34271c8ce1", lastfile.FileChecksumSHA1)
}
if lastfile.FileChecksumSHA256 != "0a4bdaf990e9b330ff72022dd78110ae98b60e08337cf2105b89856373416805" {
t.Errorf("expected %v, got %v", "0a4bdaf990e9b330ff72022dd78110ae98b60e08337cf2105b89856373416805", lastfile.FileChecksumSHA256)
}
if lastfile.FileChecksumMD5 != "f60baa793870d9085461ad6bbab50b7f" {
t.Errorf("expected %v, got %v", "f60baa793870d9085461ad6bbab50b7f", lastfile.FileChecksumMD5)
for _, checksum := range lastfile.FileChecksums {
switch checksum.Algorithm {
case spdx.SHA1:
if checksum.Value != "26d6221d682d9ba59116f9753a701f34271c8ce1" {
t.Errorf("expected %v, got %v", "26d6221d682d9ba59116f9753a701f34271c8ce1", checksum.Value)
}
case spdx.SHA256:
if checksum.Value != "0a4bdaf990e9b330ff72022dd78110ae98b60e08337cf2105b89856373416805" {
t.Errorf("expected %v, got %v", "0a4bdaf990e9b330ff72022dd78110ae98b60e08337cf2105b89856373416805", checksum.Value)
}
case spdx.MD5:
if checksum.Value != "f60baa793870d9085461ad6bbab50b7f" {
t.Errorf("expected %v, got %v", "f60baa793870d9085461ad6bbab50b7f", checksum.Value)
}
}
}
if lastfile.LicenseConcluded != "NOASSERTION" {
t.Errorf("expected %v, got %v", "NOASSERTION", lastfile.LicenseConcluded)
Expand Down
23 changes: 17 additions & 6 deletions builder/builder2v2/build_file.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,23 @@ func BuildFileSection2_2(filePath string, prefix string, fileNumber int) (*spdx.
f := &spdx.File2_2{
FileName: filePath,
FileSPDXIdentifier: spdx.ElementID(i),
FileChecksumSHA1: ssha1,
FileChecksumSHA256: ssha256,
FileChecksumMD5: smd5,
LicenseConcluded: "NOASSERTION",
LicenseInfoInFile: []string{},
FileCopyrightText: "NOASSERTION",
FileChecksums: map[spdx.ChecksumAlgorithm]spdx.Checksum{
spdx.SHA1: spdx.Checksum{
Algorithm: spdx.SHA1,
Value: ssha1,
},
spdx.SHA256: spdx.Checksum{
Algorithm: spdx.SHA256,
Value: ssha256,
},
spdx.MD5: spdx.Checksum{
Algorithm: spdx.MD5,
Value: smd5,
},
},
LicenseConcluded: "NOASSERTION",
LicenseInfoInFile: []string{},
FileCopyrightText: "NOASSERTION",
}

return f, nil
Expand Down
23 changes: 15 additions & 8 deletions builder/builder2v2/build_file_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,21 @@ func TestBuilder2_2CanBuildFileSection(t *testing.T) {
if file1.FileSPDXIdentifier != spdx.ElementID("File17") {
t.Errorf("expected %v, got %v", "File17", file1.FileSPDXIdentifier)
}
if file1.FileChecksumSHA1 != "024f870eb6323f532515f7a09d5646a97083b819" {
t.Errorf("expected %v, got %v", "024f870eb6323f532515f7a09d5646a97083b819", file1.FileChecksumSHA1)
}
if file1.FileChecksumSHA256 != "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf" {
t.Errorf("expected %v, got %v", "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf", file1.FileChecksumSHA256)
}
if file1.FileChecksumMD5 != "37c8208479dfe42d2bb29debd6e32d4a" {
t.Errorf("expected %v, got %v", "37c8208479dfe42d2bb29debd6e32d4a", file1.FileChecksumMD5)
for _, checksum := range file1.FileChecksums {
switch checksum.Algorithm {
case spdx.SHA1:
if checksum.Value != "024f870eb6323f532515f7a09d5646a97083b819" {
t.Errorf("expected %v, got %v", "024f870eb6323f532515f7a09d5646a97083b819", checksum.Value)
}
case spdx.SHA256:
if checksum.Value != "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf" {
t.Errorf("expected %v, got %v", "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf", checksum.Value)
}
case spdx.MD5:
if checksum.Value != "37c8208479dfe42d2bb29debd6e32d4a" {
t.Errorf("expected %v, got %v", "37c8208479dfe42d2bb29debd6e32d4a", checksum.Value)
}
}
}
if file1.LicenseConcluded != "NOASSERTION" {
t.Errorf("expected %v, got %v", "NOASSERTION", file1.LicenseConcluded)
Expand Down
23 changes: 15 additions & 8 deletions builder/builder2v2/build_package_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,21 @@ func TestBuilder2_2CanBuildPackageSection(t *testing.T) {
if fileEmpty.FileSPDXIdentifier != spdx.ElementID("File0") {
t.Errorf("expected %v, got %v", "File0", fileEmpty.FileSPDXIdentifier)
}
if fileEmpty.FileChecksumSHA1 != "da39a3ee5e6b4b0d3255bfef95601890afd80709" {
t.Errorf("expected %v, got %v", "da39a3ee5e6b4b0d3255bfef95601890afd80709", fileEmpty.FileChecksumSHA1)
}
if fileEmpty.FileChecksumSHA256 != "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" {
t.Errorf("expected %v, got %v", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", fileEmpty.FileChecksumSHA256)
}
if fileEmpty.FileChecksumMD5 != "d41d8cd98f00b204e9800998ecf8427e" {
t.Errorf("expected %v, got %v", "d41d8cd98f00b204e9800998ecf8427e", fileEmpty.FileChecksumMD5)
for _, checksum := range fileEmpty.FileChecksums {
switch checksum.Algorithm {
case spdx.SHA1:
if checksum.Value != "da39a3ee5e6b4b0d3255bfef95601890afd80709" {
t.Errorf("expected %v, got %v", "da39a3ee5e6b4b0d3255bfef95601890afd80709", checksum.Value)
}
case spdx.SHA256:
if checksum.Value != "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" {
t.Errorf("expected %v, got %v", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", checksum.Value)
}
case spdx.MD5:
if checksum.Value != "d41d8cd98f00b204e9800998ecf8427e" {
t.Errorf("expected %v, got %v", "d41d8cd98f00b204e9800998ecf8427e", checksum.Value)
}
}
}
if fileEmpty.LicenseConcluded != "NOASSERTION" {
t.Errorf("expected %v, got %v", "NOASSERTION", fileEmpty.LicenseConcluded)
Expand Down

0 comments on commit 42e1819

Please sign in to comment.