Impl

mill.testkit.IntegrationTester.Impl
trait Impl extends AutoCloseable, IntegrationTesterBase

Attributes

Source
IntegrationTester.scala
Graph
Supertypes
trait AutoCloseable
class Object
trait Matchable
class Any
Known subtypes

Members list

Type members

Classlikes

class Meta(selector0: String)

Attributes

Source
IntegrationTester.scala
Supertypes
class Object
trait Matchable
class Any

Value members

Abstract methods

def millExecutable: Path

Attributes

Source
IntegrationTester.scala

Attributes

Source
IntegrationTester.scala

Concrete methods

override def close(): Unit

Tears down the workspace at the end of a test run, shutting down any in-process Mill background servers

Tears down the workspace at the end of a test run, shutting down any in-process Mill background servers

Attributes

Definition Classes
AutoCloseable
Source
IntegrationTester.scala
def debugLog: Boolean

Attributes

Source
IntegrationTester.scala
def eval(cmd: Shellable, env: Map[String, String], cwd: Path, stdin: ProcessInput, stdout: ProcessOutput, stderr: ProcessOutput, mergeErrIntoOut: Boolean, timeout: Long, check: Boolean, propagateEnv: Boolean, timeoutGracePeriod: Long): EvalResult

Evaluates a Mill command. Essentially the same as os.call, except it provides the Mill executable and some test flags and environment variables for you, and wraps the output in a IntegrationTester.EvalResult for convenience.

Evaluates a Mill command. Essentially the same as os.call, except it provides the Mill executable and some test flags and environment variables for you, and wraps the output in a IntegrationTester.EvalResult for convenience.

Attributes

Source
IntegrationTester.scala
def modifyFile(p: Path, f: String => String): Unit

Helper method to modify a file containing text during your test suite.

Helper method to modify a file containing text during your test suite.

Attributes

Source
IntegrationTester.scala
def out(selector0: String): Meta

Helpers to read the .json metadata files belonging to a particular task (specified by selector0) from the out/ folder.

Helpers to read the .json metadata files belonging to a particular task (specified by selector0) from the out/ folder.

Attributes

Source
IntegrationTester.scala
def prepEval(cmd: Shellable, env: Map[String, String], cwd: Path, stdin: ProcessInput, stdout: ProcessOutput, stderr: ProcessOutput, mergeErrIntoOut: Boolean, timeout: Long, check: Boolean, propagateEnv: Boolean, timeoutGracePeriod: Long): PreparedEval

Prepares to evaluate a Mill command. Run it with IntegrationTester.PreparedEval.run.

Prepares to evaluate a Mill command. Run it with IntegrationTester.PreparedEval.run.

Useful when you need the IntegrationTester.PreparedEval.clues.

Attributes

Source
IntegrationTester.scala

Inherited methods

def initWorkspace(): Unit

Initializes the workspace in preparation for integration testing

Initializes the workspace in preparation for integration testing

Attributes

Inherited from:
IntegrationTesterBase
Source
IntegrationTesterBase.scala
def millTestSuiteEnv: Map[String, String]

Attributes

Inherited from:
IntegrationTesterBase
Source
IntegrationTesterBase.scala
def removeProcessIdFile(): Unit

Remove any ID files to try and force them to exit

Remove any ID files to try and force them to exit

Attributes

Inherited from:
IntegrationTesterBase
Source
IntegrationTesterBase.scala

Inherited and Abstract methods

def cleanupProcessIdFile: Boolean

Attributes

Inherited from:
IntegrationTesterBase
Source
IntegrationTesterBase.scala
def propagateJavaHome: Boolean

Attributes

Inherited from:
IntegrationTesterBase
Source
IntegrationTesterBase.scala

Abstract fields

val daemonMode: Boolean

Attributes

Source
IntegrationTester.scala

Inherited fields

val workspacePath: Path

The working directory of the integration test suite, which is the root of the Mill build being tested. Contains the build.mill file, any application code, and the out/ folder containing the build output

The working directory of the integration test suite, which is the root of the Mill build being tested. Contains the build.mill file, any application code, and the out/ folder containing the build output

Each integration test that runs in the same baseWorkspacePath is given a new folder for isolation purposes; even though we try our best to clean up the processes and files from each Mill run, it still doesn't work 100%, and re-using the same folder can cause non-deterministic interference and flakiness

Attributes

Inherited from:
IntegrationTesterBase
Source
IntegrationTesterBase.scala

Inherited and Abstract fields

val baseWorkspacePath: Path

Attributes

Inherited from:
IntegrationTesterBase
Source
IntegrationTesterBase.scala