Files
Dimitri John Ledkov 5774390b2d Refactor stage1/init to source most of options from manifest, rather than flavor/stampfile-based.
This refactor will make it easier to integrate lkvm support, and also
brings other benefits.

Specifically, with this refactor almost all functionality of stage1
init is flavor independent and can be fully controlled via a manifest
and uses as little hard coded paths as possible.

Thus, e.g. distribution packagers, can create package which will only
have rkt/stage1 provided binaries (gc, waiter, init, etc.) and specify
the rest of things in the manifest (path to nspawn, ld.so, LD LIBRARY
PATH, libfakesdbooted.so, etc). And create fully free-standing
stage1.aci by simply creating basic distribution chroot with
distro-native tools and supplying a matching/correct aci-manifest. By
fully free-standing, I mean similar to current coreos flavor, which is
completely independent of the host OS binaries & load paths and is
truly run everywhere.

Many of these refactors will be useful for future lkvm integration,
e.g. reusing ld.so load paths and similar.
2015-06-09 10:47:56 +01:00
..
2015-04-20 12:05:07 +02:00
2015-05-26 23:40:36 +02:00

rkt functional tests

This directory contains a set of functional tests for rkt. The tests use gexpect to spawn various rkt run commands and look for expected output.

Semaphore

The tests run on the Semaphore CI system through the rktbot user, which is part of the coreos org on Semaphore. This user is authorized against the corresponding rktbot GitHub account. The credentials for rktbot are currently managed by CoreOS.

Build settings

Use the following build commands:

./tests/install-deps.sh            # Setup
./tests/run-build.sh none          # Thread 1
./tests/run-build.sh src v220      # Thread 1
./tests/run-build.sh usr-from-host # Thread 1
./tests/run-build.sh coreos        # Thread 2
./tests/run-build.sh src master    # Thread 2
git clean -ffdx                    # Post Thread

Platform

Select Ubuntu 14.04 LTS v1503 (beta with Docker support).

Environment variables

RKT_STAGE1_USR_FROM=src

CircleCI

Ideally the tests will also run on CircleCI, but there is currently a known issue because access to the cgroup filesystems is restricted - more info here

Assuming this can be resolved, the following configuration can be used:

test:
  override:
    - ./tests/install-deps.sh
    - RKT_STAGE1_USR_FROM=src ./build
    - ./test