docs/content/ftest/introduction.md

1.8 KiB

+++ title = "Introducing ftest" insert_anchor_links = "right" weight = 1 +++

ftest is a compliance checking tool that is similar to matrix-org/sytest but for ActivityPub and ForgeFed.

An instance (will be) is hosted by ForgeFlux, that is run on renewable energy.

Mechanism

  1. New jobs are fetched from the control repository. At any given time, ftest will run only one job. Therefore, each commit on the control repository must modify one specimen only.
  2. TODO: create ftest Docker network (right now, this is done by hand)
  3. The specimen test environment is deployed using docker-compose.yml available in the test network. The specimen might have dependency services (like a database or a chase), but the specimen service should be added to the ftest network.
  4. Get a list of initialization workflows from ftest.toml and run them sequentially.
  5. Run test suites sequentially. A test suite might contain more than one tests, all of them are launched in parallel. They are added to the ftest Docker net by the ftest server.
  6. Wait for tests from previous test to run to completion, collect logs and delete containers. And run next test suite.
  7. Aggregate logs and write to result repository.
  8. Push result repository.
  9. Wait for next test job.