Skip to main content

Ebuild Testing Framework

Project description

Description
===========

Framework for testing ebuilds.

Using Docker to provide consistent sandboxed environments, etest runs ebuilds
through several tests (implicitly and explicitly defined). Every ebuild gets
many containers created to run every testing scenario in isolation. Testing
scenarios are created from combinations of USE flags, features (test or no
test), as well as custom commands provided in the hints files.

Installation
============

This package is available in my overlay, alunduil, and can be installed on
Gentoo quite easily::

layman -a alunduil
emerge app-portage/etest

This package is also stored in PyPI and can be installed the standard way::

pip install etest

The latest release available is:

.. image:: https://badge.fury.io/py/etest.png
:target: http://badge.fury.io/py/etest


``etest`` does require a running docker daemon but does not explicitly list it
as a requirement. It's not explicitly listed since the docker daemon doesn't
necessarily need to be local. Non-local docker daemons are not currently
supported.

Using etest
===========

.. note::
etest requires a running docker daemon (either local or remote). If using
a remote docker instance you must set the DOCKER_HOST environment variable
with the hostname (just like compose).

To get started simply run ``etest`` in a directory that contains ebuilds in a
valid overlay.

Alternatively, while still in a valid overlay directory or subdirectory, a list
of ebuilds can be passed to ``etest`` to run tests only against those ebuilds::

# Run all etest tests for all ebuild versions.
cd /var/lib/layman/alunduil
etest app-portage/etest

# Run all etest tests for the specified ebuild.
cd app-portage/etest
etest etest-9999.ebuild

More advanced usage of this package is outlined in the built-in help::

etest --help

Developing etest
================

If you would prefer to clone this package directly from git or assist with
development, the URL is https://github.com/alunduil/etest.

etest is tested continuously by Travis-CI and running the tests is quite
simple::

flake8
python setup.py test

System tests can be run as well but require a working docker daemon as well as
approximately two and half hours::

nosetests test_etest/test_system

The current status of the build is:

.. image:: https://secure.travis-ci.org/alunduil/etest.png?branch=master
:target: http://travis-ci.org/alunduil/etest

Known Issues
============

Known issues can be found in the github issue list at
https://github.com/alunduil/etest/issues.

Troubleshooting
===============

If you need to troubleshoot an issue or submit information in a bug report, we
recommend obtaining the following pieces of information:

* output with verbose output turned on
* any relevant stack traces

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

etest-1.0.0.tar.gz (60.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

etest-1.0.0-py2.py3-none-any.whl (89.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file etest-1.0.0.tar.gz.

File metadata

  • Download URL: etest-1.0.0.tar.gz
  • Upload date:
  • Size: 60.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for etest-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1a135181cdf96df2cd32aa853715f5e9a468f1d10292542e684a929ee1183c5d
MD5 1adf73388c9138487d9e128d0a5ff442
BLAKE2b-256 18f751a8dd4ef5491a8477cbbd5601cc4b4298db435e61bbc5e429294f369824

See more details on using hashes here.

File details

Details for the file etest-1.0.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for etest-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a8dc4fc1a1170488e030a45afb07b5e7f9a795ec67837dba95ab8f22f6b8a142
MD5 404ccc30fc1eb878d05c31d3553d2c6b
BLAKE2b-256 d05a8b668055310dbe94de58030c71ba1b8cf74fcc57a094b6869e7e9e05d304

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page