@@ -19,13 +19,14 @@ package image
1919import (
2020 "fmt"
2121 "testing"
22+ "time"
2223
2324 "github.com/containerd/nerdctl/mod/tigron/require"
2425 "github.com/containerd/nerdctl/mod/tigron/test"
2526
2627 "github.com/containerd/nerdctl/v2/pkg/testutil"
2728 "github.com/containerd/nerdctl/v2/pkg/testutil/nerdtest"
28- "github.com/containerd/nerdctl/v2/pkg/testutil/testregistry "
29+ "github.com/containerd/nerdctl/v2/pkg/testutil/nerdtest/registry "
2930)
3031
3132func TestImageConvert (t * testing.T ) {
@@ -100,7 +101,11 @@ func TestImageConvertNydusVerify(t *testing.T) {
100101
101102 const remoteImageKey = "remoteImageKey"
102103
103- var registry * testregistry.RegistryServer
104+ var reg * registry.Server
105+
106+ // It is unclear what is problematic here, but we use the kernel version to discriminate against EL
107+ // See: https://github.com/containerd/nerdctl/issues/4332
108+ testutil .RequireKernelVersion (t , ">= 6.0.0-0" )
104109
105110 testCase := & test.Case {
106111 Require : require .All (
@@ -110,33 +115,39 @@ func TestImageConvertNydusVerify(t *testing.T) {
110115 require .Binary ("nydusd" ),
111116 require .Not (nerdtest .Docker ),
112117 nerdtest .Rootful ,
118+ nerdtest .Registry ,
113119 ),
114120 Setup : func (data test.Data , helpers test.Helpers ) {
115121 helpers .Ensure ("pull" , "--quiet" , testutil .CommonImage )
116- base := testutil .NewBase (t )
117- registry = testregistry .NewWithNoAuth (base , 0 , false )
118- data .Labels ().Set (remoteImageKey , fmt .Sprintf ("%s:%d/nydusd-image:test" , "localhost" , registry .Port ))
122+ reg = nerdtest .RegistryWithNoAuth (data , helpers , 0 , false )
123+ reg .Setup (data , helpers )
124+
125+ data .Labels ().Set (remoteImageKey , fmt .Sprintf ("%s:%d/nydusd-image:test" , "localhost" , reg .Port ))
119126 helpers .Ensure ("image" , "convert" , "--nydus" , "--oci" , testutil .CommonImage , data .Identifier ("converted-image" ))
120127 helpers .Ensure ("tag" , data .Identifier ("converted-image" ), data .Labels ().Get (remoteImageKey ))
121128 helpers .Ensure ("push" , data .Labels ().Get (remoteImageKey ))
122129 },
123130 Cleanup : func (data test.Data , helpers test.Helpers ) {
124131 helpers .Anyhow ("rmi" , "-f" , data .Identifier ("converted-image" ))
125- if registry != nil {
126- registry .Cleanup (nil )
132+ if reg != nil {
133+ reg .Cleanup (data , helpers )
127134 helpers .Anyhow ("rmi" , "-f" , data .Labels ().Get (remoteImageKey ))
128135 }
129136 },
130137 Command : func (data test.Data , helpers test.Helpers ) test.TestableCommand {
131- return helpers .Custom ("nydusify" ,
138+ cmd := helpers .Custom ("nydusify" ,
132139 "check" ,
140+ "--work-dir" ,
141+ data .Temp ().Dir ("nydusify-temp" ),
133142 "--source" ,
134143 testutil .CommonImage ,
135144 "--target" ,
136145 data .Labels ().Get (remoteImageKey ),
137146 "--source-insecure" ,
138147 "--target-insecure" ,
139148 )
149+ cmd .WithTimeout (30 * time .Second )
150+ return cmd
140151 },
141152 Expected : test .Expects (0 , nil , nil ),
142153 }
0 commit comments