integration: test more copy edge-cases
The existing archive implementation is not easy to reason about by reading the source. Prepare to rewrite it by covering more edge cases in tests. The new test cases were determined by black-box characterizing the existing behaviour. Signed-off-by: Cory Snider <csnider@mirantis.com>
This commit is contained in:
parent
6750d1bac8
commit
7d23c50599
1 changed files with 7 additions and 0 deletions
|
@ -158,16 +158,23 @@ func TestCopyFromContainer(t *testing.T) {
|
|||
expect map[string]string
|
||||
}{
|
||||
{"/", map[string]string{"/": "", "/foo": "hello", "/bar/quux/baz": "world", "/bar/filesymlink": "", "/bar/dirsymlink": "", "/bar/notarget": ""}},
|
||||
{".", map[string]string{"./": "", "./foo": "hello", "./bar/quux/baz": "world", "./bar/filesymlink": "", "./bar/dirsymlink": "", "./bar/notarget": ""}},
|
||||
{"/.", map[string]string{"./": "", "./foo": "hello", "./bar/quux/baz": "world", "./bar/filesymlink": "", "./bar/dirsymlink": "", "./bar/notarget": ""}},
|
||||
{"./", map[string]string{"./": "", "./foo": "hello", "./bar/quux/baz": "world", "./bar/filesymlink": "", "./bar/dirsymlink": "", "./bar/notarget": ""}},
|
||||
{"/./", map[string]string{"./": "", "./foo": "hello", "./bar/quux/baz": "world", "./bar/filesymlink": "", "./bar/dirsymlink": "", "./bar/notarget": ""}},
|
||||
{"/bar/root", map[string]string{"root": ""}},
|
||||
{"/bar/root/", map[string]string{"root/": "", "root/foo": "hello", "root/bar/quux/baz": "world", "root/bar/filesymlink": "", "root/bar/dirsymlink": "", "root/bar/notarget": ""}},
|
||||
{"/bar/root/.", map[string]string{"./": "", "./foo": "hello", "./bar/quux/baz": "world", "./bar/filesymlink": "", "./bar/dirsymlink": "", "./bar/notarget": ""}},
|
||||
|
||||
{"bar/quux", map[string]string{"quux/": "", "quux/baz": "world"}},
|
||||
{"bar/quux/", map[string]string{"quux/": "", "quux/baz": "world"}},
|
||||
{"bar/quux/.", map[string]string{"./": "", "./baz": "world"}},
|
||||
{"bar/quux/baz", map[string]string{"baz": "world"}},
|
||||
|
||||
{"bar/filesymlink", map[string]string{"filesymlink": ""}},
|
||||
{"bar/dirsymlink", map[string]string{"dirsymlink": ""}},
|
||||
{"bar/dirsymlink/", map[string]string{"dirsymlink/": "", "dirsymlink/baz": "world"}},
|
||||
{"bar/dirsymlink/.", map[string]string{"./": "", "./baz": "world"}},
|
||||
{"bar/notarget", map[string]string{"notarget": ""}},
|
||||
} {
|
||||
t.Run(x.src, func(t *testing.T) {
|
||||
|
|
Loading…
Add table
Reference in a new issue