docs/ftest/terminology/index.html

321 lines
9.7 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://docs.forgeflux.org/main.css">
<link rel="icon" href="https://forgeflux.org/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<title> Docs | Terminology </title>
</head>
<body>
<main>
<nav>
<a href="https:&#x2F;&#x2F;docs.forgeflux.org">
<img src="/logo.svg" alt="" />
</a>
<a href="javascript:void(0);" onclick="burger()" id="mobile" class="ms-Icon--GlobalNavButton"></a>
<div id="trees">
<input class="tree-toggle" type="checkbox" id="ftest"
checked />
<label class="tree-toggle-label" for="ftest">ftest</label>
<ul class="subtree">
<li >
<a href="https://docs.forgeflux.org/ftest/introduction/">Introducing ftest</a>
</li>
<li >
<a href="https://docs.forgeflux.org/ftest/cli/">Using ftest CLI</a>
</li>
<li class="active">
<a href="https://docs.forgeflux.org/ftest/terminology/">Terminology</a>
</li>
<ul id="toc">
<li><a href="https://docs.forgeflux.org/ftest/terminology/#specimen">Specimen</a>
</li>
<li><a href="https://docs.forgeflux.org/ftest/terminology/#job-manifest">Job Manifest</a>
</li>
<li><a href="https://docs.forgeflux.org/ftest/terminology/#control-repository">Control Repository</a>
<ul>
<li><a href="https://docs.forgeflux.org/ftest/terminology/#directory-structure">Directory structure</a></li>
<li><a href="https://docs.forgeflux.org/ftest/terminology/#specimen-docker-compose-yml">Specimen docker-compose.yml</a></li>
</ul>
</li>
<li><a href="https://docs.forgeflux.org/ftest/terminology/#result-repository">Result Repository</a>
</li>
</ul>
<li >
<a href="https://docs.forgeflux.org/ftest/quick-links/">Quick Links</a>
</li>
<li >
<a href="https://docs.forgeflux.org/ftest/ftest-toml/">ftest.toml</a>
</li>
<li >
<a href="https://docs.forgeflux.org/ftest/tests/">Tests</a>
</li>
<li >
<a href="https://docs.forgeflux.org/ftest/tutorial-new-specimen/">[Tutorial] Add new specimen</a>
</li>
</ul>
<input class="tree-toggle" type="checkbox" id="interface"
/>
<label class="tree-toggle-label" for="interface">Interface</label>
<ul class="subtree">
<li >
<a href="https://docs.forgeflux.org/Interface/about/">About Interface</a>
</li>
</ul>
<input class="tree-toggle" type="checkbox" id="northstar"
/>
<label class="tree-toggle-label" for="northstar">Northstar</label>
<ul class="subtree">
<li >
<a href="https://docs.forgeflux.org/Northstar/about/">About Northstar</a>
</li>
</ul>
<input class="tree-toggle" type="checkbox" id="updates"
/>
<label class="tree-toggle-label" for="updates">Updates</label>
<ul class="subtree">
<li >
<a href="https://docs.forgeflux.org/updates/december2020/">December 2020</a>
</li>
<li >
<a href="https://docs.forgeflux.org/updates/november2020/">November 2020</a>
</li>
<li >
<a href="https://docs.forgeflux.org/updates/october2020/">October 2020</a>
</li>
<li >
<a href="https://docs.forgeflux.org/updates/september2020/">September 2020</a>
</li>
</ul>
</div>
</nav>
<article>
<div id="on_right">
<span id="search-ico" class="ms-Icon--Search"></span>
</div>
<div class="search-container">
<input id="search" type="search" placeholder="Search as you type...">
<div class="search-results">
<div class="search-results__header"></div>
<ul class="search-results__items"></ul>
</div>
</div>
<div id="wrap">
<h2 id="specimen">Specimen&nbsp;<a class="anchor" href="#specimen">&#xE732;</a></h2>
<p>The target of a ftest test job. These are the ActityPub or ForgeFlux
implementations that must be tested for compliance.</p>
<h2 id="job-manifest">Job Manifest&nbsp;<a class="anchor" href="#job-manifest">&#xE732;</a></h2>
<p>or <code>ftest.toml</code></p>
<p>Contains information on the test environment, initialization code and
the test suites that has to be run on the <a href="/ftest/terminology.md#specimen">specimen</a></p>
<h2 id="control-repository">Control Repository&nbsp;<a class="anchor" href="#control-repository">&#xE732;</a></h2>
<ul>
<li>Flagship instance: <a href="https://forgeflux.org/ForgeFlux/ftest-control">git.batsense.net/ForgeFlux/ftest-control</a></li>
</ul>
<p>A Repository that houses <a href="https://docs.forgeflux.org/ftest/terminology/#job-manifest">job manifests</a>, and Infrastructure-as-Code
(docker-compose, currently) to spin up a test environment containing the
<a href="https://docs.forgeflux.org/ftest/terminology/#specimen">specimen</a>.</p>
<h3 id="directory-structure">Directory structure&nbsp;<a class="anchor" href="#directory-structure">&#xE732;</a></h3>
<p>Each specimen has it's own directory in the control repository:</p>
<pre data-lang="bash" style="background-color:#eff1f5;color:#4f5b66;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#bf616a;">23:50</span><span> atm@lab ftest-control ±|</span><span style="color:#bf616a;">gotosocial</span><span> ✗|</span><span style="color:#bf616a;"></span><span> tree
</span><span>
</span><span style="color:#bf616a;">└──</span><span> targets
</span><span> </span><span style="color:#bf616a;">├──</span><span> forgejo
</span><span> </span><span style="color:#bf616a;"></span><span>   ├── conf
</span><span> </span><span style="color:#bf616a;"></span><span>   │   └── app.ini
</span><span> </span><span style="color:#bf616a;"></span><span>   ├── docker-compose.yml
</span><span> </span><span style="color:#bf616a;"></span><span>   └── ftest.toml
</span><span> </span><span style="color:#bf616a;">└──</span><span> gotosocial
</span><span> </span><span style="color:#bf616a;">├──</span><span> data
</span><span> </span><span style="color:#bf616a;"></span><span>   └── config
</span><span> </span><span style="color:#bf616a;"></span><span>   └── config.yaml
</span><span> </span><span style="color:#bf616a;">├──</span><span> docker-compose.yaml
</span><span> </span><span style="color:#bf616a;">└──</span><span> Dockerfile
</span></code></pre>
<h3 id="specimen-docker-compose-yml">Specimen docker-compose.yml&nbsp;<a class="anchor" href="#specimen-docker-compose-yml">&#xE732;</a></h3>
<p>The control repository <em>MUST</em> contain a <code>docker-compose.yml</code> 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.</p>
<h2 id="result-repository">Result Repository&nbsp;<a class="anchor" href="#result-repository">&#xE732;</a></h2>
<p>Result repository contains the results of all the targets' jobs in JSON
format.</p>
</div>
</article>
</main>
<script type="text/javascript" src="https://docs.forgeflux.org/elasticlunr.min.js" defer></script>
<script type="text/javascript" src="https://docs.forgeflux.org/search_index.en.js" defer></script>
<script type="text/javascript" src="https://docs.forgeflux.org/js.js" defer></script>
</body>
</html>