aboutsummaryrefslogtreecommitdiffsponsor
diff options
context:
space:
mode:
-rw-r--r--filesystem_test.go36
-rw-r--r--installpkg.go1
2 files changed, 37 insertions, 0 deletions
diff --git a/filesystem_test.go b/filesystem_test.go
new file mode 100644
index 0000000..6559488
--- /dev/null
+++ b/filesystem_test.go
@@ -0,0 +1,36 @@
+package pkgtools
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/require"
+)
+
+func TestIsParentDir(t *testing.T) {
+ tests := []struct {
+ Parent string
+ FileName string
+ Exp bool
+ }{
+ {
+ Parent: "install",
+ FileName: "install/doinst.sh",
+ Exp: true,
+ },
+ {
+ Parent: "other/install",
+ FileName: "install/doinst.sh",
+ Exp: false,
+ },
+ {
+ Parent: "install",
+ FileName: "doinst.sh",
+ Exp: false,
+ },
+ }
+ for _, test := range tests {
+ exp, err := IsParentDir(test.Parent, test.FileName)
+ require.NoError(t, err)
+ require.Equal(t, test.Exp, exp)
+ }
+}
diff --git a/installpkg.go b/installpkg.go
index a0749bd..479b318 100644
--- a/installpkg.go
+++ b/installpkg.go
@@ -312,6 +312,7 @@ func extractSlackwarePkg(flags *InstallPkgFlags, fp string) error {
if ok, err := IsParentDir(PackageInstallPath, h.Name); ok {
// important install files are already written
// to the targets package database.
+ return nil
} else if err != nil {
return errors.Wrap(err, "installing package")
}