docs/ftest/ftest-toml/index.html

312 lines
8.5 KiB
HTML
Raw Normal View History

2023-10-02 00:28:03 +05:30
<!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 | ftest.toml </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 >
2023-10-05 02:48:19 +05:30
<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>
2023-10-02 00:28:03 +05:30
</li>
<li >
<a href="https://docs.forgeflux.org/ftest/terminology/">Terminology</a>
</li>
<li >
<a href="https://docs.forgeflux.org/ftest/quick-links/">Quick Links</a>
</li>
<li class="active">
<a href="https://docs.forgeflux.org/ftest/ftest-toml/">ftest.toml</a>
</li>
<ul id="toc">
<li><a href="https://docs.forgeflux.org/ftest/ftest-toml/#fest-toml-or-job-manifest">fest.toml or Job Manifest</a>
</li>
<li><a href="https://docs.forgeflux.org/ftest/ftest-toml/#ftest-toml-contents">ftest.toml contents:</a>
<ul>
<li><a href="https://docs.forgeflux.org/ftest/ftest-toml/#1-initialization-code">1. Initialization code</a></li>
<li><a href="https://docs.forgeflux.org/ftest/ftest-toml/#2-test-suite">2. Test Suite</a></li>
<li><a href="https://docs.forgeflux.org/ftest/ftest-toml/#3-tests">3. Tests</a></li>
</ul>
</li>
</ul>
<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="fest-toml-or-job-manifest"><code>fest.toml</code> or Job Manifest&nbsp;<a class="anchor" href="#fest-toml-or-job-manifest">&#xE732;</a></h2>
<p>Job manifest is defined in <code>ftest.toml</code> file in the specimen's
subdirectory.</p>
<h2 id="ftest-toml-contents">ftest.toml contents:&nbsp;<a class="anchor" href="#ftest-toml-contents">&#xE732;</a></h2>
<p>It can contain information on:</p>
<h3 id="1-initialization-code">1. Initialization code&nbsp;<a class="anchor" href="#1-initialization-code">&#xE732;</a></h3>
<p>The code that needs to be run to prepare the test environment. ftest
runs Docker containers to initialize test environments.</p>
<h4 id="example">Example&nbsp;<a class="anchor" href="#example">&#xE732;</a></h4>
<p><a href="https://git.batsense.net/ForgeFlux/forgejo-init-script">forgejo-init-script</a> performs the following operations in a sequence:</p>
<ol>
<li>Install Forgejo (the binary starts with a web installer that accepts
configuration parameters for database, mailer, etc.)</li>
<li>Create accounts</li>
<li>Create repositories</li>
<li>Create issues</li>
<li>Create access tokens</li>
</ol>
<p>NOTE: Some of these operations are irrelevant, as I (@realaravinth) had nicked them from
another project of mine and was too lazy to modify ;)</p>
<h3 id="2-test-suite">2. Test Suite&nbsp;<a class="anchor" href="#2-test-suite">&#xE732;</a></h3>
<p>A test suite is a collection of tests. For instance, ActivityPub is a
test suite that could include tests for the WebFinger protocol and the
Nodeinfo protocol.</p>
<h3 id="3-tests">3. Tests&nbsp;<a class="anchor" href="#3-tests">&#xE732;</a></h3>
<p>A test is a docker container that tests the
<a href="https://docs.forgeflux.org/ftest/terminology/#specimen">specimen</a> for a specific protocol or
feature.</p>
<h4 id="example-1">Example&nbsp;<a class="anchor" href="#example-1">&#xE732;</a></h4>
<p><a href="https://git.batsense.net/nodeinfo-test">Nodeinfo test</a> is the simplest
test available within ftest at the moment. It tests the specimen's
Nodeinfo implementation against the <a href="https://nodeinfo.diaspora.software/protocol.html">Nodeinfo specification</a>.</p>
<p>Please see <a href="/ftest/tests.md">here</a> for developing new tests.</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>