~gerboland/unity/8-refactor-wm-and-test

« back to all changes in this revision

Viewing changes to .bazaar/plugins/makecheck_unity_phablet.py

  • Committer: Michał Sawicz
  • Date: 2013-06-05 22:03:08 UTC
  • Revision ID: michal.sawicz@canonical.com-20130605220308-yny8fv3futtr04fg
Inital unity8 commit.

Previous history can be found at https://code.launchpad.net/~unity-team/unity/phablet

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python
 
2
# Copyright 2013 Canonical Ltd.
 
3
#
 
4
# This program is free software; you can redistribute it and/or modify
 
5
# it under the terms of the GNU Lesser General Public License as published by
 
6
# the Free Software Foundation; version 3.
 
7
#
 
8
# This program is distributed in the hope that it will be useful,
 
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
# GNU Lesser General Public License for more details.
 
12
#
 
13
# You should have received a copy of the GNU Lesser General Public License
 
14
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
15
 
 
16
import os, subprocess
 
17
from bzrlib import branch, errors
 
18
from bzrlib.urlutils import dirname, local_path_from_url
 
19
 
 
20
def execute_makecheck(local_branch, master_branch, old_revision_number, old_revision_id, future_revision_number, future_revision_id, tree_delta, future_tree):
 
21
    if not master_branch.basis_tree().has_filename("Shell.qml"):
 
22
        return
 
23
 
 
24
    os.chdir(local_path_from_url(master_branch.base))
 
25
 
 
26
    print "Executing 'make check'.."
 
27
    if (subprocess.call("make check", shell=True) != 0):
 
28
        raise errors.BzrError("Unit tests failed, fix them before committing!")
 
29
 
 
30
    print "Executing 'make qmluitests'.."
 
31
    if (subprocess.call("make qmluitests", shell=True) != 0):
 
32
        raise errors.BzrError("QML UI tests failed, fix them before committing!")
 
33
 
 
34
branch.Branch.hooks.install_named_hook('pre_commit', execute_makecheck, 'make check pre-commit')