summaryrefslogtreecommitdiff
path: root/tests/04_test_gbp_submodules.py
blob: c48cac45e8a15776a33f95f6f8c0413519bc8716 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# vim: set fileencoding=utf-8 :

import os
import shutil
import tempfile

import gbp.git
import gbp.command_wrappers

top = None

repo = None
repo_dir = None

submodule = None
submodule_dir = None

def setup():
    global repo, repo_dir, submodule, submodule_dir,  top

    top = os.path.abspath(os.curdir)

    repo_dir = os.path.join(top, 'gbp_%s_repo' % __name__)
    repo = gbp.git.create_repo(repo_dir)

    submodule_dir = os.path.join(top, 'gbp_%s_submodule' % __name__)
    submodule = gbp.git.create_repo(submodule_dir)

    os.chdir(repo_dir)


def teardown():
    os.chdir(top)
    if not os.getenv("GBP_TESTS_NOCLEAN"):
        if repo_dir:
            shutil.rmtree(repo_dir)
        if submodule_dir:
            shutil.rmtree(submodule_dir)


def test_empty_has_submodules():
    """Test empty repo for submodules"""
    assert not repo.has_submodules()


def _add_dummy_data():
    shutil.copy(".git/HEAD", "testfile")
    gbp.command_wrappers.GitAdd()(['-f', '.'])
    gbp.command_wrappers.GitCommand("commit", ["-mfoo", "-a"])()


def test_add_files():
    """Add some dummy data"""
    _add_dummy_data()
    assert True


def test_add_submodule_files():
    """Add some dummy data"""
    os.chdir(submodule_dir)
    _add_dummy_data()
    os.chdir(repo_dir)
    assert True


def test_add_submodule():
    """Add a submodule"""
    repo.add_submodule(submodule_dir)
    gbp.command_wrappers.GitCommand("commit",
                                    ["-m 'Added submodule %s'" % submodule_dir,
                                     "-a"])()

def test_has_submodules():
    """Check for submodules"""
    assert repo.has_submodules()


def test_get_submodules():
    """Check for submodules list of  (name, hash)"""
    submodule = repo.get_submodules("master")[0]
    assert submodule[0] == './gbp_04_test_gbp_submodules_submodule'
    assert len(submodule[1]) == 40

# vim:et:ts=4:sw=4:et:sts=4:ai:set list listchars=tab\:»·,trail\:·: