Skip to content

Installation

Getting Started with ATC

Lint Check codecov

Building from source

cd MyAwesomeProject
git submodule add https://github.com/MaximDevoir/ATC.git Plugins/ATC
git add .gitmodules
git commit -m "Add ATC module"

Add ATC plugin to your .uproject or .uplugin

{
  "Plugins": [
    {
      "Name": "ATC",
      "Enabled": true
    }
  ]
}

Add ATC to your *.Build.cs file.

PublicDependencyModuleNames.AddRange(new string[] {
  "ATC"
});

Getting Started with ATO

Release Test codecov

ATO is a TypeScript-only project and requires a Node environment.

Install

npm install @maximdevoir/ato

Usage

import {ATO, Orchestrator, OrchestratorMode} from '@maximdevoir/ato';

const e2e = ATO.fromCommandLine();
const dedicated = new Orchestrator(OrchestratorMode.DedicatedServer).addTests('MyAwesomeProject');

e2e.addOrchestrator(dedicated);

const code = await e2e.start();

process.exit(code);

Code Coverage

Code Coverage is not supported, and you should expect bugs. Primarily, the spawned processes don't close and must be manually closed or wait for the ATO timeout.

Code coverage is available only on Windows. It requires OpenCppCoverage and the lcov exporter from covlcov.

ATI

Awesome Test Insights is a lightweight TCP event router for ATC coordinator telemetry.

What it does

  • Receives published events from the coordinator.
  • Delivers those events out to consumers.

Built-in consumers

  • NDJSONConsumer – appends events to an .ndjson file from a test session. Stored in Saved/Logs/ATI/{coordinator mode}.
  • TerminalConsumer – logs the events to the terminal in a human-readable way.
  • InMemoryConsumer – useful in tests.
  • ATISimpleReporter is used to condense the events from a session into one easily traversible snapshot object.