зеркало из https://github.com/microsoft/docker.git
Add more overlay tests and benchmarks
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
This commit is contained in:
Родитель
8b0441d42c
Коммит
246e993031
|
@ -15,7 +15,6 @@ import (
|
|||
|
||||
"github.com/docker/docker/daemon/graphdriver"
|
||||
"github.com/docker/docker/pkg/archive"
|
||||
"github.com/docker/docker/pkg/chrootarchive"
|
||||
"github.com/docker/docker/pkg/idtools"
|
||||
|
||||
"github.com/docker/docker/pkg/mount"
|
||||
|
@ -426,7 +425,7 @@ func (d *Driver) ApplyDiff(id string, parent string, diff archive.Reader) (size
|
|||
}
|
||||
|
||||
options := &archive.TarOptions{UIDMaps: d.uidMaps, GIDMaps: d.gidMaps}
|
||||
if size, err = chrootarchive.ApplyUncompressedLayer(tmpRootDir, diff, options); err != nil {
|
||||
if size, err = graphdriver.ApplyUncompressedLayer(tmpRootDir, diff, options); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
|
|
|
@ -5,9 +5,17 @@ package overlay
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/docker/docker/daemon/graphdriver"
|
||||
"github.com/docker/docker/daemon/graphdriver/graphtest"
|
||||
"github.com/docker/docker/pkg/archive"
|
||||
)
|
||||
|
||||
func init() {
|
||||
// Do not sure chroot to speed run time and allow archive
|
||||
// errors or hangs to be debugged directly from the test process.
|
||||
graphdriver.ApplyUncompressedLayer = archive.ApplyUncompressedLayer
|
||||
}
|
||||
|
||||
// This avoids creating a new driver for each test if all tests are run
|
||||
// Make sure to put new tests between TestOverlaySetup and TestOverlayTeardown
|
||||
func TestOverlaySetup(t *testing.T) {
|
||||
|
@ -26,6 +34,56 @@ func TestOverlayCreateSnap(t *testing.T) {
|
|||
graphtest.DriverTestCreateSnap(t, "overlay")
|
||||
}
|
||||
|
||||
func TestOverlay50LayerRead(t *testing.T) {
|
||||
graphtest.DriverTestDeepLayerRead(t, 50, "overlay")
|
||||
}
|
||||
|
||||
func TestOverlayDiffApply10Files(t *testing.T) {
|
||||
graphtest.DriverTestDiffApply(t, 10, "overlay")
|
||||
}
|
||||
|
||||
func TestOverlayChanges(t *testing.T) {
|
||||
graphtest.DriverTestChanges(t, "overlay")
|
||||
}
|
||||
|
||||
func TestOverlayTeardown(t *testing.T) {
|
||||
graphtest.PutDriver(t)
|
||||
}
|
||||
|
||||
// Benchmarks should always setup new driver
|
||||
|
||||
func BenchmarkExists(b *testing.B) {
|
||||
graphtest.DriverBenchExists(b, "overlay")
|
||||
}
|
||||
|
||||
func BenchmarkGetEmpty(b *testing.B) {
|
||||
graphtest.DriverBenchGetEmpty(b, "overlay")
|
||||
}
|
||||
|
||||
func BenchmarkDiffBase(b *testing.B) {
|
||||
graphtest.DriverBenchDiffBase(b, "overlay")
|
||||
}
|
||||
|
||||
func BenchmarkDiffSmallUpper(b *testing.B) {
|
||||
graphtest.DriverBenchDiffN(b, 10, 10, "overlay")
|
||||
}
|
||||
|
||||
func BenchmarkDiff10KFileUpper(b *testing.B) {
|
||||
graphtest.DriverBenchDiffN(b, 10, 10000, "overlay")
|
||||
}
|
||||
|
||||
func BenchmarkDiff10KFilesBottom(b *testing.B) {
|
||||
graphtest.DriverBenchDiffN(b, 10000, 10, "overlay")
|
||||
}
|
||||
|
||||
func BenchmarkDiffApply100(b *testing.B) {
|
||||
graphtest.DriverBenchDiffApplyN(b, 100, "overlay")
|
||||
}
|
||||
|
||||
func BenchmarkDiff20Layers(b *testing.B) {
|
||||
graphtest.DriverBenchDeepLayerDiff(b, 20, "overlay")
|
||||
}
|
||||
|
||||
func BenchmarkRead20Layers(b *testing.B) {
|
||||
graphtest.DriverBenchDeepLayerRead(b, 20, "overlay")
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче