Check returned error values

Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
Evan Lezar 2023-08-25 16:48:11 +02:00
parent e0df157f70
commit 8a9f367067
10 changed files with 37 additions and 15 deletions

View File

@ -119,10 +119,10 @@ func run(c *cli.Context, opts *options) error {
}
defer output.Close()
if err != nil {
return err
if _, err := cfgToml.Save(output); err != nil {
return fmt.Errorf("failed to save config: %v", err)
}
cfgToml.Save(output)
return nil
}

View File

@ -85,8 +85,7 @@ func (m command) run(c *cli.Context, opts *flags.Options) error {
}
defer output.Close()
_, err = cfgToml.Save(output)
if err != nil {
if _, err = cfgToml.Save(output); err != nil {
return fmt.Errorf("failed to write output: %v", err)
}

View File

@ -52,7 +52,9 @@ func (i additionalInfo) UsesNVGPUModule() (uses bool, reason string) {
if ret != nvml.SUCCESS {
return false, fmt.Sprintf("failed to initialize nvml: %v", ret)
}
defer i.nvmllib.Shutdown()
defer func() {
_ = i.nvmllib.Shutdown()
}()
var names []string

View File

@ -22,7 +22,8 @@ func TestMaintainSpec(t *testing.T) {
spec := NewFileSpec(inputSpecPath).(*fileSpec)
spec.Load()
_, err := spec.Load()
require.NoError(t, err)
outputSpecPath := filepath.Join(moduleRoot, "test/output", f)
spec.path = outputSpecPath

View File

@ -18,6 +18,7 @@ package runtime
import (
"encoding/json"
"errors"
"fmt"
"strings"
@ -53,7 +54,9 @@ func (r rt) Run(argv []string) (rerr error) {
if rerr != nil {
r.logger.Errorf("%v", rerr)
}
r.logger.Reset()
if err := r.logger.Reset(); err != nil {
rerr = errors.Join(rerr, fmt.Errorf("failed to reset logger: %v", err))
}
}()
// We apply some config updates here to ensure that the config is valid in

View File

@ -36,7 +36,11 @@ func NewDriverDiscoverer(logger logger.Interface, driverRoot string, nvidiaCTKPa
if r := nvmllib.Init(); r != nvml.SUCCESS {
return nil, fmt.Errorf("failed to initialize NVML: %v", r)
}
defer nvmllib.Shutdown()
defer func() {
if r := nvmllib.Shutdown(); r != nvml.SUCCESS {
logger.Warningf("failed to shutdown NVML: %v", r)
}
}()
version, r := nvmllib.SystemGetDriverVersion()
if r != nvml.SUCCESS {

View File

@ -43,7 +43,11 @@ func newWSLDriverDiscoverer(logger logger.Interface, driverRoot string, nvidiaCT
if err != nil {
return nil, fmt.Errorf("failed to initialize dxcore: %v", err)
}
defer dxcore.Shutdown()
defer func() {
if err := dxcore.Shutdown(); err != nil {
logger.Warningf("failed to shutdown dxcore: %v", err)
}
}()
driverStorePaths := dxcore.GetDriverStorePaths()
if len(driverStorePaths) == 0 {

View File

@ -43,7 +43,11 @@ func (l *nvmllib) GetAllDeviceSpecs() ([]specs.Device, error) {
if r := l.nvmllib.Init(); r != nvml.SUCCESS {
return nil, fmt.Errorf("failed to initialize NVML: %v", r)
}
defer l.nvmllib.Shutdown()
defer func() {
if r := l.nvmllib.Shutdown(); r != nvml.SUCCESS {
l.logger.Warningf("failed to shutdown NVML: %v", r)
}
}()
gpuDeviceSpecs, err := l.getGPUDeviceSpecs()
if err != nil {

View File

@ -191,7 +191,11 @@ func (l *nvcdilib) getCudaVersion() (string, error) {
if r != nvml.SUCCESS {
return "", fmt.Errorf("failed to initialize nvml: %v", r)
}
defer l.nvmllib.Shutdown()
defer func() {
if r := l.nvmllib.Shutdown(); r != nvml.SUCCESS {
l.logger.Warningf("failed to shutdown NVML: %v", r)
}
}()
version, r := l.nvmllib.SystemGetDriverVersion()
if r != nvml.SUCCESS {

View File

@ -455,13 +455,14 @@ func installToolkitConfig(c *cli.Context, toolkitConfigPath string, nvidiaContai
config.Set(key, value)
}
_, err = config.WriteTo(targetConfig)
if err != nil {
if _, err := config.WriteTo(targetConfig); err != nil {
return fmt.Errorf("error writing config: %v", err)
}
os.Stdout.WriteString("Using config:\n")
config.WriteTo(os.Stdout)
if _, err = config.WriteTo(os.Stdout); err != nil {
log.Warningf("Failed to output config to STDOUT: %v", err)
}
return nil
}