github.com/getgauge/gauge@v1.6.9/runner/runner_test.go (about) 1 /*---------------------------------------------------------------- 2 * Copyright (c) ThoughtWorks, Inc. 3 * Licensed under the Apache License, Version 2.0 4 * See LICENSE in the project root for license information. 5 *----------------------------------------------------------------*/ 6 7 package runner 8 9 import ( 10 "os" 11 "reflect" 12 "strings" 13 "testing" 14 15 "github.com/getgauge/common" 16 ) 17 18 func TestGetCleanEnvRemovesGAUGE_INTERNAL_PORTAndSetsPortNumber(t *testing.T) { 19 HELLO := "HELLO" 20 portVariable := common.GaugeInternalPortEnvName + "=1234" 21 PORT_NAME_WITH_EXTRA_WORD := "b" + common.GaugeInternalPortEnvName 22 PORT_NAME_WITH_SPACES := " " + common.GaugeInternalPortEnvName + " " 23 env := []string{HELLO, common.GaugeInternalPortEnvName + "=", common.GaugeInternalPortEnvName, 24 PORT_NAME_WITH_SPACES, PORT_NAME_WITH_EXTRA_WORD} 25 want := []string{HELLO, portVariable, portVariable, portVariable, PORT_NAME_WITH_EXTRA_WORD} 26 got := getCleanEnv("1234", env, false, []string{}) 27 28 if !reflect.DeepEqual(got, want) { 29 t.Errorf("Did not clean env.\n\tWant: %v\n\tGot: %v", want, got) 30 } 31 } 32 33 func TestGetCleanEnvWithDebugging(t *testing.T) { 34 env := getCleanEnv("1234", []string{}, true, []string{}) 35 36 if env[1] != "debugging=true" { 37 t.Errorf("getCleanEnv failed. Did not add debugging env") 38 } 39 } 40 41 func TestGetCleanEnvAddsToPath(t *testing.T) { 42 env := getCleanEnv("1234", []string{"PATH=PATH"}, false, []string{"path1", "path2"}) 43 44 want := "path1" + string(os.PathListSeparator) + "path2" 45 if !strings.Contains(env[0], want) { 46 t.Errorf("getCleanEnv failed. Did not append to path.\n\tWanted PATH to contain: `%s`", want) 47 } 48 }