mirror of
https://github.com/httprunner/httprunner.git
synced 2026-08-28 11:36:56 +08:00
fix: improve error handling in cache.go by replacing fmt.Errorf with errors.Wrap for better context
This commit is contained in:
+10
-7
@@ -6,8 +6,11 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/httprunner/httprunner/v5/uixt/option"
|
"github.com/pkg/errors"
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
|
|
||||||
|
"github.com/httprunner/httprunner/v5/code"
|
||||||
|
"github.com/httprunner/httprunner/v5/uixt/option"
|
||||||
)
|
)
|
||||||
|
|
||||||
// CacheManager provides a generic cache management interface
|
// CacheManager provides a generic cache management interface
|
||||||
@@ -153,7 +156,7 @@ func (cm *CacheManager[T]) GetOrCreate(key string, factory func() (T, map[string
|
|||||||
item, metadata, err := factory()
|
item, metadata, err := factory()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
var zero T
|
var zero T
|
||||||
return zero, fmt.Errorf("failed to create item: %w", err)
|
return zero, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Store in cache
|
// Store in cache
|
||||||
@@ -271,7 +274,7 @@ func createXTDriverWithConfig(config DriverCacheConfig) (*XTDriver, error) {
|
|||||||
browserOpts := config.DeviceOpts.ToBrowserOptions().Options()
|
browserOpts := config.DeviceOpts.ToBrowserOptions().Options()
|
||||||
device, err = NewBrowserDevice(browserOpts...)
|
device, err = NewBrowserDevice(browserOpts...)
|
||||||
default:
|
default:
|
||||||
return nil, fmt.Errorf("unsupported platform: %s", platform)
|
return nil, errors.Wrapf(code.InvalidParamError, "unsupported platform: %s", platform)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Use default options, let NewXXDevice handle serial (empty or specified)
|
// Use default options, let NewXXDevice handle serial (empty or specified)
|
||||||
@@ -301,17 +304,17 @@ func createXTDriverWithConfig(config DriverCacheConfig) (*XTDriver, error) {
|
|||||||
device, err = NewBrowserDevice()
|
device, err = NewBrowserDevice()
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return nil, fmt.Errorf("unsupported platform: %s", platform)
|
return nil, errors.Wrapf(code.InvalidParamError, "unsupported platform: %s", platform)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to create device: %w", err)
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create driver
|
// Create driver
|
||||||
driver, err := device.NewDriver()
|
driver, err := device.NewDriver()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to create driver: %w", err)
|
return nil, errors.Wrap(err, "failed to create driver")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create XTDriver with AI options
|
// Create XTDriver with AI options
|
||||||
@@ -326,7 +329,7 @@ func createXTDriverWithConfig(config DriverCacheConfig) (*XTDriver, error) {
|
|||||||
|
|
||||||
driverExt, err := NewXTDriver(driver, aiOpts...)
|
driverExt, err := NewXTDriver(driver, aiOpts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to create XTDriver: %w", err)
|
return nil, errors.Wrap(err, "failed to create XTDriver")
|
||||||
}
|
}
|
||||||
return driverExt, nil
|
return driverExt, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user