X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a6650f13fe461641defa4f281972df0ce1567594..d54cd5298bb6e043205995c6e5d414a841d9c389:/services/datamanager/datamanager_test.go diff --git a/services/datamanager/datamanager_test.go b/services/datamanager/datamanager_test.go index 67b0e79f14..a99ec6b052 100644 --- a/services/datamanager/datamanager_test.go +++ b/services/datamanager/datamanager_test.go @@ -12,6 +12,7 @@ import ( "net/http" "os" "os/exec" + "path" "regexp" "strings" "testing" @@ -537,12 +538,33 @@ func TestPutAndGetBlocks_NoErrorDuringSingleRun(t *testing.T) { testOldBlocksNotDeletedOnDataManagerError(t, "", "", false, false) } +func createBadPath(t *testing.T) (badpath string) { + tempdir, err := ioutil.TempDir("", "bad") + if err != nil { + t.Fatalf("Could not create temporary directory for bad path: %v", err) + } + badpath = path.Join(tempdir, "bad") + return +} + +func destroyBadPath(t *testing.T, badpath string) { + tempdir := path.Join(badpath, "..") + err := os.Remove(tempdir) + if err != nil { + t.Fatalf("Could not remove bad path temporary directory %v: %v", tempdir, err) + } +} + func TestPutAndGetBlocks_ErrorDuringGetCollectionsBadWriteTo(t *testing.T) { - testOldBlocksNotDeletedOnDataManagerError(t, "/badwritetofile", "", true, true) + badpath := createBadPath(t) + defer destroyBadPath(t, badpath) + testOldBlocksNotDeletedOnDataManagerError(t, path.Join(badpath, "writetofile"), "", true, true) } func TestPutAndGetBlocks_ErrorDuringGetCollectionsBadHeapProfileFilename(t *testing.T) { - testOldBlocksNotDeletedOnDataManagerError(t, "", "/badheapprofilefile", true, true) + badpath := createBadPath(t) + defer destroyBadPath(t, badpath) + testOldBlocksNotDeletedOnDataManagerError(t, "", path.Join(badpath, "heapprofilefile"), true, true) } // Create some blocks and backdate some of them.