1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Clean up better from previous unit-test runs

This makes sure we unmount existing mounts (as well as removing the
devmapper devices), and it fails with proper logs rather than just
panic()ing.
This commit is contained in:
Alexander Larsson 2013-10-08 14:54:00 +02:00 committed by Michael Crosby
parent b440ec0136
commit e7986da531

View file

@ -100,11 +100,25 @@ func removeDev(name string) {
syscall.Close(fd)
}
if err := devmapper.RemoveDevice(name); err != nil {
panic(fmt.Errorf("Unable to remove existing device %s: %s", name, err))
log.Fatalf("Unable to remove device %s needed to get a freash unit test environment", name)
}
}
func cleanupDevMapper() {
// Unmount any leftover mounts from previous unit test runs
if data, err := ioutil.ReadFile("/proc/mounts"); err == nil {
for _, line := range strings.Split(string(data), "\n") {
cols := strings.Split(line, " ")
if len(cols) >= 2 && strings.HasPrefix(cols[0], "/dev/mapper/docker-unit-tests-devices") {
err = syscall.Unmount(cols[1], 0)
if err != nil {
log.Fatalf("Unable to unmount %s needed to get a freash unit test environment: %s", cols[1], err)
}
}
}
}
// Remove any leftover devmapper devices from previous unit run tests
infos, _ := ioutil.ReadDir("/dev/mapper")
if infos != nil {
hasPool := false