diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-01-05 01:42:29 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-01-05 01:43:23 +0900 |
| commit | b98d27f773d74059e92bd5d4169e1347eeb4a6d9 (patch) | |
| tree | 35f97260c84b0873f7dad44a5540dd70fb61232f /internal/pkg/dir_test.go | |
| parent | f3aa31e401e58ea20aa0c0fd09b55f237bbfb54a (diff) | |
internal/pkg: expand single directory tarball
This enables much cleaner use of their output without giving up any meaningful data.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/pkg/dir_test.go')
| -rw-r--r-- | internal/pkg/dir_test.go | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/internal/pkg/dir_test.go b/internal/pkg/dir_test.go index e91a953e..da0dd370 100644 --- a/internal/pkg/dir_test.go +++ b/internal/pkg/dir_test.go @@ -202,6 +202,7 @@ func TestFlatten(t *testing.T) { "identifier": {Mode: fs.ModeDir | 0700}, "identifier/-P_1iw6yVq_letMHncqcExSE0bYcDhYI5OdY6b1wKASf-Corufvj__XTBUq2Qd2a": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/yJlSb2A3jxaMLuKqwp1GwHOguAHddS9MjygF9ICEeegKfRvgLPdPmNh8mva47f8o")}, + "temp": {Mode: fs.ModeDir | 0700}, "work": {Mode: fs.ModeDir | 0700}, }, []pkg.FlatEntry{ {Mode: fs.ModeDir | 0700, Path: "."}, @@ -222,8 +223,45 @@ func TestFlatten(t *testing.T) { {Mode: fs.ModeDir | 0700, Path: "identifier"}, {Mode: fs.ModeSymlink | 0777, Path: "identifier/-P_1iw6yVq_letMHncqcExSE0bYcDhYI5OdY6b1wKASf-Corufvj__XTBUq2Qd2a", Data: []byte("../checksum/yJlSb2A3jxaMLuKqwp1GwHOguAHddS9MjygF9ICEeegKfRvgLPdPmNh8mva47f8o")}, + {Mode: fs.ModeDir | 0700, Path: "temp"}, {Mode: fs.ModeDir | 0700, Path: "work"}, - }, pkg.MustDecode("lmVlYEGNFkwGVpzzS8KYjGBVB6FCyPtk9ViX88zen0GgTKLgGqO6eFxb4dpcP6bR")}, + }, pkg.MustDecode("d14kfTvK8uyYIrMq-NUPGGIGmYKcFytmrsvEu5oXibVfmxhu7Y_dAt3rXpsHVSPM")}, + + {"sample tar expand step unpack", fstest.MapFS{ + ".": {Mode: fs.ModeDir | 0700}, + + "libedac.so": {Mode: fs.ModeSymlink | 0777, Data: []byte("/proc/nonexistent/libedac.so")}, + }, []pkg.FlatEntry{ + {Mode: fs.ModeDir | 0700, Path: "."}, + + {Mode: fs.ModeSymlink | 0777, Path: "libedac.so", Data: []byte("/proc/nonexistent/libedac.so")}, + }, pkg.MustDecode("rY9_cYWgGWgGI2efznu9RP6bPnjM6I5CHFY2nGysnlbPDdOx_iIaiGKYesmMARwC")}, + + {"sample tar expand", fstest.MapFS{ + ".": {Mode: fs.ModeDir | 0700}, + + "checksum": {Mode: fs.ModeDir | 0700}, + "checksum/rY9_cYWgGWgGI2efznu9RP6bPnjM6I5CHFY2nGysnlbPDdOx_iIaiGKYesmMARwC": {Mode: fs.ModeDir | 0500}, + "checksum/rY9_cYWgGWgGI2efznu9RP6bPnjM6I5CHFY2nGysnlbPDdOx_iIaiGKYesmMARwC/libedac.so": {Mode: fs.ModeSymlink | 0777, Data: []byte("/proc/nonexistent/libedac.so")}, + + "identifier": {Mode: fs.ModeDir | 0700}, + "identifier/-P_1iw6yVq_letMHncqcExSE0bYcDhYI5OdY6b1wKASf-Corufvj__XTBUq2Qd2a": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/rY9_cYWgGWgGI2efznu9RP6bPnjM6I5CHFY2nGysnlbPDdOx_iIaiGKYesmMARwC")}, + + "temp": {Mode: fs.ModeDir | 0700}, + "work": {Mode: fs.ModeDir | 0700}, + }, []pkg.FlatEntry{ + {Mode: fs.ModeDir | 0700, Path: "."}, + + {Mode: fs.ModeDir | 0700, Path: "checksum"}, + {Mode: fs.ModeDir | 0500, Path: "checksum/rY9_cYWgGWgGI2efznu9RP6bPnjM6I5CHFY2nGysnlbPDdOx_iIaiGKYesmMARwC"}, + {Mode: fs.ModeSymlink | 0777, Path: "checksum/rY9_cYWgGWgGI2efznu9RP6bPnjM6I5CHFY2nGysnlbPDdOx_iIaiGKYesmMARwC/libedac.so", Data: []byte("/proc/nonexistent/libedac.so")}, + + {Mode: fs.ModeDir | 0700, Path: "identifier"}, + {Mode: fs.ModeSymlink | 0777, Path: "identifier/-P_1iw6yVq_letMHncqcExSE0bYcDhYI5OdY6b1wKASf-Corufvj__XTBUq2Qd2a", Data: []byte("../checksum/rY9_cYWgGWgGI2efznu9RP6bPnjM6I5CHFY2nGysnlbPDdOx_iIaiGKYesmMARwC")}, + + {Mode: fs.ModeDir | 0700, Path: "temp"}, + {Mode: fs.ModeDir | 0700, Path: "work"}, + }, pkg.MustDecode("tqrqx8Ig_l9jjDywovatvg3btS-6hf182Ofzpjcrj2148NhobE_Xb7wrYptZoXFD")}, } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { |
