Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions excavator_fail/excavator_fail.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package fail

fail

/*
This is a non-compiling file that has been added to explicitly ensure that CI fails.
It also contains the command that caused the failure and its output.
Remove this file if debugging locally.

./godelw verify failed after updating godel plugins and assets

Command that caused error:
./godelw exec -- go fix ./init/cli ./init/cli/time ./init/main ./integration_test ./launcher/main ./launchlib

Output:
# github.com/palantir/go-java-launcher/launchlib
# [github.com/palantir/go-java-launcher/launchlib]
fix: applied 15 of 16 fixes; 6 files updated. (Re-run the command to apply more.)
Error: exit status 1

*/
4 changes: 2 additions & 2 deletions init/cli/lib.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ package cli

import (
"fmt"
"io/ioutil"

"os"
"os/exec"
"path/filepath"
Expand Down Expand Up @@ -95,7 +95,7 @@ func getServiceStatus(ctx cli.Context, loggers launchlib.ServiceLoggers) (*servi
}

func getCmdProcess(name string) (*int, *os.Process, error) {
pidBytes, err := ioutil.ReadFile(fmt.Sprintf(pidfileFormat, name))
pidBytes, err := os.ReadFile(fmt.Sprintf(pidfileFormat, name))
if err != nil {
if os.IsNotExist(err) {
return nil, nil, nil
Expand Down
5 changes: 3 additions & 2 deletions init/cli/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ package cli

import (
"fmt"
"io/ioutil"
"io/fs"

"os"
"path/filepath"
"strconv"
Expand Down Expand Up @@ -59,7 +60,7 @@ func startService(ctx cli.Context, notRunningCmds map[string]CommandContext) err
return errors.Wrapf(err, "unable to create pidfile directory.")
}

if err := ioutil.WriteFile(pidfile, []byte(strconv.Itoa(cmd.Command.Process.Pid)), 0644); err != nil {
if err := os.WriteFile(pidfile, []byte(strconv.Itoa(cmd.Command.Process.Pid)), 0644); err != nil {
return errors.Wrapf(err, "failed to save pid to file for command '%s'", name)
}
}
Expand Down
23 changes: 12 additions & 11 deletions integration_test/go_init_integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
"bytes"
"fmt"
"io"
"io/fs"
"io/ioutil"
"os"
"os/exec"
Expand Down Expand Up @@ -108,7 +109,7 @@ func TestInitStart_TruncatesStartupLogFile(t *testing.T) {
stringThatShouldDisappear := "this should disappear from the log file after starting"

require.NoError(t, os.MkdirAll(filepath.Dir(primaryOutputFile), 0755))
require.NoError(t, ioutil.WriteFile(primaryOutputFile, []byte(stringThatShouldDisappear), 0644))
require.NoError(t, os.WriteFile(primaryOutputFile, []byte(stringThatShouldDisappear), 0644))
result := runInit(t, "start")

assert.NotContains(t, result.startupLog, stringThatShouldDisappear)
Expand Down Expand Up @@ -280,7 +281,7 @@ func TestInitStart_TwoConfiguredZeroWrittenZeroRunning(t *testing.T) {
startupLog := readStartupLog(t)
assert.Contains(t, startupLog, "Using JAVA_HOME")
assert.Contains(t, startupLog, "main method")
sidecarStartupLogBytes, err := ioutil.ReadFile(subProcessOutputFile)
sidecarStartupLogBytes, err := os.ReadFile(subProcessOutputFile)
require.NoError(t, err)
sidecarStartupLog := string(sidecarStartupLogBytes)
assert.Contains(t, sidecarStartupLog, "Using JAVA_HOME")
Expand Down Expand Up @@ -310,7 +311,7 @@ func TestInitStart_TwoConfiguredOneWrittenZeroRunning(t *testing.T) {
startupLog := readStartupLog(t)
assert.Contains(t, startupLog, "Using JAVA_HOME")
assert.Contains(t, startupLog, "main method")
sidecarStartupLogBytes, err := ioutil.ReadFile(subProcessOutputFile)
sidecarStartupLogBytes, err := os.ReadFile(subProcessOutputFile)
require.NoError(t, err)
sidecarStartupLog := string(sidecarStartupLogBytes)
assert.Contains(t, sidecarStartupLog, "Using JAVA_HOME")
Expand All @@ -337,7 +338,7 @@ func TestInitStart_TwoConfiguredOneWrittenOneRunning(t *testing.T) {

assert.Equal(t, 0, result.exitCode)
time.Sleep(time.Second)
sidecarStartupLogBytes, err := ioutil.ReadFile(subProcessOutputFile)
sidecarStartupLogBytes, err := os.ReadFile(subProcessOutputFile)
require.NoError(t, err)
sidecarStartupLog := string(sidecarStartupLogBytes)
assert.Contains(t, sidecarStartupLog, "Using JAVA_HOME")
Expand Down Expand Up @@ -365,7 +366,7 @@ func TestInitStart_TwoConfiguredTwoWrittenZeroRunning(t *testing.T) {
startupLog := readStartupLog(t)
assert.Contains(t, startupLog, "Using JAVA_HOME")
assert.Contains(t, startupLog, "main method")
sidecarStartupLogBytes, err := ioutil.ReadFile(subProcessOutputFile)
sidecarStartupLogBytes, err := os.ReadFile(subProcessOutputFile)
require.NoError(t, err)
sidecarStartupLog := string(sidecarStartupLogBytes)
assert.Contains(t, sidecarStartupLog, "Using JAVA_HOME")
Expand All @@ -392,7 +393,7 @@ func TestInitStart_TwoConfiguredTwoWrittenOneRunning(t *testing.T) {

assert.Equal(t, 0, result.exitCode)
time.Sleep(time.Second)
sidecarStartupLogBytes, err := ioutil.ReadFile(subProcessOutputFile)
sidecarStartupLogBytes, err := os.ReadFile(subProcessOutputFile)
require.NoError(t, err)
sidecarStartupLog := string(sidecarStartupLogBytes)
assert.Contains(t, sidecarStartupLog, "Using JAVA_HOME")
Expand All @@ -418,7 +419,7 @@ func TestInitStatus_DoesNotTruncateStartupLogFile(t *testing.T) {
stringThatShouldRemain := "this should remain in the log file after running"

require.NoError(t, os.MkdirAll(filepath.Dir(primaryOutputFile), 0755))
require.NoError(t, ioutil.WriteFile(primaryOutputFile, []byte(stringThatShouldRemain), 0644))
require.NoError(t, os.WriteFile(primaryOutputFile, []byte(stringThatShouldRemain), 0644))
result := runInit(t, "status")

assert.Contains(t, result.startupLog, stringThatShouldRemain)
Expand Down Expand Up @@ -593,7 +594,7 @@ func TestInitStop_DoesNotTruncateStartupLogFile(t *testing.T) {
stringThatShouldRemain := "this should remain in the log file after running"

require.NoError(t, os.MkdirAll(filepath.Dir(primaryOutputFile), 0755))
require.NoError(t, ioutil.WriteFile(primaryOutputFile, []byte(stringThatShouldRemain), 0644))
require.NoError(t, os.WriteFile(primaryOutputFile, []byte(stringThatShouldRemain), 0644))
result := runInit(t, "stop")

assert.Contains(t, result.startupLog, stringThatShouldRemain)
Expand Down Expand Up @@ -859,15 +860,15 @@ func runInitWithClock(t *testing.T, clock time2.Clock, args ...string) <-chan in
}

func readStartupLog(t *testing.T) string {
startupLogBytes, err := ioutil.ReadFile(primaryOutputFile)
startupLogBytes, err := os.ReadFile(primaryOutputFile)
require.NoError(t, err)
return string(startupLogBytes)
}

func writePids(t *testing.T, pids servicePids) {
require.NoError(t, os.MkdirAll(pidfolder, 0755))
for name, pid := range pids {
require.NoError(t, ioutil.WriteFile(fmt.Sprintf(pidfileFormat, name), []byte(strconv.Itoa(pid)), 0644))
require.NoError(t, os.WriteFile(fmt.Sprintf(pidfileFormat, name), []byte(strconv.Itoa(pid)), 0644))
}
}

Expand All @@ -887,7 +888,7 @@ func readPids(t *testing.T) servicePids {
require.Len(t, parts, 2, "invalid pidfile format, does not have only a name and extension")
require.Equal(t, parts[1], "pid", "invalid pidfile format, does not end with .pid")

pidBytes, err := ioutil.ReadFile(path)
pidBytes, err := os.ReadFile(path)
require.NoError(t, err, "failed to read pidfile %s", path)
pid, err := strconv.Atoi(string(pidBytes))
require.NoError(t, err, "pidfile '%s', did not contain an integer", path)
Expand Down
7 changes: 4 additions & 3 deletions integration_test/go_java_launcher_integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ func TestComputeJVMHeapSize(t *testing.T) {
name: "computes heap as 10% of memory limit using heapPercentage",
numHostProcessors: 3,
memoryLimit: 10 * launchlib.BytesInMebibyte,
heapPercentage: toPointer(10.0),
heapPercentage: new(10.0),
expectedMaxHeapSize: 1 * launchlib.BytesInMebibyte,
},
} {
Expand Down Expand Up @@ -260,7 +260,7 @@ func runMultiProcess(t *testing.T, cmd *exec.Cmd) map[string]int {
require.NoError(t, err)

children := map[string]int{}
for _, child := range strings.Split(strings.TrimSpace(string(output)), "\n") {
for child := range strings.SplitSeq(strings.TrimSpace(string(output)), "\n") {
parts := strings.SplitN(strings.TrimSpace(child), " ", 2)
cpid, err := strconv.Atoi(parts[0])
cmdline := strings.TrimSpace(parts[1])
Expand Down Expand Up @@ -309,6 +309,7 @@ func TestMain(m *testing.M) {
os.Exit(m.Run())
}

//go:fix inline
func toPointer[T any](t T) *T {
return &t
return new(t)
}