@@ -24,17 +24,14 @@ import (
2424 "github.com/stretchr/testify/require"
2525
2626 "github.com/NVIDIA/nvidia-container-toolkit/internal/discover"
27- "github.com/NVIDIA/nvidia-container-toolkit/internal/logger"
2827 "github.com/NVIDIA/nvidia-container-toolkit/internal/lookup"
29-
30- "github.com/NVIDIA/nvidia-container-toolkit/internal/platform-support/tegra/csv"
3128)
3229
3330func TestDiscovererFromCSVFiles (t * testing.T ) {
3431 logger , _ := testlog .NewNullLogger ()
3532 testCases := []struct {
3633 description string
37- moutSpecs map [csv. MountSpecType ][] string
34+ moutSpecs MountSpecPathsByType
3835 ignorePatterns []string
3936 symlinkLocator lookup.Locator
4037 symlinkChainLocator lookup.Locator
@@ -49,7 +46,7 @@ func TestDiscovererFromCSVFiles(t *testing.T) {
4946 // TODO: This current resolves to two mounts that are the same.
5047 // These are deduplicated at a later stage. We could consider deduplicating earlier in the pipeline.
5148 description : "symlink is resolved to target; mounts and symlink are created" ,
52- moutSpecs : map [csv. MountSpecType ][] string {
49+ moutSpecs : MountSpecPathsByType {
5350 "lib" : {"/usr/lib/aarch64-linux-gnu/tegra/libv4l2_nvargus.so" },
5451 "sym" : {"/usr/lib/aarch64-linux-gnu/libv4l/plugins/nv/libv4l2_nvargus.so" },
5552 },
@@ -105,7 +102,7 @@ func TestDiscovererFromCSVFiles(t *testing.T) {
105102 // TODO: This current resolves to two mounts that are the same.
106103 // These are deduplicated at a later stage. We could consider deduplicating earlier in the pipeline.
107104 description : "single glob filter does not remove symlink mounts" ,
108- moutSpecs : map [csv. MountSpecType ][] string {
105+ moutSpecs : MountSpecPathsByType {
109106 "lib" : {"/usr/lib/aarch64-linux-gnu/tegra/libv4l2_nvargus.so" },
110107 "sym" : {"/usr/lib/aarch64-linux-gnu/libv4l/plugins/nv/libv4l2_nvargus.so" },
111108 },
@@ -160,7 +157,7 @@ func TestDiscovererFromCSVFiles(t *testing.T) {
160157 },
161158 {
162159 description : "** filter removes symlink mounts" ,
163- moutSpecs : map [csv. MountSpecType ][] string {
160+ moutSpecs : MountSpecPathsByType {
164161 "lib" : {"/usr/lib/aarch64-linux-gnu/tegra/libv4l2_nvargus.so" },
165162 "sym" : {"/usr/lib/aarch64-linux-gnu/libv4l/plugins/nv/libv4l2_nvargus.so" },
166163 },
@@ -186,19 +183,20 @@ func TestDiscovererFromCSVFiles(t *testing.T) {
186183 hookCreator := discover .NewHookCreator ()
187184 for _ , tc := range testCases {
188185 t .Run (tc .description , func (t * testing.T ) {
189- defer setGetTargetsFromCSVFiles (tc .moutSpecs )()
190-
191- o := tegraOptions {
186+ o := options {
192187 logger : logger ,
193188 hookCreator : hookCreator ,
194- csvFiles : []string {"dummy" },
195- ignorePatterns : tc .ignorePatterns ,
196189 symlinkLocator : tc .symlinkLocator ,
197190 symlinkChainLocator : tc .symlinkChainLocator ,
198191 resolveSymlink : tc .symlinkResolver ,
192+
193+ mountSpecs : Transform (
194+ tc .moutSpecs ,
195+ IgnoreSymlinkMountSpecsByPattern (tc .ignorePatterns ... ),
196+ ),
199197 }
200198
201- d , err := o .newDiscovererFromCSVFiles ( )
199+ d , err := o .newDiscovererFromMountSpecs ( o . mountSpecs . MountSpecPathsByType () )
202200 require .ErrorIs (t , err , tc .expectedError )
203201
204202 hooks , err := d .Hooks ()
@@ -212,14 +210,3 @@ func TestDiscovererFromCSVFiles(t *testing.T) {
212210 })
213211 }
214212}
215-
216- func setGetTargetsFromCSVFiles (override map [csv.MountSpecType ][]string ) func () {
217- original := getTargetsFromCSVFiles
218- getTargetsFromCSVFiles = func (logger logger.Interface , files []string ) map [csv.MountSpecType ][]string {
219- return override
220- }
221-
222- return func () {
223- getTargetsFromCSVFiles = original
224- }
225- }
0 commit comments