77 "github.com/opencontainers/runtime-spec/specs-go"
88 "github.com/stretchr/testify/require"
99
10+ "github.com/NVIDIA/nvidia-container-toolkit/internal/config"
1011 "github.com/NVIDIA/nvidia-container-toolkit/internal/config/image"
1112)
1213
@@ -15,7 +16,7 @@ func TestGetNvidiaConfig(t *testing.T) {
1516 description string
1617 env map [string ]string
1718 privileged bool
18- hookConfig * HookConfig
19+ hookConfig * hookConfig
1920 expectedConfig * nvidiaConfig
2021 expectedPanic bool
2122 }{
@@ -394,8 +395,10 @@ func TestGetNvidiaConfig(t *testing.T) {
394395 image .EnvVarNvidiaDriverCapabilities : "all" ,
395396 },
396397 privileged : true ,
397- hookConfig : & HookConfig {
398- SupportedDriverCapabilities : "video,display" ,
398+ hookConfig : & hookConfig {
399+ Config : & config.Config {
400+ SupportedDriverCapabilities : "video,display" ,
401+ },
399402 },
400403 expectedConfig : & nvidiaConfig {
401404 Devices : []string {"all" },
@@ -409,8 +412,10 @@ func TestGetNvidiaConfig(t *testing.T) {
409412 image .EnvVarNvidiaDriverCapabilities : "video,display" ,
410413 },
411414 privileged : true ,
412- hookConfig : & HookConfig {
413- SupportedDriverCapabilities : "video,display,compute,utility" ,
415+ hookConfig : & hookConfig {
416+ Config : & config.Config {
417+ SupportedDriverCapabilities : "video,display,compute,utility" ,
418+ },
414419 },
415420 expectedConfig : & nvidiaConfig {
416421 Devices : []string {"all" },
@@ -423,8 +428,10 @@ func TestGetNvidiaConfig(t *testing.T) {
423428 image .EnvVarNvidiaVisibleDevices : "all" ,
424429 },
425430 privileged : true ,
426- hookConfig : & HookConfig {
427- SupportedDriverCapabilities : "video,display,utility,compute" ,
431+ hookConfig : & hookConfig {
432+ Config : & config.Config {
433+ SupportedDriverCapabilities : "video,display,utility,compute" ,
434+ },
428435 },
429436 expectedConfig : & nvidiaConfig {
430437 Devices : []string {"all" },
@@ -438,9 +445,11 @@ func TestGetNvidiaConfig(t *testing.T) {
438445 "DOCKER_SWARM_RESOURCE" : "GPU1,GPU2" ,
439446 },
440447 privileged : true ,
441- hookConfig : & HookConfig {
442- SwarmResource : "DOCKER_SWARM_RESOURCE" ,
443- SupportedDriverCapabilities : "video,display,utility,compute" ,
448+ hookConfig : & hookConfig {
449+ Config : & config.Config {
450+ SwarmResource : "DOCKER_SWARM_RESOURCE" ,
451+ SupportedDriverCapabilities : "video,display,utility,compute" ,
452+ },
444453 },
445454 expectedConfig : & nvidiaConfig {
446455 Devices : []string {"GPU1" , "GPU2" },
@@ -454,9 +463,11 @@ func TestGetNvidiaConfig(t *testing.T) {
454463 "DOCKER_SWARM_RESOURCE" : "GPU1,GPU2" ,
455464 },
456465 privileged : true ,
457- hookConfig : & HookConfig {
458- SwarmResource : "NOT_DOCKER_SWARM_RESOURCE,DOCKER_SWARM_RESOURCE" ,
459- SupportedDriverCapabilities : "video,display,utility,compute" ,
466+ hookConfig : & hookConfig {
467+ Config : & config.Config {
468+ SwarmResource : "NOT_DOCKER_SWARM_RESOURCE,DOCKER_SWARM_RESOURCE" ,
469+ SupportedDriverCapabilities : "video,display,utility,compute" ,
470+ },
460471 },
461472 expectedConfig : & nvidiaConfig {
462473 Devices : []string {"GPU1" , "GPU2" },
@@ -470,14 +481,14 @@ func TestGetNvidiaConfig(t *testing.T) {
470481 image .WithEnvMap (tc .env ),
471482 )
472483 // Wrap the call to getNvidiaConfig() in a closure.
473- var config * nvidiaConfig
484+ var cfg * nvidiaConfig
474485 getConfig := func () {
475- hookConfig := tc .hookConfig
476- if hookConfig == nil {
477- defaultConfig , _ := getDefaultHookConfig ()
478- hookConfig = & defaultConfig
486+ hookCfg := tc .hookConfig
487+ if hookCfg == nil {
488+ defaultConfig , _ := config . GetDefault ()
489+ hookCfg = & hookConfig { defaultConfig }
479490 }
480- config = getNvidiaConfig (hookConfig , image , tc .privileged )
491+ cfg = hookCfg . getNvidiaConfig (image , tc .privileged )
481492 }
482493
483494 // For any tests that are expected to panic, make sure they do.
@@ -491,18 +502,18 @@ func TestGetNvidiaConfig(t *testing.T) {
491502
492503 // And start comparing the test results to the expected results.
493504 if tc .expectedConfig == nil {
494- require .Nil (t , config , tc .description )
505+ require .Nil (t , cfg , tc .description )
495506 return
496507 }
497508
498- require .NotNil (t , config , tc .description )
509+ require .NotNil (t , cfg , tc .description )
499510
500- require .Equal (t , tc .expectedConfig .Devices , config .Devices )
501- require .Equal (t , tc .expectedConfig .MigConfigDevices , config .MigConfigDevices )
502- require .Equal (t , tc .expectedConfig .MigMonitorDevices , config .MigMonitorDevices )
503- require .Equal (t , tc .expectedConfig .DriverCapabilities , config .DriverCapabilities )
511+ require .Equal (t , tc .expectedConfig .Devices , cfg .Devices )
512+ require .Equal (t , tc .expectedConfig .MigConfigDevices , cfg .MigConfigDevices )
513+ require .Equal (t , tc .expectedConfig .MigMonitorDevices , cfg .MigMonitorDevices )
514+ require .Equal (t , tc .expectedConfig .DriverCapabilities , cfg .DriverCapabilities )
504515
505- require .ElementsMatch (t , tc .expectedConfig .Requirements , config .Requirements )
516+ require .ElementsMatch (t , tc .expectedConfig .Requirements , cfg .Requirements )
506517 })
507518 }
508519}
@@ -612,10 +623,11 @@ func TestDeviceListSourcePriority(t *testing.T) {
612623 ),
613624 image .WithMounts (tc .mountDevices ),
614625 )
615- hookConfig , _ := getDefaultHookConfig ()
616- hookConfig .AcceptEnvvarUnprivileged = tc .acceptUnprivileged
617- hookConfig .AcceptDeviceListAsVolumeMounts = tc .acceptMounts
618- devices = getDevices (& hookConfig , image , tc .privileged )
626+ defaultConfig , _ := config .GetDefault ()
627+ cfg := & hookConfig {defaultConfig }
628+ cfg .AcceptEnvvarUnprivileged = tc .acceptUnprivileged
629+ cfg .AcceptDeviceListAsVolumeMounts = tc .acceptMounts
630+ devices = cfg .getDevices (image , tc .privileged )
619631 }
620632
621633 // For all other tests, just grab the devices and check the results
@@ -940,8 +952,10 @@ func TestGetDriverCapabilities(t *testing.T) {
940952 t .Run (tc .description , func (t * testing.T ) {
941953 var capabilities string
942954
943- c := HookConfig {
944- SupportedDriverCapabilities : tc .supportedCapabilities ,
955+ c := hookConfig {
956+ Config : & config.Config {
957+ SupportedDriverCapabilities : tc .supportedCapabilities ,
958+ },
945959 }
946960
947961 image , _ := image .New (
0 commit comments