| 1 | //go:build windows |
| 2 | |
| 3 | package proc |
| 4 | |
| 5 | import "testing" |
| 6 | |
| 7 | func TestCommandIsHiddenAndVisibleCommandOptsOut(t *testing.T) { |
| 8 | background := Command("cmd.exe", "/c", "exit", "0") |
| 9 | if background.SysProcAttr == nil || !background.SysProcAttr.HideWindow { |
| 10 | t.Fatal("background command is not hidden") |
| 11 | } |
| 12 | if background.SysProcAttr.CreationFlags&createNoWindow == 0 { |
| 13 | t.Fatal("background command does not set CREATE_NO_WINDOW") |
| 14 | } |
| 15 | |
| 16 | visible := VisibleCommand("notepad.exe") |
| 17 | if visible.SysProcAttr != nil && (visible.SysProcAttr.HideWindow || visible.SysProcAttr.CreationFlags&createNoWindow != 0) { |
| 18 | t.Fatal("visible command unexpectedly suppresses its window") |
| 19 | } |
| 20 | } |
| 21 |