Merge lp://staging/~sinzui/juju-ci-tools/run-uitests into lp://staging/juju-ci-tools

Proposed by Curtis Hovey
Status: Merged
Merged at revision: 1382
Proposed branch: lp://staging/~sinzui/juju-ci-tools/run-uitests
Merge into: lp://staging/juju-ci-tools
Diff against target: 128 lines (+123/-0)
1 file modified
run-uitests.bash (+123/-0)
To merge this branch: bzr merge lp://staging/~sinzui/juju-ci-tools/run-uitests
Reviewer Review Type Date Requested Status
Martin Packman (community) Approve
Review via email: mp+293163@code.staging.launchpad.net

Description of the change

Run Juju built from the release tar file in uitest.

This branch adds a script that runs uitest with the released GUI and juju built from the tar file.

Testing with the proper juju is hard because uitest ui test only supports testing git branches. this is bad because the tree contains undocumented deps and non-free content. The release tar file is purged of improper files. uitest might pass a Juju built from a branch if it requires a undocumented dep. uitest also taints the code to use a test charmstore.

The solution I took was to taint the unpacked file (so that we know exactly what is being tainted). We build the binaries outside of uitest. uitest will use found binaries when it can also confirm the source code is tainted.

I am unsatisfied with the setup of credentials in this script. We have never had need before now to re-use the deploy_stack.py env setup. Maybe this can be added in a future branch.

In a future branch, we will add support to test the charm plugin. The plugin has different dependencies than juju. Building from the release tar file conflicts with building juju from its deps. This underscores the problem that both juju and charm plugin have shared but divergent deps. We do want to test the charm plugin built for release with juju built for release and verify the plugin still works.

To post a comment you must log in.
Revision history for this message
Curtis Hovey (sinzui) wrote :

As seen at
    http://juju-ci.vapour.ws:8080/view/Juju%20Revisions/job/function-uitest-gui/
we have a job that passes. It is using a copy of the new script.

run-uitests.bash 3930 TestJujuCore $JOB_NAME $WORKSPACE

Revision history for this message
Martin Packman (gz) wrote :

Looks like something reasonable to start with.

I'm a little concerned that we're including logic in bash that really should be shared functionality in python. Most notably, we're running `go get` on the charm package and not paying attention to dependencies.tsv. The git_gate.py script has logic for doing some of this nicely (not the source mangling step though).

Likewise, as you pointed out, we really only want one place that deals with credential setup.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches