From b2eeab1b8cf102fe0fda06a7ec63bf1b5f40995d Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Wed, 8 Nov 2017 17:23:23 -0800 Subject: [PATCH] Unit test (linux only) that tests mounting a device in the docker driver --- client/driver/docker_test.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/client/driver/docker_test.go b/client/driver/docker_test.go index 2cd26a125..d53679ddc 100644 --- a/client/driver/docker_test.go +++ b/client/driver/docker_test.go @@ -1844,3 +1844,34 @@ func TestDockerDriver_Devices_IsInvalidConfig(t *testing.T) { } } } + +func TestDockerDriver_Device_Success(t *testing.T) { + if !tu.IsTravis() { + t.Parallel() + } + if !testutil.DockerIsConnected(t) { + t.Skip("Docker not connected") + } + + if runtime.GOOS != "linux" { + t.Skip("test device mounts only on linux") + } + + config := map[string]interface{}{ + "host_path": "/dev/random", + "container_path": "/dev/myrandom", + } + + task, _, _ := dockerTask(t) + task.Config["devices"] = []interface{}{config} + + ctx := testDockerDriverContexts(t, task) + driver := NewDockerDriver(ctx.DriverCtx) + copyImage(t, ctx.ExecCtx.TaskDir, "busybox.tar") + defer ctx.AllocDir.Destroy() + + if _, err := driver.Prestart(ctx.ExecCtx, task); err != nil { + t.Fatalf("unexpected error:%v", err) + } + +}