description | Continuous build tools and automated tests for HelenOS. |
homepage URL | http://www.helenos.org |
repository URL | https://github.com/HelenOS/ci.git |
owner | jakub@jermar.eu |
last change | Mon, 11 Mar 2024 09:44:15 +0000 (11 10:44 +0100) |
last refresh | Thu, 21 Nov 2024 08:20:41 +0000 (21 09:20 +0100) |
mirror URL | git://repo.or.cz/ci.git |
https://repo.or.cz/ci.git | |
ssh://git@repo.or.cz/ci.git | |
bundle info | ci.git downloadable bundles |
content tags |
The purpose of this repository is to have a universal script for building and testing (almost) everything related to HelenOS. Currently, the script is able to:
See http://www.helenos.org/wiki/CI for more information. Nightly builds using this tool are pushed to http://ci.helenos.org/.
Note: this tool is not meant to be used for normal development of HelenOS (i.e. the "edit - incrementally compile - test" loop) but rather for pre-merge tests or automated nightly builds.
# Fetch default branches and build everything.
./build.py
# Limit paralellism
./build.py --jobs 3
# Fetch from non-default branches
./build.py --helenos-repository git@github.com:login/helenos.git
The tests are executed in QEMU and it is possible to type text into console and assert for command output.
See scripts in scenarios/
directory for examples or the test-in-vm.py
script to learn about internals.
usage: test-in-vm.py [-h] [--headless] [--scenario FILENAME.yml] --arch
ARCHITECTURE [--memory MB] --image FILENAME
[--pass OPTION] [--vterm-dump FILENAME.txt]
[--last-screenshot FILENAME.png] [--debug]
Testing of HelenOS in VM
optional arguments:
-h, --help show this help message and exit
--headless Do not show any VM windows.
--scenario FILENAME.yml
Scenario file
--arch ARCHITECTURE Emulated architecture identification.
--memory MB Amount of memory for the virtual machine.
--image FILENAME HelenOS boot image (e.g. ISO file).
--pass OPTION Extra options to pass through to the emulator
--vterm-dump FILENAME.txt
Where to store full vterm dump.
--last-screenshot FILENAME.png
Where to store last screenshot.
--debug Print debugging messages
Typical invocation will use the following arguments:
--image helenos.iso
--scenario scenario.yml
--arch amd64 # ia32, ppc32 etc.
--vterm-dump dump.txt # all text from main vterm
--last-screenshot shot.png # last VM screen
Simple test running malloc and checking its output looks like this:
meta:
name: "tester malloc"
harbours: []
tasks:
- boot
- command:
args: "tester malloc1"
assert: "Test passed"
negassert: "Test failed"
Test checking that we are able to launch GCC (needs special image):
meta:
name: "gcc --version"
harbours:
- gcc
tasks:
- boot
- command:
args: "gcc --version"
assert: "GCC"
7 months ago | dependabot/pip/pillow-10.3.0 | logtree |
8 months ago | master | logtree |