v2.42.0-RC1 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2022 License: Apache-2.0, BSD-3-Clause, MIT Imports: 5 Imported by: 0



Package jars contains functionality for running jars for integration tests. The main entry point for running a jar is the Run function. The Process interface is used to interact with the running jars, and most importantly for shutting down the jars once finished with them.



This section is empty.


This section is empty.


This section is empty.


type Process

type Process interface {
	Kill() error

Process is an interface to allow wrapping os.Process with alternate behavior depending on OS.

func Run

func Run(dur time.Duration, jar string, args ...string) (Process, error)

Run runs a jar given an optional duration, a path to the jar, and any desired arguments to the jar. It returns a Process object which can be used to shut down the jar once finished.

The dur parameter is a duration for the timeout command which can be used to automatically kill the jar after a set duration, in order to avoid resource leakage. Timeout is described here: https://man7.org/linux/man-pages/man1/timeout.1.html. Durations will be translated from time.Duration to a string based on the number of minutes. If a duration is provided but the system is unable to use the timeout is unable to use the timeout command, this function will return an error. To indicate that a duration isn't needed, pass in 0.

type UnixProcess

type UnixProcess struct {
	// contains filtered or unexported fields

UnixProcess wraps os.Process and changes the Kill function to perform a more graceful shutdown, mainly for compatibility with the timeout command.

func (*UnixProcess) Kill

func (p *UnixProcess) Kill() error

Kill gracefully shuts down the process. It is recommended to use this instead of directly killing the process.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL