Merge lp://staging/~zyga/checkbox/fix-1297256 into lp://staging/checkbox

Proposed by Zygmunt Krynicki
Status: Merged
Approved by: Daniel Manrique
Approved revision: 2860
Merged at revision: 2855
Proposed branch: lp://staging/~zyga/checkbox/fix-1297256
Merge into: lp://staging/checkbox
Diff against target: 618 lines (+522/-4)
7 files modified
plainbox/plainbox/abc.py (+61/-0)
plainbox/plainbox/impl/_shlex.py (+22/-0)
plainbox/plainbox/impl/buildsystems.py (+53/-0)
plainbox/plainbox/impl/test_buildsystems.py (+114/-0)
plainbox/plainbox/provider_manager.py (+265/-3)
plainbox/plainbox/test_provider_manager.py (+3/-1)
plainbox/setup.py (+4/-0)
To merge this branch: bzr merge lp://staging/~zyga/checkbox/fix-1297256
Reviewer Review Type Date Requested Status
Daniel Manrique (community) Approve
Sylvain Pineau (community) Approve
Review via email: mp+213438@code.staging.launchpad.net

Description of the change

41b562c plainbox:abc: add IBuildSystem interface
39c928c plainbox:buildsystems: add the buildsystems module
f782aff plainbox:provider_manager: allow certain commands to see setup() keywo
e1c1dc5 plainbox:provider_manager: add BuildCommand
acb2734 plainbox:provider_manager: add CleanCommand
f75b6d0 plainbox:provider_manager: enable build and clean commands

To post a comment you must log in.
Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

Let's land this great feature, +1

review: Approve
Revision history for this message
Daniel Manrique (roadmr) wrote :

Attempt to merge into lp:checkbox failed due to conflicts:

text conflict in plainbox/plainbox/provider_manager.py

Revision history for this message
Zygmunt Krynicki (zyga) wrote :

Rebased and pushed

Revision history for this message
Daniel Manrique (roadmr) wrote :
Download full text (3.3 KiB)

The attempt to merge lp:~zkrynicki/checkbox/fix-1297256 into lp:checkbox failed. Below is the output from the failed tests.

[precise] Bringing VM 'up'
[precise] (timing) 7.69user 3.62system 4:04.12elapsed 4%CPU (0avgtext+0avgdata 21396maxresident)k
[precise] (timing) 0inputs+200outputs (0major+182746minor)pagefaults 0swaps
[precise] Starting tests...
[precise] Checkbox GUI build: PASS
[precise] (timing) 0.88user 0.28system 1:03.05elapsed 1%CPU (0avgtext+0avgdata 19968maxresident)k
[precise] (timing) 0inputs+64outputs (0major+61549minor)pagefaults 0swaps
[precise] (timing) 0.81user 0.32system 0:05.85elapsed 19%CPU (0avgtext+0avgdata 19892maxresident)k
[precise] (timing) 0inputs+8outputs (0major+61688minor)pagefaults 0swaps
[precise] PlainBox test suite: FAIL
[precise] stdout: http://paste.ubuntu.com/7185712/
[precise] stderr: http://paste.ubuntu.com/7185713/
[precise] (timing) Command exited with non-zero status 1
[precise] (timing) 1.04user 0.37system 0:16.53elapsed 8%CPU (0avgtext+0avgdata 19976maxresident)k
[precise] (timing) 0inputs+248outputs (0major+61734minor)pagefaults 0swaps
[precise] PlainBox documentation build: PASS
[precise] (timing) 0.92user 0.29system 0:34.96elapsed 3%CPU (0avgtext+0avgdata 19912maxresident)k
[precise] (timing) 0inputs+40outputs (0major+61441minor)pagefaults 0swaps
[precise] CheckBoxNG test suite: PASS
[precise] (timing) 0.88user 0.30system 0:07.33elapsed 16%CPU (0avgtext+0avgdata 19984maxresident)k
[precise] (timing) 0inputs+16outputs (0major+61900minor)pagefaults 0swaps
[precise] Integration tests: PASS
[precise] (timing) 0.75user 0.39system 0:07.77elapsed 14%CPU (0avgtext+0avgdata 20252maxresident)k
[precise] (timing) 0inputs+8outputs (0major+62047minor)pagefaults 0swaps
[precise] Destroying VM
[trusty] Bringing VM 'up'
[trusty] (timing) 10.61user 4.62system 5:10.64elapsed 4%CPU (0avgtext+0avgdata 21272maxresident)k
[trusty] (timing) 120inputs+288outputs (0major+283570minor)pagefaults 0swaps
[trusty] Starting tests...
[trusty] Checkbox GUI build: PASS
[trusty] (timing) 0.86user 0.40system 1:17.49elapsed 1%CPU (0avgtext+0avgdata 20188maxresident)k
[trusty] (timing) 56inputs+112outputs (1major+60209minor)pagefaults 0swaps
[trusty] (timing) 0.82user 0.31system 0:08.02elapsed 14%CPU (0avgtext+0avgdata 20032maxresident)k
[trusty] (timing) 0inputs+8outputs (0major+59738minor)pagefaults 0swaps
[trusty] PlainBox test suite: PASS
[trusty] (timing) 1.06user 0.42system 0:19.81elapsed 7%CPU (0avgtext+0avgdata 20716maxresident)k
[trusty] (timing) 0inputs+240outputs (0major+59644minor)pagefaults 0swaps
[trusty] PlainBox documentation build: PASS
[trusty] (timing) 0.88user 0.35system 0:37.64elapsed 3%CPU (0avgtext+0avgdata 19988maxresident)k
[trusty] (timing) 0inputs+32outputs (0major+60356minor)pagefaults 0swaps
[trusty] CheckBoxNG test suite: PASS
[trusty] (timing) 0.84user 0.29system 0:07.91elapsed 14%CPU (0avgtext+0avgdata 19984maxresident)k
[trusty] (timing) 0inputs+16outputs (0major+59749minor)pagefaults 0swaps
[trusty] Integration tests: PASS
[trusty] (timing) 0.75user 0.37syste...

Read more...

Revision history for this message
Daniel Manrique (roadmr) wrote :

Thanks, looks OK!

review: Approve
Revision history for this message
Zygmunt Krynicki (zyga) wrote :

Ohh, so precise doesn't have shlex.quote. Ok, hmm...

2855. By Zygmunt Krynicki

plainbox: add copy of shelx.quote

This patch adds an implementation of shlex.quote pulled directly from
Ubuntu 14.04 package of python3.4.

Signed-off-by: Zygmunt Krynicki <email address hidden>

2856. By Zygmunt Krynicki

plainbox:buildsystems: add the buildsystems module

This patch adds the new buildsystems module which contains
the all_buildsystems plugin collection and the implmentation of the
two existing build systems - for makefile and for go.

The new buildsystem classes are added to setup.py entrypoints.

Signed-off-by: Zygmunt Krynicki <email address hidden>

2857. By Zygmunt Krynicki

plainbox:provider_manager: allow certain commands to see setup() keywords

This patch changes the ProviderManagerTool to collect and pass
the keyword arguments from setup() to all the commands that indicate
the support.

Each subcommand class having the 'SUPPORTS_KEYWORD' attribute equal to True
will now get all of the keyword arguments as the second argument to its
initializer.

Signed-off-by: Zygmunt Krynicki <email address hidden>

Conflicts:
 plainbox/plainbox/provider_manager.py

2858. By Zygmunt Krynicki

plainbox:provider_manager: add BuildCommand

This patch adds the implementation of the new `build` command. The new
build command feeds upon the `build_cmd=` argument or delegates the
decision to the list of pluggable build systems.

Signed-off-by: Zygmunt Krynicki <email address hidden>

2859. By Zygmunt Krynicki

plainbox:provider_manager: add CleanCommand

This patch adds the implementation of the new `clean` command. The new
build command feeds upon the `clean_cmd=` argument executes the default
"rm -rf build/bin" shell command.

Signed-off-by: Zygmunt Krynicki <email address hidden>

2860. By Zygmunt Krynicki

plainbox:provider_manager: enable build and clean commands

Fixes: https://bugs.launchpad.net/checkbox/+bug/1297256

Signed-off-by: Zygmunt Krynicki <email address hidden>

Revision history for this message
Zygmunt Krynicki (zyga) wrote :

I've fixed this with the introduction of a new module, _shlex.py, that contains a small fragment of python3.4 shlex.py (with copyright headers intact). Have a look please

Revision history for this message
Daniel Manrique (roadmr) wrote :

The fix looks OK, it could be argued that you could include the mini _shlex.py only if you get an exception when trying to use the method, yadda yadda yadda, but this is OK for me. THanks.

review: Approve
Revision history for this message
Zygmunt Krynicki (zyga) wrote :

Well, I effectively do -- if there is no quote in shelx, we use the bundled copy.

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