From bc6e43cd33334c022d5011683acd3176d9c51041 Mon Sep 17 00:00:00 2001 From: Emilio Herrera Date: Apr 10 2024 11:04:25 +0000 Subject: Added translation using Weblate (Spanish) Co-authored-by: Emilio Herrera --- diff --git a/po/es/master/pages/standard-test-interface.po b/po/es/master/pages/standard-test-interface.po new file mode 100644 index 0000000..4eeb952 --- /dev/null +++ b/po/es/master/pages/standard-test-interface.po @@ -0,0 +1,1089 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# Emilio Herrera , 2024. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2023-01-27 13:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: Title = +#: ./pages/standard-test-interface.adoc:2 +#, no-wrap +msgid "Standard Test Interface" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:5 +msgid "Standard Discovery, Staging and Invocation of Integration Tests." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:7 +msgid "Version: `2.0.0`" +msgstr "" + +#. type: Title == +#: ./pages/standard-test-interface.adoc:8 +#, no-wrap +msgid "Summary" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:13 +msgid "" +"Let's define a clear delineation of between a _test suite_ (including " +"framework) and the CI system that is running the test suite. This is the " +"standard interface. What follows is a standard way to discover, package and " +"invoke integration tests for a package stored in a Fedora dist-git repo." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:20 +msgid "" +"Many Fedora packages have unit tests. These tests are typically run during " +"a `%check` RPM build step and run in a build root. On the other hand, " +"integration testing should happen against a composed system. Upstream " +"projects have integration tests, both Fedora QA and the Atomic Host team " +"would like to create more integration tests, Red Hat would like to bring " +"integration tests upstream." +msgstr "" + +#. type: Title == +#: ./pages/standard-test-interface.adoc:21 +#, no-wrap +msgid "Benefit to Fedora" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:25 +msgid "" +"Developers benefit by having a consistent target for how to describe tests, " +"while also being able to execute them locally while debugging issues or " +"iterating on tests." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:29 +msgid "" +"By staging and invoking tests consistently in Fedora we create an eco-system " +"for the tests that allows varied test frameworks as well as CI system " +"infrastructure to interoperate. The integration tests outlast the " +"implementation details of either the frameworks they're written in or the CI " +"systems running them." +msgstr "" + +#. type: Title == +#: ./pages/standard-test-interface.adoc:30 +#, no-wrap +msgid "Definitions" +msgstr "" + +#. type: Title === +#: ./pages/standard-test-interface.adoc:32 +#, no-wrap +msgid "Terminology" +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:34 +#, no-wrap +msgid "Test Subject" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:37 +msgid "" +"The items that are to be tested. Examples: RPMs, OCI image, ISO, QCow2, " +"Module repository ..." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:38 +#, no-wrap +msgid "Test" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:40 +msgid "" +"A callable/runnable piece of code and corresponding test data and mocks " +"which exercises and evaluates a _test subject_." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:41 +#, no-wrap +msgid "Test environment" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:44 +msgid "" +"Environment where actual test run takes place. Test has direct impact on " +"test environment." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:45 +#, no-wrap +msgid "Test Suite" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:46 +msgid "The collection of all tests that apply to a _test subject_." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:47 +#, no-wrap +msgid "Test Framework" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:54 +msgid "" +"A library or component that the _test suite_ and _tests_ use to accomplish " +"their job. Examples: https://avocado-framework.github.io/[Avocado], " +"https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests[GNOME Installed " +"Tests], https://github.com/fedora-modularity/meta-test-family/[Meta Test " +"Family], https://github.com/projectatomic/atomic-host-tests[Ansible tests in " +"Atomic Host], https://tunir.readthedocs.io/en/latest/[Tunir tests], docker " +"test images..." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:55 +#, no-wrap +msgid "Test Result" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:58 +msgid "" +"A boolean pass/fail output of a _test suite_. Test results_ are for " +"consumption by automated aspects of a _testing systems_." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:59 +#, no-wrap +msgid "Test Artifact" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:62 +msgid "" +"Any additional output of the test suite such as the stdout/stderr output, " +"log files, screenshots, core dumps, or TAP/Junit/subunit streams. _Test " +"artifacts_ are for consumption by humans, archival or big data analysis." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:63 +#, no-wrap +msgid "Testing System" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:74 +msgid "" +"A CI or other _testing system_ that would like to discover, stage and invoke " +"tests for a _test subject_. Examples: https://jenkins.io/[Jenkins], " +"https://taskotron.fedoraproject.org/[Taskotron], " +"https://docs.openstack.org/infra/zuul/[ZUUL], https://ci.centos.org/[CentOS " +"CI], https://github.com/projectatomic/papr[Papr], " +"https://travis-ci.org/[Travis], https://semaphoreci.com/[Semaphore], " +"https://developers.openshift.com/managing-your-applications/continuous-integration.html[Openshift " +"CI/CD], " +"https://wiki.ubuntu.com/ProposedMigration/AutopkgtestInfrastructure[Ubuntu " +"CI]..." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:75 +#, no-wrap +msgid "Test Runner" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:79 +msgid "" +"_Testing system_ delegates running of the test to _test runner_ which can be " +"different from _test environment_. For example ansible is run on the _test " +"runner_ and tests are executed on the managed host. Usually a stable " +"version of OS is used for _test runner_." +msgstr "" + +#. type: Title === +#: ./pages/standard-test-interface.adoc:80 +#, no-wrap +msgid "Results Format" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:83 +msgid "" +"The following format should be used to report results of individual tests in " +"the `results.yml` file:" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:85 +#, no-wrap +msgid " results:\n" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:86 +#, no-wrap +msgid "{result: pass, test: test1, logs: [test1.log]}\n" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:87 +#, no-wrap +msgid "{result: fail, test: test2, logs: [test2.log, debug.log]}\n" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:88 +#, no-wrap +msgid "{result: error, test: test3, logs: [test3.log, debug.log, error.log]}\n" +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:89 +#, no-wrap +msgid "result" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:90 +msgid "Test result. One of `pass`, `fail` or `error`. Mandatory." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:90 +#, no-wrap +msgid "test" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:91 +msgid "Test name. A unique identifier. Mandatory." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:91 +#, no-wrap +msgid "logs" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:96 +msgid "" +"One or more logs with detailed test output. Optional. Path should be " +"relative to the artifacts directory. Some user interfaces might show only a " +"single log by default. In that case first log from the list should be " +"presented to the user." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:98 +msgid "The `result` field can contain following values:" +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:99 +#, no-wrap +msgid "pass" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:100 +msgid "Test has successfully finished and passed." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:100 +#, no-wrap +msgid "fail" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:101 +msgid "Test has successfully finished and failed." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:101 +#, no-wrap +msgid "error" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:102 +msgid "There has been a problem with test execution." +msgstr "" + +#. type: Title == +#: ./pages/standard-test-interface.adoc:104 +#, no-wrap +msgid "Responsibilities" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:107 +msgid "The *Testing System* is responsible to:" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:109 +msgid "" +"Build or otherwise acquire the _test subject_, such as a package, container " +"image, tree..." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:110 +msgid "" +"Decide which _test suite_ to run, often by using the standard interface to " +"discover appropriate _tests_ for the dist-git repo that a test subject " +"originated in." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:111 +msgid "" +"Schedule, provision or orchestrate a job to run the _test suite_ on " +"appropriate compute, storage..." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:112 +msgid "Stage the _test suite_ as described by the _standard interface_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:113 +msgid "Invoke the _test suite_ as described by the _standard interface_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:114 +msgid "" +"Gather the _test results_ and _test artifacts_ as described by the _standard " +"interface_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:115 +msgid "" +"Announce and relay the _test results_ and _test artifacts_ for gating, " +"archival..." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:117 +msgid "The *Standard Interface* describes how to:" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:119 +msgid "Discover a _test suite_ for a given dist-git repo." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:120 +msgid "Uniquely identify a _test suite_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:121 +msgid "Stage a _test suite_ and its dependencies such as _test frameworks_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:122 +msgid "Provide the _test subject_ to the _test suite_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:123 +msgid "Invoke a _test suite_ in a consistent way." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:124 +msgid "Gather _test results_ and _test artifacts_ from the invoked _test suite_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:126 +msgid "The *Test Suite* is responsible to:" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:128 +msgid "" +"Declare its dependencies such as a _test framework_ via the _standard " +"interface_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:129 +msgid "Execute the _test framework_ as necessary." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:130 +msgid "" +"Provision (usually locally) any containers or virtual machines necessary for " +"testing the _test subject_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:131 +msgid "Provide _test results_ and _test subjects_ back according to the standard" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:134 +msgid "" +"The format of the textual logs and _test artifacts_ that come out of a test " +"suite is not prescribed by this document. Nor is it envisioned to be " +"standardized across all possible _test suites_." +msgstr "" + +#. type: Title == +#: ./pages/standard-test-interface.adoc:135 +#, no-wrap +msgid "Requirements" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:138 +msgid "" +"The _test suite_ and _test framework_ SHOULD NOT leak its implementation " +"details into the testing system, other than via the _standard interface_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:139 +msgid "" +"The _test suite_ and _test framework_ SHOULD NOT rely on the behavior of the " +"testing system other than the _standard interface_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:140 +msgid "" +"The _standard interface_ MUST enable a dist-git packager to run a _test " +"suite_ locally." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:141 +msgid "" +"_Test suites_ or _test frameworks_ MAY call out to the network for certain " +"tasks." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:142 +msgid "" +"It MUST be possible to stage an upstream _test suite_ using the _standard " +"interface_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:143 +msgid "" +"Both _in-situ tests_, and more rigorous _outside-in tests_ MUST be possible " +"with the _standard interface_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:144 +msgid "" +"For _in-situ tests_ the _test suite_ is in the same file system tree and " +"process space as the _test subject_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:145 +msgid "" +"For _outside-in tests_ the _test suite_ is outside of the file system tree " +"and process space of the _test subject_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:146 +msgid "" +"The _test suite_ and _test framework_ SHOULD be able to provision containers " +"and virtual machines necessary for its testing without requesting them from " +"the _testing system_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:147 +msgid "" +"The _standard interface_ SHOULD describe how to uniquely identify a _test " +"suite_." +msgstr "" + +#. type: Title == +#: ./pages/standard-test-interface.adoc:148 +#, no-wrap +msgid "Detailed Description" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:153 +msgid "" +"This standard interface describes how to discover, stage and invoke tests. " +"It is important to cleanly separate implementation details of the _testing " +"system_ from the _test suite_ and its framework. It is also important to " +"allow Fedora packagers to locally and manually invoke a _test suite_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:155 +msgid "" +"First see the link:#_terminology[Terminogy], division of " +"link:#_responsibilities[Responsibilities] and " +"link:#_requirements[Requirements]." +msgstr "" + +#. type: Title === +#: ./pages/standard-test-interface.adoc:156 +#, no-wrap +msgid "Staging" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:160 +msgid "" +"Tests files will be added into the `tests/` folder of a dist-git repository " +"branch. The structure of the files and folders is left to the liberty of " +"the packagers but there are one or more playbooks in the `tests/` folder " +"that can be invoked to run the test suites." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:162 +msgid "" +"The _testing system_ SHOULD stage the tests on target (eg: Fedora) operating " +"system appropriate for the branch name of the dist-git repository containing " +"the tests." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:163 +msgid "" +"The _testing system_ SHOULD stage a clean _test runner_ for each set of " +"tests it runs." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:164 +msgid "The _testing system_ MUST stage the following package on the _test runner_:" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:165 +msgid "`standard-test-roles`" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:166 +msgid "" +"The _testing system_ MUST clone the dist-git repository for the test on the " +"_test runner_, and checks out the appropriate branch." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:167 +msgid "" +"The contents of `/etc/yum.repos.d` on the *staged system* SHOULD be replaced " +"with repository information that reflects the known good Fedora packages " +"corresponding to the branch of the dist-git repository." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:168 +msgid "" +"The _testing system_ MAY use multiple repositories, including _updates_ or " +"_updates-testing_ to ensure this." +msgstr "" + +#. type: Title === +#: ./pages/standard-test-interface.adoc:169 +#, no-wrap +msgid "Invocation" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:174 +msgid "" +"The testing system MUST run each playbook matching the glob " +"`tests/tests*.yml` in the dist-git repo. Each of these files constitutes a " +"test suite. Each test suite is invoked by the testing system independently " +"and executed in a clear test environment as follows." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:180 +msgid "" +"The _test subjects_ are passed to the playbook and inventory as operating " +"system environment and ansible environment. Often only one _test subject_ " +"is passed in. However multiple subjects may be concatenated together in a " +"shell escaped string. The playbooks and/or inventory script split the " +"string. The extensions as follows are used to determine the type of " +"subject:" +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:181 +#, no-wrap +msgid "*.rpm" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:182 +msgid "Absolute path to an RPM file" +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:182 +#, no-wrap +msgid "*.repo" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:183 +msgid "Absolute repo filenames appropriate for `/etc/yum.repos.d`" +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:183 +#, no-wrap +msgid "*.qcow2, *.qcow2c" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:184 +msgid "Absolute path to one virtual machine disk image bootable with cloud-init" +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:184 +#, no-wrap +msgid "*.oci" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:185 +msgid "Absolute path of one OCI container image filesystem bundle" +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:185 +#, no-wrap +msgid "docker:*" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:186 +msgid "Fully qualified path to a docker image in a registry" +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:186 +#: ./pages/standard-test-interface.adoc:198 +#, no-wrap +msgid "..." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:187 +#: ./pages/standard-test-interface.adoc:199 +msgid "Other _test subject_ identifiers may be added later." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:194 +msgid "" +"Various _tests_ in a playbook constitute a _test suite_. Some parts of " +"these _test suites_ will run in certain contexts, against certain " +"deliverable artifacts. Certain tests will run against Atomic Host " +"deliverables, while others will not. Certain tests will run against Docker " +"deliverables while others will not. This is related to, but does not " +"exactly overlap with the _test subject_ identifiers above. Ansible tags are " +"used to denote these contexts." +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:195 +#, no-wrap +msgid "atomic" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:196 +msgid "Atomic Host" +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:196 +#, no-wrap +msgid "container" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:197 +msgid "A Docker or OCI container" +msgstr "" + +#. type: Labeled list +#: ./pages/standard-test-interface.adoc:197 +#, no-wrap +msgid "classic" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:198 +msgid "Tested against a classic installed YUM/DNF installed system." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:202 +msgid "" +"To invoke the tests, the _testing system_ must perform the following tasks " +"for each _test suite_ playbook:" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:204 +msgid "" +"MUST execute the playbook with the following operating system environment " +"variables:" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:205 +msgid "`TEST_SUBJECTS`: The _test subjects_ string as described above" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:206 +msgid "`TEST_ARTIFACTS`: The full path of an empty folder for _test artifacts_" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:207 +msgid "" +"SHOULD execute the playbook with all Ansible tags best represent the " +"intended _test context_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:208 +msgid "" +"The choice of _test context_ tags is related to the _test subject_ being " +"tested" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:209 +msgid "" +"MUST execute Ansible with inventory set to the full path of the file or " +"directory `tests/inventory` if it exists." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:210 +msgid "" +"If the `tests/inventory` file doesn't exist, then " +"`/usr/share/ansible/inventory` SHOULD be used as a default." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:211 +msgid "MUST execute the playbook as root." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:212 +msgid "MUST execute the playbook passing `git_branch` as ansible variable." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:213 +msgid "The branch used to clone tests*.yml" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:214 +msgid "" +"MUST examine the exit code of the playbook. A zero exit code means tests " +"completed successfully, non-zero means a problem with running tests." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:215 +msgid "" +"MUST examine the file `results.yml` in the `artifacts` folder to detect " +"whether tests passed of failed." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:216 +msgid "" +"MUST treat the file `test.log` in the `artifacts` folder as the main " +"readable output of the test." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:217 +msgid "" +"SHOULD place the textual stdout/stderr of the `ansible-playbook` command in " +"the `ansible.log` file in the `artifacts` folder." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:218 +msgid "SHOULD treat the contents of the `artifacts` folder as the _test artifacts_." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:220 +msgid "Each _test suite_ playbook or _test framework_ contained therein:" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:222 +msgid "" +"SHOULD drop privileges appropriately if the _test suite_ should be run as " +"non-root." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:223 +msgid "" +"MUST install any requirements of its _test suite_ or _test framework_ and " +"MUST fail if this is not possible." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:224 +msgid "" +"MUST provision the _test subject_ listed in the `subjects` variable " +"appropriately for its playbook name (described above) and MUST fail if this " +"is not possible." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:225 +msgid "" +"MUST place the main readable output of the _test suite_ into a `test.log` " +"file in the `artifacts` variable folder. This MUST happen even if some of " +"the test suites fail." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:226 +msgid "" +"SHOULD place additional _test artifacts_ in the folder defined in the " +"`artifacts` variable." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:227 +msgid "" +"MUST return a zero exit code of the playbook if tests have been executed " +"successfully, or a non-zero exit code if failed to run any test " +"(e.g. because of an infrastructure error)." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:228 +msgid "" +"MUST create a `results.yml` file in the `artifacts` directory with test " +"results in the _results format_ defined above." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:230 +msgid "If an inventory file or script exists, it:" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:232 +msgid "" +"MUST describe where to invoke the playbook and how to connect to that " +"target." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:233 +msgid "" +"SHOULD launch or install any supported `$TEST_SUBJECTS` so that the playbook " +"can be invoked against them." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:234 +msgid "SHOULD put relevant logs in the `$TEST_ARTIFACTS` directory." +msgstr "" + +#. type: Title === +#: ./pages/standard-test-interface.adoc:235 +#, no-wrap +msgid "Discovery" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:241 +msgid "" +"Test discovery is done via dist-git. Both packages and modules may have " +"tests in this format. To list which _test context_ a given dist-git " +"directory or playbook is relevant for, use a command like the following:" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:243 +#, no-wrap +msgid " ansible-playbook --list-tags tests.yml\n" +msgstr "" + +#. type: Title == +#: ./pages/standard-test-interface.adoc:244 +#, no-wrap +msgid "Scope" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:248 +msgid "" +"Since the tests are added in a sub-folder of the dist-git repo, there are no " +"changes required to the Fedora infrastructure and will have no impact on the " +"packagers' workflow and tooling." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:250 +msgid "" +"Only the testing system will need to be taught to install the requirements " +"and run the playbooks." +msgstr "" + +#. type: Title == +#: ./pages/standard-test-interface.adoc:251 +#, no-wrap +msgid "User Experience" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:254 +msgid "" +"A standard way to package, store and run tests benefits Fedora stability, " +"and makes Fedora better for users." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:256 +msgid "" +"This structure makes it easy to run locally thus potentially reproducing an " +"error triggered on the test system." +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:257 +msgid "" +"Ansible is being more and more popular, thus making it easier for people to " +"contribute new tests" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:258 +msgid "" +"Used by a lot of sys-admin, ansible could help sys-admin to bring test-cases " +"to the packagers and developers about situation where something failed for " +"them." +msgstr "" + +#. type: Title == +#: ./pages/standard-test-interface.adoc:259 +#, no-wrap +msgid "Diagram" +msgstr "" + +#. type: Target for macro image +#: ./pages/standard-test-interface.adoc:261 +#, no-wrap +msgid "sti-diagram.jpeg" +msgstr "" + +#. type: Title == +#: ./pages/standard-test-interface.adoc:263 +#, no-wrap +msgid "Upgrade/compatibility impact" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:267 +msgid "" +"There are no real upgrade or compatibility impact. The tests will be " +"branched per release as spec files are branched dist-git is now." +msgstr "" + +#. type: Title == +#: ./pages/standard-test-interface.adoc:268 +#, no-wrap +msgid "Proposals and Evaluation" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:272 +msgid "" +"During the selection process for a standard test invocation and layout " +"format for Fedora, " +"https://fedoraproject.org/wiki/Changes/InvokingTestsProposals[several " +"proposals] were examined." +msgstr "" + +#. type: Title == +#: ./pages/standard-test-interface.adoc:273 +#, no-wrap +msgid "Contact" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:276 +msgid "Name: Stef Walter, stefw@fedoraproject.org" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:277 +msgid "Name: Pierre-Yves Chibon, pingou@fedoraproject.org" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:278 +msgid "Name: Andrei Stepanov" +msgstr "" + +#. type: Plain text +#: ./pages/standard-test-interface.adoc:278 +msgid "Name: Serhii Turivnyi, sturivny@fedoraproject.org" +msgstr ""