From a6bf48f8db5e8a36fc71ef4a849964c528d6cde3 Mon Sep 17 00:00:00 2001 From: Mikko Ylinen Date: Fri, 20 Mar 2020 15:47:38 +0200 Subject: [PATCH] dpdkdrv: improve unit test coverage Add NewDevicePlugin() tests to improve test coverage. This also contributes to "input validation" (part of #321) that wasn't done properly before. Fixes: #325 Signed-off-by: Mikko Ylinen --- cmd/qat_plugin/dpdkdrv/dpdkdrv_test.go | 47 ++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/cmd/qat_plugin/dpdkdrv/dpdkdrv_test.go b/cmd/qat_plugin/dpdkdrv/dpdkdrv_test.go index 30d94049..55c3e419 100644 --- a/cmd/qat_plugin/dpdkdrv/dpdkdrv_test.go +++ b/cmd/qat_plugin/dpdkdrv/dpdkdrv_test.go @@ -63,6 +63,53 @@ func createTestFiles(prefix string, dirs []string, files map[string][]byte, syml return nil } +func TestNewDevicePlugin(t *testing.T) { + + tcases := []struct { + name string + dpdkDriver string + kernelVfDrivers string + expectedErr bool + }{ + { + name: "Wrong dpdkDriver", + dpdkDriver: "uio", + kernelVfDrivers: "c6xxvf", + expectedErr: true, + }, + { + name: "Correct dpdkDriver, wrong kernelVfDrivers", + dpdkDriver: "vfio-pci", + kernelVfDrivers: "c6xxxvf", + expectedErr: true, + }, + { + name: "Correct dpdkDriver, kernelVfDrivers separated wrong", + dpdkDriver: "vfio-pci", + kernelVfDrivers: "c6xxvf:d15xxvf", + expectedErr: true, + }, + { + name: "No errors", + dpdkDriver: "vfio-pci", + kernelVfDrivers: "c6xxvf,d15xxvf", + expectedErr: false, + }, + } + for _, tt := range tcases { + t.Run(tt.name, func(t *testing.T) { + _, err := NewDevicePlugin(1, tt.kernelVfDrivers, tt.dpdkDriver) + + if tt.expectedErr && err == nil { + t.Errorf("Test case '%s': expected error", tt.name) + } + if !tt.expectedErr && err != nil { + t.Errorf("Test case '%s': expected success", tt.name) + } + }) + } +} + func TestScanPrivate(t *testing.T) { tmpdir := fmt.Sprintf("/tmp/qatplugin-TestScanPrivate-%d", time.Now().Unix()) pciDrvDir := path.Join(tmpdir, "sys/bus/pci/drivers")