Skip to content
This repository was archived by the owner on May 4, 2021. It is now read-only.

Commit b8d2b1b

Browse files
author
jockeych
authored
fix the bug of deleting file from disk (#313)
* fix the bug of deleting file from disk * resolve comments * add integration test
1 parent 0b31a90 commit b8d2b1b

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

lib/snapshot/mem_fs.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ func (fs *MemFS) UpdateFromTarReader(r *tar.Reader, untar bool) error {
215215
return fmt.Errorf("untar one item %s: %s", path, err)
216216
}
217217
}
218-
if err := fs.maybeAddToLayer(l, "", pathutils.AbsPath(hdr.Name), hdr, false); err != nil {
218+
if err := fs.maybeAddToLayer(l, pathutils.AbsPath(hdr.Name), pathutils.AbsPath(hdr.Name), hdr, false); err != nil {
219219
return fmt.Errorf("add hdr from tar to layer: %s", err)
220220
}
221221
}
@@ -229,7 +229,7 @@ func (fs *MemFS) UpdateFromTarReader(r *tar.Reader, untar bool) error {
229229
return fmt.Errorf("untar one item %s: %s", path, err)
230230
}
231231
}
232-
if err := fs.maybeAddToLayer(l, "", pathutils.AbsPath(hdr.Name), hdr, false); err != nil {
232+
if err := fs.maybeAddToLayer(l, pathutils.AbsPath(hdr.Name), pathutils.AbsPath(hdr.Name), hdr, false); err != nil {
233233
return fmt.Errorf("add hdr from tar to layer: %s", err)
234234
}
235235
}

test/python/test_build.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
import image
77

8-
98
def test_build_simple(registry1, registry2, storage_dir):
109
new_image = utils.new_image_name()
1110
replica_image = utils.new_image_name()
@@ -22,6 +21,16 @@ def test_build_simple(registry1, registry2, storage_dir):
2221
assert code == 0, err
2322

2423

24+
def test_build_remove(registry1, storage_dir):
25+
new_image = utils.new_image_name()
26+
context_dir = os.path.join(
27+
os.getcwd(), 'testdata/build-context/remove')
28+
utils.makisu_build_image(
29+
new_image, context_dir, storage_dir, registry=registry1.addr)
30+
code, err = utils.docker_run_image(registry1.addr, new_image)
31+
assert code == 0, err
32+
33+
2534
def test_build_symlink(registry1, storage_dir):
2635
new_image = utils.new_image_name()
2736
context_dir = os.path.join(
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FROM centos:7
2+
RUN rm -vf /etc/yum.repos.d/*
3+
ENTRYPOINT ["/bin/bash", "-c", "echo $(ls -la /etc/yum.repos.d/)"]

0 commit comments

Comments
 (0)