
Add a `-withBlender` CLI argument for a unit test, to aid in debugging T99438. Run the test with `go test ./internal/worker/find_blender/ -args -withBlender` to actually fail when the file association with `.blend` files cannot be found. Note that this doesn't rely on Blender being runnable, but it does rely on _something_ being associated with .blend files.
32 lines
765 B
Go
32 lines
765 B
Go
//go:build windows
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
package find_blender
|
|
|
|
import (
|
|
"flag"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
var withBlender = flag.Bool("withBlender", false, "run test that requires Blender to be installed")
|
|
|
|
// TestFindBlender is a "weak" test, which actually accepts both happy and unhappy flows.
|
|
// It would be too fragile to always require a file association to be set up with Blender.
|
|
func TestFindBlender(t *testing.T) {
|
|
exe, err := FindBlender()
|
|
if err != nil {
|
|
assert.Empty(t, exe)
|
|
|
|
if *withBlender {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
return
|
|
}
|
|
assert.NotEmpty(t, exe)
|
|
assert.NotContains(t, exe,
|
|
"blender-launcher",
|
|
"FindBlender should find blender.exe, not blender-launcher.exe")
|
|
}
|