docs/content/ftest/terminology.md

58 lines
1.6 KiB
Markdown

+++
title = "Terminology"
insert_anchor_links = "right"
weight = 3
+++
## Specimen
The target of a ftest test job. These are the ActityPub or ForgeFlux
implementations that must be tested for compliance.
## Job Manifest
or `ftest.toml`
Contains information on the test environment, initialization code and
the test suites that has to be run on the [specimen](/ftest/terminology.md#specimen)
## Control Repository
- Flagship instance: [git.batsense.net/ForgeFlux/ftest-control](https://forgeflux.org/ForgeFlux/ftest-control)
A Repository that houses [job manifests](@/ftest/terminology.md#job-manifest), and Infrastructure-as-Code
(docker-compose, currently) to spin up a test environment containing the
[specimen](@/ftest/terminology.md#specimen).
### Directory structure
Each specimen has it's own directory in the control repository:
```bash
23:50 atm@lab ftest-control ±|gotosocial ✗|→ tree
└── targets
├── forgejo
│   ├── conf
│   │   └── app.ini
│   ├── docker-compose.yml
│   └── ftest.toml
└── gotosocial
├── data
│   └── config
│   └── config.yaml
├── docker-compose.yaml
└── Dockerfile
```
### Specimen docker-compose.yml
The control repository _MUST_ contain a `docker-compose.yml` to spin up
the specimen. It may include configuration files in the same directory,
which to docker-compose file can rely on using bind mounts within the container.
## Result Repository
Result repository contains the results of all the targets' jobs in JSON
format.