29 lines
782 B
Go
29 lines
782 B
Go
//go:build rvbox_native_test
|
|
|
|
package windows
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
// NativeTestContextFailures accepts only the two active elevated preparation
|
|
// stages. It is compiled into the disposable native-fixture binary, never a
|
|
// release binary, and is applied before a process is launched.
|
|
func NativeTestContextFailures(raw string) (map[ExecutionContext]bool, error) {
|
|
if raw == "" {
|
|
return nil, nil
|
|
}
|
|
result := make(map[ExecutionContext]bool)
|
|
for _, item := range strings.Split(raw, ",") {
|
|
contextName := ExecutionContext(strings.TrimSpace(item))
|
|
switch contextName {
|
|
case ContextActiveUserElevated, ContextActiveSystem:
|
|
result[contextName] = true
|
|
default:
|
|
return nil, fmt.Errorf("unsupported native test context %q", item)
|
|
}
|
|
}
|
|
return result, nil
|
|
}
|