aboutsummaryrefslogtreecommitdiff
path: root/builder/builder2v2
diff options
context:
space:
mode:
authorCatalin Stratu <catalinstratu45@gmail.com>2022-03-14 17:07:38 +0200
committerCatalin Stratu <catalinstratu45@gmail.com>2022-03-15 11:24:39 +0200
commit673cb49f3e5472b269747dc14ef132caf9032050 (patch)
tree7e757720b75390fbe746e5786cb17e7f437ee16d /builder/builder2v2
parentd87b06509712d2369d1cad8b814370b0519c7379 (diff)
downloadspdx-tools-673cb49f3e5472b269747dc14ef132caf9032050.tar.gz
file patch fixes
Signed-off-by: Catalin Stratu <catalinstratu45@gmail.com>
Diffstat (limited to 'builder/builder2v2')
-rw-r--r--builder/builder2v2/build_file_test.go2
-rw-r--r--builder/builder2v2/build_package.go12
-rw-r--r--builder/builder2v2/build_package_test.go12
3 files changed, 15 insertions, 11 deletions
diff --git a/builder/builder2v2/build_file_test.go b/builder/builder2v2/build_file_test.go
index 60f285c..6fc2643 100644
--- a/builder/builder2v2/build_file_test.go
+++ b/builder/builder2v2/build_file_test.go
@@ -22,7 +22,7 @@ func TestBuilder2_2CanBuildFileSection(t *testing.T) {
if file1 == nil {
t.Fatalf("expected non-nil file, got nil")
}
- if file1.FileName != "/file1.testdata.txt" {
+ if file1.FileName != "./file1.testdata.txt" {
t.Errorf("expected %v, got %v", "/file1.testdata.txt", file1.FileName)
}
if file1.FileSPDXIdentifier != spdx.ElementID("File17") {
diff --git a/builder/builder2v2/build_package.go b/builder/builder2v2/build_package.go
index 7f871a4..53b2613 100644
--- a/builder/builder2v2/build_package.go
+++ b/builder/builder2v2/build_package.go
@@ -4,11 +4,10 @@ package builder2v2
import (
"fmt"
- "path/filepath"
- "strings"
-
"github.com/spdx/tools-golang/spdx"
"github.com/spdx/tools-golang/utils"
+ "path/filepath"
+ "regexp"
)
// BuildPackageSection2_2 creates an SPDX Package (version 2.2), returning
@@ -24,11 +23,16 @@ func BuildPackageSection2_2(packageName string, dirRoot string, pathsIgnore []st
return nil, err
}
+ re, ok := regexp.Compile("/+")
+ if ok != nil {
+ return nil, err
+ }
+
files := map[spdx.ElementID]*spdx.File2_2{}
fileNumber := 0
for _, fp := range filepaths {
newFilePatch := filepath.FromSlash("./" + fp)
- newFile, err := BuildFileSection2_2(strings.Replace(newFilePatch, string(filepath.Separator), "/", -1), dirRoot, fileNumber)
+ newFile, err := BuildFileSection2_2(re.ReplaceAllLiteralString(newFilePatch, string(filepath.Separator)), dirRoot, fileNumber)
if err != nil {
return nil, err
}
diff --git a/builder/builder2v2/build_package_test.go b/builder/builder2v2/build_package_test.go
index f58d6b9..6f55abc 100644
--- a/builder/builder2v2/build_package_test.go
+++ b/builder/builder2v2/build_package_test.go
@@ -66,7 +66,7 @@ func TestBuilder2_2CanBuildPackageSection(t *testing.T) {
t.Fatalf("expected non-nil file, got nil")
}
if fileEmpty.FileName != "./emptyfile.testdata.txt" {
- t.Errorf("expected %v, got %v", "/emptyfile.testdata.txt", fileEmpty.FileName)
+ t.Errorf("expected %v, got %v", "./emptyfile.testdata.txt", fileEmpty.FileName)
}
if fileEmpty.FileSPDXIdentifier != spdx.ElementID("File0") {
t.Errorf("expected %v, got %v", "File0", fileEmpty.FileSPDXIdentifier)
@@ -120,31 +120,31 @@ func TestBuilder2_2CanIgnoreFiles(t *testing.T) {
t.Fatalf("expected %d, got %d", 5, len(pkg.Files))
}
- want := "/dontscan.txt"
+ want := "./dontscan.txt"
got := pkg.Files[spdx.ElementID("File0")].FileName
if want != got {
t.Errorf("expected %v, got %v", want, got)
}
- want = "/keep/keep.txt"
+ want = "./keep/keep.txt"
got = pkg.Files[spdx.ElementID("File1")].FileName
if want != got {
t.Errorf("expected %v, got %v", want, got)
}
- want = "/keep.txt"
+ want = "./keep.txt"
got = pkg.Files[spdx.ElementID("File2")].FileName
if want != got {
t.Errorf("expected %v, got %v", want, got)
}
- want = "/subdir/keep/dontscan.txt"
+ want = "./subdir/keep/dontscan.txt"
got = pkg.Files[spdx.ElementID("File3")].FileName
if want != got {
t.Errorf("expected %v, got %v", want, got)
}
- want = "/subdir/keep/keep.txt"
+ want = "./subdir/keep/keep.txt"
got = pkg.Files[spdx.ElementID("File4")].FileName
if want != got {
t.Errorf("expected %v, got %v", want, got)