Add regression test for run cache not considering mounts
Signed-off-by: Aaron Lehmann <alehmann@netflix.com>v0.9
parent
0e106e6967
commit
6ab9eeac79
|
@ -98,6 +98,7 @@ func TestIntegration(t *testing.T) {
|
|||
testSharedCacheMounts,
|
||||
testLockedCacheMounts,
|
||||
testDuplicateCacheMount,
|
||||
testRunCacheWithMounts,
|
||||
testParallelLocalBuilds,
|
||||
testSecretMounts,
|
||||
testExtraHosts,
|
||||
|
@ -2771,6 +2772,33 @@ func testDuplicateCacheMount(t *testing.T, sb integration.Sandbox) {
|
|||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func testRunCacheWithMounts(t *testing.T, sb integration.Sandbox) {
|
||||
requiresLinux(t)
|
||||
c, err := New(context.TODO(), sb.Address())
|
||||
require.NoError(t, err)
|
||||
defer c.Close()
|
||||
|
||||
busybox := llb.Image("busybox:latest")
|
||||
|
||||
out := busybox.Run(llb.Shlex(`sh -e -c "[[ -f /m1/sbin/apk ]]"`))
|
||||
out.AddMount("/m1", llb.Image("alpine:latest"), llb.Readonly)
|
||||
|
||||
def, err := out.Marshal(context.TODO())
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = c.Solve(context.TODO(), def, SolveOpt{}, nil)
|
||||
require.NoError(t, err)
|
||||
|
||||
out = busybox.Run(llb.Shlex(`sh -e -c "[[ -f /m1/sbin/apk ]]"`))
|
||||
out.AddMount("/m1", llb.Image("busybox:latest"), llb.Readonly)
|
||||
|
||||
def, err = out.Marshal(context.TODO())
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = c.Solve(context.TODO(), def, SolveOpt{}, nil)
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func testCacheMountNoCache(t *testing.T, sb integration.Sandbox) {
|
||||
requiresLinux(t)
|
||||
c, err := New(context.TODO(), sb.Address())
|
||||
|
|
Loading…
Reference in New Issue