Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install charmrunner

How to install charmrunner

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install charmrunner
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.2.5 Available View build log
0.2.4 Available View build log
0.2.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2.0 Failed View build log
Windows (64-bit)
0.2.5 Available View build log
0.2.4 Available View build log
0.2.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2.0 Failed View build log
Mac OS X (10.5+)
0.2.5 Available View build log
0.2.4 Available View build log
0.2.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2.0 Failed View build log
Linux (32-bit)
0.2.5 Available View build log
0.2.4 Available View build log
0.2.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2.0 Failed View build log
Linux (64-bit)
0.2.5 Available View build log
0.2.4 Available View build log
0.2.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2.0 Failed View build log
 
License
GPL
Dependencies
Imports
Lastest release
version 0.2.5 on May 23rd, 2012

Automated Charm Testing

Reusable components and utilities for juju:http://juju.ubuntu.com charm testing.

There are several different use cases for testing from jenkins waterfall views, to gating publishing to a repository based on test results.

In order to accomodate different running scenarios, the tools are presented as a set of cli tools.

All the tools operate against the default juju environment.

Runner

Provides the main entry point into charm testing. It will generate and run a test and record the result and environment information:

$ juju-graph-runner -r repository -w working_dir -s series -t testrecord.zip <charm_name>

Planner

For a given charm change calculate a series of test plans against a repository of all charms:

$ juju-planner -r repository  -s precise -d plans_dir <charm_name>

Snapshot

Snapshot and restore an environment, akin to a bzr shelve. Primary purpose it to be able to clear out services from an environment so the environment can be reused across tests.

Operates on a service granularity, destroying and removing old services not present in before the last snapshot in a pop:

 $ juju-snapshot snapshot -f pristine.json
 $ juju deploy --repository=examples local:mysql
 $ juju-snapshot restore -f pristine.json

- Clean an environment for reuse, via deleting services.
- Resets provider storage of any uploaded charms.
- Removes any charm state from zookeeper.

Loader

Load a test plan's services and relations into an environment:

$ juju-load -r repository mediawiki.plan

Watch

Verification for a service coming up correctly, waits for a given service and all its relations to reach a completed steady state or any reach a failure state:

$ juju-watch <service_name>

Exit code 1 if the wait failed, stderr with more details. Exit 0 if succesful.

Test Records

Create an archive of all the unit logs, zookeeper data, status, and test runner logs:

$ juju-record -f testrecord.zip

Credits

Kapil Thangavelu <author> Mark Mimms <contributor>

Changes

0.2.5

  • use sftp to fetch remote unit logs (juju-recorder is now provider independent)
  • update watcher to work with new status output

0.2.4

  • standalone zk dump script, use an error handling wrapper snapshot teardown.

0.2.3

  • fix for watcher max timeout cli argument

0.2.2

  • fix for snapshot restore having multiple services reference a charm.

0.2.1

  • packaging fix

Subscribe to package updates

Last updated May 23rd, 2012

Download Stats

Last month:7

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.