annotate test/test_info.py @ 557:9824e409388b

Refactor git branching If a checkout is already available and the branch is changed in the config git command would always fail because it doesn't know the branch to track. Therefore always check if the branch is locally available and if not checkout the remote branch
author Bjoern Ricks <bricks@intevation.de>
date Fri, 02 Sep 2011 08:45:28 +0000
parents e5b66539f893
children
rev   line source
388
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
1 # Copyright (C) 2010 by Intevation GmbH
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
2 # Authors:
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
3 # Bjoern Ricks <bjoern.ricks@intevation.de>
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
4 #
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
5 # This program is free software under the GPL (>=v2)
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
6 # Read the file COPYING coming with the software for details.
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
7
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
8 """Tests for treepkg.status.status"""
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
9
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
10 import unittest
438
3a3cad8f6f60 review changes
Bjoern Ricks <bricks@intevation.de>
parents: 414
diff changeset
11 import os
388
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
12 import sys
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
13
438
3a3cad8f6f60 review changes
Bjoern Ricks <bricks@intevation.de>
parents: 414
diff changeset
14 from treepkg.info.status import TreepkgInfo, TreepkgRootInfo
3a3cad8f6f60 review changes
Bjoern Ricks <bricks@intevation.de>
parents: 414
diff changeset
15
388
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
16 from filesupport import FileTestMixin
439
8e0c81870e5e cleanup modules
Bjoern Ricks <bricks@intevation.de>
parents: 438
diff changeset
17 from treepkg.publish import get_binary_arch
413
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
18
392
e2afbd3c2bf1 write first info about tracks
Bjoern Ricks <bricks@intevation.de>
parents: 388
diff changeset
19 class TreepkgInfoTest(unittest.TestCase, FileTestMixin):
388
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
20 config_contents = """\
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
21 [DEFAULT]
392
e2afbd3c2bf1 write first info about tracks
Bjoern Ricks <bricks@intevation.de>
parents: 388
diff changeset
22 #treepkg_dir: /home/builder/mill
e2afbd3c2bf1 write first info about tracks
Bjoern Ricks <bricks@intevation.de>
parents: 388
diff changeset
23 #tracks_dir: %(treepkg_dir)s/tracks
e2afbd3c2bf1 write first info about tracks
Bjoern Ricks <bricks@intevation.de>
parents: 388
diff changeset
24 tracks_dir: /home/builder/mill/tracks
388
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
25 root_cmd: sudo
392
e2afbd3c2bf1 write first info about tracks
Bjoern Ricks <bricks@intevation.de>
parents: 388
diff changeset
26 pbuilder_dir: %(tracks_dir)s/pbuilder
388
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
27 builderconfig: %(pbuilder_dir)s/pbuilderrc
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
28 deb_email: treepkg@example.com
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
29 deb_fullname: TreePKG
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
30 pkg_revision_template: treepkg%%(pkg_revision)s
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
31 handle_dependencies: False
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
32
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
33 [treepkg]
392
e2afbd3c2bf1 write first info about tracks
Bjoern Ricks <bricks@intevation.de>
parents: 388
diff changeset
34 instructions_file: %(tracks_dir)s/instructions
388
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
35 check_interval: 3600
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
36 name: testtreepkginfo
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
37
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
38 [pkg_simple]
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
39 pkg_basename: simple1
511
e5b66539f893 new variable to set choose the scm for sources and debian dirs
Bjoern Ricks <bricks@intevation.de>
parents: 439
diff changeset
40 url: svn://example.com/%(name)s/trunk
388
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
41 base_dir: %(tracks_dir)s/%(name)s
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
42 packager_class: treepkginfo_test.%(name)s
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
43 handle_dependencies: True
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
44 signing_key_id: abcd1234
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
45 changelog_msg_template: Update to feature branch r%%(revision)s
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
46 version_template: 1.0.svn%%(revision)s
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
47
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
48 """
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
49
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
50 files = [("treepkg.cfg", config_contents),
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
51 ("treepkginfo_test",
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
52 [("__init__.py", ""),
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
53 ("simple.py",
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
54 "\n".join(["class SourcePackager:",
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
55 " pass",
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
56 ""])),
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
57 ])]
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
58
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
59 def setUp(self):
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
60 self.directory = self.create_files("treepkg", self.files)
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
61 self.old_path = sys.path
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
62 sys.path = [self.directory] + sys.path
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
63
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
64 def tearDown(self):
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
65 sys.path = self.old_path
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
66
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
67 def test_createinfo(self):
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
68 config_file = os.path.join(self.directory, "treepkg.cfg")
392
e2afbd3c2bf1 write first info about tracks
Bjoern Ricks <bricks@intevation.de>
parents: 388
diff changeset
69 tpkginfo = TreepkgInfo(config_file)
413
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
70 tpkgrootinfo = tpkginfo.tpkgroot.info
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
71 self.assertEquals("testtreepkginfo", tpkgrootinfo.name)
388
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
72
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
73
392
e2afbd3c2bf1 write first info about tracks
Bjoern Ricks <bricks@intevation.de>
parents: 388
diff changeset
74 class TreepkgRootInfoTest(unittest.TestCase):
388
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
75
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
76 def test_toxml(self):
392
e2afbd3c2bf1 write first info about tracks
Bjoern Ricks <bricks@intevation.de>
parents: 388
diff changeset
77 status = TreepkgRootInfo("testtreepkg")
388
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
78 dom = status.toxml()
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
79 xml = dom.toxml()
413
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
80 self.assertEquals("<info><name>testtreepkg</name></info>", xml)
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
81
439
8e0c81870e5e cleanup modules
Bjoern Ricks <bricks@intevation.de>
parents: 438
diff changeset
82 class TestPublish(unittest.TestCase, FileTestMixin):
413
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
83
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
84 def test_get_binary_arch(self):
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
85 source = get_binary_arch("source")
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
86 self.assertEquals("source", source)
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
87 binary_armel = get_binary_arch("armel")
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
88 self.assertEquals("binary-armel", binary_armel)
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
89 binary_armel = get_binary_arch("binary-armel")
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
90 self.assertEquals("binary-armel", binary_armel)
94a6ae627b31 implemented CacheDb to store copied Packages from build host
Bjoern Ricks <bricks@intevation.de>
parents: 392
diff changeset
91
388
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
92
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
93 if __name__ == '__main__':
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
94 unittest.main()
1af04bfbb1d0 moved test file to test main dir
Bjoern Ricks <bricks@intevation.de>
parents:
diff changeset
95
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)