diff options
author | specter25 <ujjwalcoding012@gmail.com> | 2021-04-04 15:52:30 +0530 |
---|---|---|
committer | specter25 <ujjwalcoding012@gmail.com> | 2021-04-04 15:52:30 +0530 |
commit | 7985e5bdac9e2328e648e8d00ced420da3a3c11d (patch) | |
tree | e710a408e2677f63568b4a7025ec9bf1d648b439 /tvloader/parser2v2 | |
parent | 07cb513803ea144c9ca427b413c9ac89f6b8006d (diff) | |
download | spdx-tools-7985e5bdac9e2328e648e8d00ced420da3a3c11d.tar.gz |
Structural changes in spdxId fix for package and files
- Fix capitalized initials of error messages
- Other structural changes to increase code efficiency
Signed-off-by: specter25 <ujjwalcoding012@gmail.com>
Diffstat (limited to 'tvloader/parser2v2')
-rw-r--r-- | tvloader/parser2v2/parse_creation_info.go | 8 | ||||
-rw-r--r-- | tvloader/parser2v2/parse_file.go | 12 | ||||
-rw-r--r-- | tvloader/parser2v2/parse_file_test.go | 41 | ||||
-rw-r--r-- | tvloader/parser2v2/parse_package.go | 6 | ||||
-rw-r--r-- | tvloader/parser2v2/parse_package_test.go | 21 | ||||
-rw-r--r-- | tvloader/parser2v2/parse_snippet.go | 6 | ||||
-rw-r--r-- | tvloader/parser2v2/parser.go | 12 | ||||
-rw-r--r-- | tvloader/parser2v2/types.go | 2 |
8 files changed, 51 insertions, 57 deletions
diff --git a/tvloader/parser2v2/parse_creation_info.go b/tvloader/parser2v2/parse_creation_info.go index b70fe84..930ff00 100644 --- a/tvloader/parser2v2/parse_creation_info.go +++ b/tvloader/parser2v2/parse_creation_info.go @@ -12,7 +12,7 @@ import ( func (parser *tvParser2_2) parsePairFromCreationInfo2_2(tag string, value string) error { // fail if not in Creation Info parser state if parser.st != psCreationInfo2_2 { - return fmt.Errorf("Got invalid state %v in parsePairFromCreationInfo2_2", parser.st) + return fmt.Errorf("got invalid state %v in parsePairFromCreationInfo2_2", parser.st) } // create an SPDX Creation Info data struct if we don't have one already @@ -76,9 +76,9 @@ func (parser *tvParser2_2) parsePairFromCreationInfo2_2(tag string, value string // tag for going on to package section case "PackageName": - //Error if last file does not has FileSPDXId - if parser.file != nil && parser.file.FileSPDXIdentifier == spdx.ElementID("") { - return fmt.Errorf("Invalid file without a package SPDX identifier") + // Error if last file does not has FileSPDXId + if parser.file != nil && parser.file.FileSPDXIdentifier == nullSpdxElementId2_2 { + return fmt.Errorf("invalid file without a package SPDX identifier") } parser.st = psPackage2_2 parser.pkg = &spdx.Package2_2{ diff --git a/tvloader/parser2v2/parse_file.go b/tvloader/parser2v2/parse_file.go index f6447fa..7e004e9 100644 --- a/tvloader/parser2v2/parse_file.go +++ b/tvloader/parser2v2/parse_file.go @@ -18,18 +18,18 @@ func (parser *tvParser2_2) parsePairFromFile2_2(tag string, value string) error switch tag { // tag for creating new file section case "FileName": - //check if the previous file contained a spdxId or not - if parser.file != nil && parser.file.FileSPDXIdentifier == spdx.ElementID("") { - return fmt.Errorf("Invalid file without a file SPDX identifier") + // check if the previous file contained a spdxId or not + if parser.file != nil && parser.file.FileSPDXIdentifier == nullSpdxElementId2_2 { + return fmt.Errorf("invalid file without a file SPDX identifier") } parser.file = &spdx.File2_2{} parser.file.FileName = value // tag for creating new package section and going back to parsing Package case "PackageName": parser.st = psPackage2_2 - //check if the previous file containes a spdxId or not - if parser.file != nil && parser.file.FileSPDXIdentifier == spdx.ElementID("") { - return fmt.Errorf("Invalid file without a file SPDX identifier") + // check if the previous file containes a spdxId or not + if parser.file != nil && parser.file.FileSPDXIdentifier == nullSpdxElementId2_2 { + return fmt.Errorf("invalid file without a file SPDX identifier") } parser.file = nil return parser.parsePairFromPackage2_2(tag, value) diff --git a/tvloader/parser2v2/parse_file_test.go b/tvloader/parser2v2/parse_file_test.go index 3af06a1..f5234a2 100644 --- a/tvloader/parser2v2/parse_file_test.go +++ b/tvloader/parser2v2/parse_file_test.go @@ -920,59 +920,54 @@ func TestParser2_2FailsIfArtifactURIBeforeArtifactName(t *testing.T) { } func TestParser2_2FilesWithoutSpdxIdThrowError(t *testing.T) { - //case 1 + // case 1 // Last unpackaged file no packages in doc // Last file of last package in the doc - var tvPairs []reader.TagValuePair - tvPair1 := reader.TagValuePair{Tag: "SPDXVersion", Value: "SPDX-2.2"} - tvPairs = append(tvPairs, tvPair1) - tvPair2 := reader.TagValuePair{Tag: "DataLicense", Value: "CC0-1.0"} - tvPairs = append(tvPairs, tvPair2) - tvPair3 := reader.TagValuePair{Tag: "SPDXID", Value: "SPDXRef-DOCUMENT"} - tvPairs = append(tvPairs, tvPair3) - tvPair4 := reader.TagValuePair{Tag: "FileName", Value: "f1"} - tvPairs = append(tvPairs, tvPair4) + tvPairs := []reader.TagValuePair{ + {Tag: "SPDXVersion", Value: "SPDX-2.2"}, + {Tag: "DataLicense", Value: "CC0-1.0"}, + {Tag: "SPDXID", Value: "SPDXRef-DOCUMENT"}, + {Tag: "FileName", Value: "f1"}, + } _, err := ParseTagValues(tvPairs) if err == nil { t.Errorf("files withoutSpdx Identifiers getting accepted") } - //case 2 : The previous file (packaged or unpackaged does not contain spdxID) - tvPair5 := reader.TagValuePair{Tag: "FileName", Value: "f2"} - tvPairs = append(tvPairs, tvPair5) + // case 2 : The previous file (packaged or unpackaged does not contain spdxID) + tvPairs = append(tvPairs, reader.TagValuePair{Tag: "FileName", Value: "f2"}) _, err = ParseTagValues(tvPairs) if err == nil { t.Errorf("%s", err) } - //case 3 : Invalid file with snippet - //Last unpackaged file before the packges start - //Last file of a package and New package starts + // case 3 : Invalid file with snippet + // Last unpackaged file before the packges start + // Last file of a package and New package starts sid1 := spdx.ElementID("s1") parser := tvParser2_2{ doc: &spdx.Document2_2{}, st: psCreationInfo2_2, } fileName := "f2.txt" - err = parser.parsePair2_2("FileName", fileName) - err = parser.parsePair2_2("SnippetSPDXID", string(sid1)) + _ = parser.parsePair2_2("FileName", fileName) + _ = parser.parsePair2_2("SnippetSPDXID", string(sid1)) err = parser.parsePair2_2("PackageName", "p2") if err == nil { t.Errorf("files withoutSpdx Identifiers getting accepted") } - //case 4 : Invalid File without snippets - //Last unpackaged file before the packges start - //Last file of a package and New package starts + // case 4 : Invalid File without snippets + // Last unpackaged file before the packges start + // Last file of a package and New package starts parser3 := tvParser2_2{ doc: &spdx.Document2_2{}, st: psCreationInfo2_2, } fileName = "f3.txt" - err = parser3.parsePair2_2("FileName", fileName) + _ = parser3.parsePair2_2("FileName", fileName) err = parser3.parsePair2_2("PackageName", "p2") if err == nil { t.Errorf("files withoutSpdx Identifiers getting accepted") } - err = parser3.parsePair2_2("PackageName", "p2") } diff --git a/tvloader/parser2v2/parse_package.go b/tvloader/parser2v2/parse_package.go index 729db18..3d16272 100644 --- a/tvloader/parser2v2/parse_package.go +++ b/tvloader/parser2v2/parse_package.go @@ -20,9 +20,9 @@ func (parser *tvParser2_2) parsePairFromPackage2_2(tag string, value string) err case "PackageName": // if package already has a name, create and go on to a new package if parser.pkg == nil || parser.pkg.PackageName != "" { - //check if the previous package contained a spdxId or not - if parser.pkg != nil && parser.pkg.PackageSPDXIdentifier == spdx.ElementID("") { - return fmt.Errorf("Invalid package without a package SPDX identifier") + // check if the previous package contained a spdxId or not + if parser.pkg != nil && parser.pkg.PackageSPDXIdentifier == nullSpdxElementId2_2 { + return fmt.Errorf("invalid package without a package SPDX identifier") } parser.pkg = &spdx.Package2_2{ FilesAnalyzed: true, diff --git a/tvloader/parser2v2/parse_package_test.go b/tvloader/parser2v2/parse_package_test.go index 1983baf..6ed5dce 100644 --- a/tvloader/parser2v2/parse_package_test.go +++ b/tvloader/parser2v2/parse_package_test.go @@ -1126,19 +1126,16 @@ func TestParser2_2PackageWithoutSpdxIdentifierThrowsError(t *testing.T) { pkgName := "p2" err := parser.parsePair2_2("PackageName", pkgName) if err == nil { - t.Errorf("Packages withoutSpdx Identifiers getting accepted") - } - var tvPairs []reader.TagValuePair - tvPair1 := reader.TagValuePair{Tag: "SPDXVersion", Value: "SPDX-2.2"} - tvPairs = append(tvPairs, tvPair1) - tvPair2 := reader.TagValuePair{Tag: "DataLicense", Value: "CC0-1.0"} - tvPairs = append(tvPairs, tvPair2) - tvPair3 := reader.TagValuePair{Tag: "SPDXID", Value: "SPDXRef-DOCUMENT"} - tvPairs = append(tvPairs, tvPair3) - tvPair4 := reader.TagValuePair{Tag: "PackageName", Value: "p1"} - tvPairs = append(tvPairs, tvPair4) + t.Errorf("packages withoutSpdx Identifiers getting accepted") + } + tvPairs := []reader.TagValuePair{ + {Tag: "SPDXVersion", Value: "SPDX-2.2"}, + {Tag: "DataLicense", Value: "CC0-1.0"}, + {Tag: "SPDXID", Value: "SPDXRef-DOCUMENT"}, + {Tag: "PackageName", Value: "p1"}, + } _, err = ParseTagValues(tvPairs) if err == nil { - t.Errorf("Packages withoutSpdx Identifiers getting accepted") + t.Errorf("packages withoutSpdx Identifiers getting accepted") } } diff --git a/tvloader/parser2v2/parse_snippet.go b/tvloader/parser2v2/parse_snippet.go index 0de54e2..59b8472 100644 --- a/tvloader/parser2v2/parse_snippet.go +++ b/tvloader/parser2v2/parse_snippet.go @@ -34,9 +34,9 @@ func (parser *tvParser2_2) parsePairFromSnippet2_2(tag string, value string) err // tag for creating new package section and going back to parsing Package case "PackageName": parser.st = psPackage2_2 - //check here whether the last file of the previous package contained the FileSpdxIdentifier - if parser.file != nil && parser.file.FileSPDXIdentifier == spdx.ElementID("") { - return fmt.Errorf("Invalid file without a file SPDX identifier") + // check here whether the last file of the previous package contained the FileSpdxIdentifier + if parser.file != nil && parser.file.FileSPDXIdentifier == nullSpdxElementId2_2 { + return fmt.Errorf("invalid file without a file SPDX identifier") } parser.file = nil parser.snippet = nil diff --git a/tvloader/parser2v2/parser.go b/tvloader/parser2v2/parser.go index 8216fbb..4f47de5 100644 --- a/tvloader/parser2v2/parser.go +++ b/tvloader/parser2v2/parser.go @@ -20,11 +20,11 @@ func ParseTagValues(tvs []reader.TagValuePair) (*spdx.Document2_2, error) { return nil, err } } - if parser.file != nil && parser.file.FileSPDXIdentifier == spdx.ElementID("") { - return nil, fmt.Errorf("Invalid file without a file SPDX identifier") + if parser.file != nil && parser.file.FileSPDXIdentifier == nullSpdxElementId2_2 { + return nil, fmt.Errorf("invalid file without a file SPDX identifier") } - if parser.pkg != nil && parser.pkg.PackageSPDXIdentifier == spdx.ElementID("") { - return nil, fmt.Errorf("Invalid package without a package SPDX identifier") + if parser.pkg != nil && parser.pkg.PackageSPDXIdentifier == nullSpdxElementId2_2 { + return nil, fmt.Errorf("invalid package without a package SPDX identifier") } return parser.doc, nil } @@ -46,14 +46,14 @@ func (parser *tvParser2_2) parsePair2_2(tag string, value string) error { case psReview2_2: return parser.parsePairFromReview2_2(tag, value) default: - return fmt.Errorf("Parser state %v not recognized when parsing (%s, %s)", parser.st, tag, value) + return fmt.Errorf("parser state %v not recognized when parsing (%s, %s)", parser.st, tag, value) } } func (parser *tvParser2_2) parsePairFromStart2_2(tag string, value string) error { // fail if not in Start parser state if parser.st != psStart2_2 { - return fmt.Errorf("Got invalid state %v in parsePairFromStart2_2", parser.st) + return fmt.Errorf("got invalid state %v in parsePairFromStart2_2", parser.st) } // create an SPDX Document data struct if we don't have one already diff --git a/tvloader/parser2v2/types.go b/tvloader/parser2v2/types.go index 6039a1c..1cdbcef 100644 --- a/tvloader/parser2v2/types.go +++ b/tvloader/parser2v2/types.go @@ -52,3 +52,5 @@ const ( // in review section psReview2_2 ) + +const nullSpdxElementId2_2 = spdx.ElementID("") |