diff --git a/prefork.go b/prefork.go index 11548e9f..c5afa5b8 100644 --- a/prefork.go +++ b/prefork.go @@ -21,7 +21,7 @@ const ( var ( testPreforkMaster = false - dummyChildCmd = "date" + dummyChildCmd = "go" ) // IsChild determines if the current process is a result of Prefork @@ -89,11 +89,11 @@ func (app *App) prefork(addr string, tlsconfig ...*tls.Config) (err error) { // When test prefork master, // just start the child process // a cmd on all os is best - // if runtime.GOOS == "windows" { - // cmd = exec.Command("cmd", "/C", dummyChildCmd) - // } else { - // cmd = exec.Command(dummyChildCmd) - // } + if runtime.GOOS == "windows" { + cmd = exec.Command("cmd", "/C", dummyChildCmd, "version") + } else { + cmd = exec.Command(dummyChildCmd, "version") + } } cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr diff --git a/prefork_test.go b/prefork_test.go index f761ea54..2e850dfa 100644 --- a/prefork_test.go +++ b/prefork_test.go @@ -1,40 +1,48 @@ package fiber -// func Test_App_Prefork_Child_Process(t *testing.T) { -// utils.AssertEqual(t, nil, os.Setenv(envPreforkChildKey, envPreforkChildVal)) -// defer os.Setenv(envPreforkChildKey, "") +import ( + "os" + "testing" + "time" -// app := New() -// app.Settings.DisableStartupMessage = true -// app.init() + utils "github.com/gofiber/utils" +) -// err := app.prefork("invalid") -// utils.AssertEqual(t, false, err == nil) +func Test_App_Prefork_Child_Process(t *testing.T) { + utils.AssertEqual(t, nil, os.Setenv(envPreforkChildKey, envPreforkChildVal)) + defer os.Setenv(envPreforkChildKey, "") -// go func() { -// time.Sleep(1000 * time.Millisecond) -// utils.AssertEqual(t, nil, app.Shutdown()) -// }() + app := New() + app.Settings.DisableStartupMessage = true + app.init() -// utils.AssertEqual(t, nil, app.prefork("127.0.0.1:")) -// } + err := app.prefork("invalid") + utils.AssertEqual(t, false, err == nil) -// func Test_App_Prefork_Main_Process(t *testing.T) { -// testPreforkMaster = true + go func() { + time.Sleep(1000 * time.Millisecond) + utils.AssertEqual(t, nil, app.Shutdown()) + }() -// app := New() -// app.Settings.DisableStartupMessage = true -// app.init() + utils.AssertEqual(t, nil, app.prefork("127.0.0.1:")) +} -// go func() { -// time.Sleep(1000 * time.Millisecond) -// utils.AssertEqual(t, nil, app.Shutdown()) -// }() +func Test_App_Prefork_Main_Process(t *testing.T) { + testPreforkMaster = true -// utils.AssertEqual(t, nil, app.prefork("127.0.0.1:")) + app := New() + app.Settings.DisableStartupMessage = true + app.init() -// dummyChildCmd = "invalid" + go func() { + time.Sleep(1000 * time.Millisecond) + utils.AssertEqual(t, nil, app.Shutdown()) + }() -// err := app.prefork("127.0.0.1:") -// utils.AssertEqual(t, false, err == nil) -// } + utils.AssertEqual(t, nil, app.prefork("127.0.0.1:")) + + dummyChildCmd = "invalid" + + err := app.prefork("127.0.0.1:") + utils.AssertEqual(t, false, err == nil) +}