Test package system

This page describes a proposed "Test Package System" for Fuego.

Introduction [edit section]

As of September, 2016, we add all tests to the system by adding them to the fuego-core repository. The files for a test are sprinkled around in lots of different places (see Jenkins-Fuego_Details), and some files (testplan_default.json, and tests.info) need to be edited manually for each new test added to the system.

This is a proposal to add a packaging system to Fuego, so that individual tests can be shipped as standalone entities.

The Fuego-core repository can hold the source for tests that are integrated into the system and vetted by fuego maintainers. But having tests shippable in separate units will allow much easier sharing of tests in the future.

Specification [edit section]

I believe the following items are needed to create a test package system:

Test Hub vision [edit section]

At some point in the future, I envision a "test hub" (kind of like an app store), where people can place new test packages, and individual sites can select the tests they want to use with their system. There would be facilities for browsing the tests, downloading and installing the tests, and possibly rating tests or reporting issues about tests.

Creation of such a test hub is outside the scope of this test package proposal.

See Test server system

work in progress [edit section]

Tim is working on the test package system, as of February 2017. Here are some notes about that:

to do [edit section]

Notes:

test package format [edit section]

Here's a very simple sample test.yaml file:

Principles:

questions [edit section]

existing package format analysis [edit section]

.deb [edit section]

Features of .deb:

.pet [edit section]

Features of .pet

.rpm [edit section]

Features of .rpm

ebuild [edit section]

Features of ebuild

phases: