Sybren A. Stüvel 2965856aa3 Worker: add test flag to enable Blender-dependent test
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.
2022-07-05 10:01:10 +02:00

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")
}