Mercurial > hg > MakeItSo
annotate examples/doctest.txt @ 224:d81d2e263f59
one more time
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Mon, 14 Dec 2015 13:58:41 -0800 |
parents | de1ecefe301c |
children |
rev | line source |
---|---|
35
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
1 MakeItSo! |
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
2 ========= |
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
3 |
88
712a6d358083
fixed output broke other things
Jeff Hammel <jhammel@mozilla.com>
parents:
87
diff
changeset
|
4 A filesystem templating system for rapid deploy of projects |
712a6d358083
fixed output broke other things
Jeff Hammel <jhammel@mozilla.com>
parents:
87
diff
changeset
|
5 |
712a6d358083
fixed output broke other things
Jeff Hammel <jhammel@mozilla.com>
parents:
87
diff
changeset
|
6 Boilerplate:: |
35
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
7 |
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
8 >>> import makeitso |
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
9 >>> import os |
37
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
10 >>> import shutil |
116
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
11 >>> import sys |
37
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
12 >>> import tempfile |
116
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
13 >>> from subprocess import call |
35
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
14 >>> from StringIO import StringIO |
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
15 |
87
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
16 Basic functionality:: |
35
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
17 |
37
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
18 >>> example = os.path.join(here, 'example.txt') |
35
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
19 >>> template = makeitso.PolyTemplate([example], interactive=False) |
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
20 >>> template.missing() |
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
21 set(['name']) |
90
26b9c3bba04e
make the api for substitute() variables, output
Jeff Hammel <jhammel@mozilla.com>
parents:
88
diff
changeset
|
22 >>> template.substitute(dict(name='foo')) |
36
0cba953a03ca
fixed single-file test case
Jeff Hammel <jhammel@mozilla.com>
parents:
35
diff
changeset
|
23 Hello foo |
35
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
24 |
87
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
25 Substitute to a buffer:: |
35
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
26 |
7e47ff4b0cd3
started writing tests; what a surprise, everything is broken ;)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
27 >>> buffer = StringIO() |
88
712a6d358083
fixed output broke other things
Jeff Hammel <jhammel@mozilla.com>
parents:
87
diff
changeset
|
28 >>> template = makeitso.PolyTemplate([example], interactive=False) |
90
26b9c3bba04e
make the api for substitute() variables, output
Jeff Hammel <jhammel@mozilla.com>
parents:
88
diff
changeset
|
29 >>> template.substitute(dict(name='bar'), output=buffer) |
36
0cba953a03ca
fixed single-file test case
Jeff Hammel <jhammel@mozilla.com>
parents:
35
diff
changeset
|
30 >>> buffer.getvalue().strip() |
0cba953a03ca
fixed single-file test case
Jeff Hammel <jhammel@mozilla.com>
parents:
35
diff
changeset
|
31 'Hello bar' |
37
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
32 |
87
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
33 Substitute to a file:: |
37
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
34 |
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
35 >>> buffer = tempfile.mktemp() |
88
712a6d358083
fixed output broke other things
Jeff Hammel <jhammel@mozilla.com>
parents:
87
diff
changeset
|
36 >>> template = makeitso.PolyTemplate([example], interactive=False) |
90
26b9c3bba04e
make the api for substitute() variables, output
Jeff Hammel <jhammel@mozilla.com>
parents:
88
diff
changeset
|
37 >>> template.substitute(dict(name='fleem'), buffer) |
37
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
38 >>> file(buffer).read().strip() |
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
39 'Hello fleem' |
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
40 >>> os.remove(buffer) |
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
41 |
91
672d2d3ee322
document a bit and add a test for an include example
Jeff Hammel <jhammel@mozilla.com>
parents:
90
diff
changeset
|
42 Including a file:: |
672d2d3ee322
document a bit and add a test for an include example
Jeff Hammel <jhammel@mozilla.com>
parents:
90
diff
changeset
|
43 |
672d2d3ee322
document a bit and add a test for an include example
Jeff Hammel <jhammel@mozilla.com>
parents:
90
diff
changeset
|
44 >>> include_example = os.path.join(here, 'include-example.txt') |
672d2d3ee322
document a bit and add a test for an include example
Jeff Hammel <jhammel@mozilla.com>
parents:
90
diff
changeset
|
45 >>> buffer = tempfile.mktemp() |
672d2d3ee322
document a bit and add a test for an include example
Jeff Hammel <jhammel@mozilla.com>
parents:
90
diff
changeset
|
46 >>> template = makeitso.PolyTemplate([include_example], interactive=False) |
672d2d3ee322
document a bit and add a test for an include example
Jeff Hammel <jhammel@mozilla.com>
parents:
90
diff
changeset
|
47 >>> template.substitute({}, buffer) |
672d2d3ee322
document a bit and add a test for an include example
Jeff Hammel <jhammel@mozilla.com>
parents:
90
diff
changeset
|
48 >>> os.remove(buffer) |
672d2d3ee322
document a bit and add a test for an include example
Jeff Hammel <jhammel@mozilla.com>
parents:
90
diff
changeset
|
49 |
65
0152741621c1
check in a failing test wrt location
Jeff Hammel <jhammel@mozilla.com>
parents:
51
diff
changeset
|
50 Directory case:: |
37
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
51 |
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
52 >>> exampledir = os.path.join(here, 'directory-example') |
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
53 >>> tempdir = tempfile.mkdtemp() |
88
712a6d358083
fixed output broke other things
Jeff Hammel <jhammel@mozilla.com>
parents:
87
diff
changeset
|
54 >>> template = makeitso.PolyTemplate([exampledir], interactive=False) |
37
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
55 >>> sorted(template.missing()) |
7cee2869bd7b
stub out directory example
Jeff Hammel <jhammel@mozilla.com>
parents:
36
diff
changeset
|
56 ['bar', 'foo', 'subdir'] |
90
26b9c3bba04e
make the api for substitute() variables, output
Jeff Hammel <jhammel@mozilla.com>
parents:
88
diff
changeset
|
57 >>> template.substitute(dict(foo='It', bar='life', subdir='mysubdir'), output=tempdir) |
39
a2cdce0108e1
get directory substitution sorta working; start stubbing mixed case
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
58 >>> sorted(os.listdir(tempdir)) |
a2cdce0108e1
get directory substitution sorta working; start stubbing mixed case
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
59 ['foo.txt', 'mysubdir'] |
a2cdce0108e1
get directory substitution sorta working; start stubbing mixed case
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
60 >>> file(os.path.join(tempdir, 'foo.txt')).read().strip() |
a2cdce0108e1
get directory substitution sorta working; start stubbing mixed case
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
61 'It is a wonderful life' |
a2cdce0108e1
get directory substitution sorta working; start stubbing mixed case
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
62 >>> os.listdir(os.path.join(tempdir, 'mysubdir')) |
a2cdce0108e1
get directory substitution sorta working; start stubbing mixed case
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
63 ['life.txt'] |
a2cdce0108e1
get directory substitution sorta working; start stubbing mixed case
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
64 >>> file(os.path.join(tempdir, 'mysubdir', 'life.txt')).read().strip() |
a2cdce0108e1
get directory substitution sorta working; start stubbing mixed case
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
65 'It' |
a2cdce0108e1
get directory substitution sorta working; start stubbing mixed case
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
66 >>> shutil.rmtree(tempdir) |
a2cdce0108e1
get directory substitution sorta working; start stubbing mixed case
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
67 |
65
0152741621c1
check in a failing test wrt location
Jeff Hammel <jhammel@mozilla.com>
parents:
51
diff
changeset
|
68 Mixed case:: |
39
a2cdce0108e1
get directory substitution sorta working; start stubbing mixed case
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
69 |
51
9a0014a760d1
missed an interactive=False
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
70 >>> template = makeitso.PolyTemplate([example, exampledir], interactive=False) |
40
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
71 >>> variables = sorted(template.missing()) |
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
72 >>> variables |
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
73 ['bar', 'foo', 'name', 'subdir'] |
39
a2cdce0108e1
get directory substitution sorta working; start stubbing mixed case
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
74 |
65
0152741621c1
check in a failing test wrt location
Jeff Hammel <jhammel@mozilla.com>
parents:
51
diff
changeset
|
75 You need to provide output for mixing files and directory templates:: |
40
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
76 |
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
77 >>> variables = dict([(i, i.title()) for i in variables]) |
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
78 >>> try: |
90
26b9c3bba04e
make the api for substitute() variables, output
Jeff Hammel <jhammel@mozilla.com>
parents:
88
diff
changeset
|
79 ... template.substitute(variables) |
40
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
80 ... except AssertionError, e: |
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
81 ... pass |
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
82 >>> e |
88
712a6d358083
fixed output broke other things
Jeff Hammel <jhammel@mozilla.com>
parents:
87
diff
changeset
|
83 AssertionError() |
40
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
84 |
65
0152741621c1
check in a failing test wrt location
Jeff Hammel <jhammel@mozilla.com>
parents:
51
diff
changeset
|
85 Provide an output:: |
40
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
86 |
88
712a6d358083
fixed output broke other things
Jeff Hammel <jhammel@mozilla.com>
parents:
87
diff
changeset
|
87 >>> template = makeitso.PolyTemplate([example, exampledir], interactive=False) |
90
26b9c3bba04e
make the api for substitute() variables, output
Jeff Hammel <jhammel@mozilla.com>
parents:
88
diff
changeset
|
88 >>> template.substitute(variables, tempdir) |
40
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
89 >>> sorted(os.listdir(tempdir)) |
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
90 ['Subdir', 'example.txt', 'foo.txt'] |
6b4c8f23192f
test and fix mixed output case
Jeff Hammel <jhammel@mozilla.com>
parents:
39
diff
changeset
|
91 >>> shutil.rmtree(tempdir) |
65
0152741621c1
check in a failing test wrt location
Jeff Hammel <jhammel@mozilla.com>
parents:
51
diff
changeset
|
92 |
0152741621c1
check in a failing test wrt location
Jeff Hammel <jhammel@mozilla.com>
parents:
51
diff
changeset
|
93 Test API templates:: |
0152741621c1
check in a failing test wrt location
Jeff Hammel <jhammel@mozilla.com>
parents:
51
diff
changeset
|
94 |
0152741621c1
check in a failing test wrt location
Jeff Hammel <jhammel@mozilla.com>
parents:
51
diff
changeset
|
95 >>> from makeitso.template import MakeItSoTemplate, Variable |
0152741621c1
check in a failing test wrt location
Jeff Hammel <jhammel@mozilla.com>
parents:
51
diff
changeset
|
96 >>> class MyTemplate(MakeItSoTemplate): |
0152741621c1
check in a failing test wrt location
Jeff Hammel <jhammel@mozilla.com>
parents:
51
diff
changeset
|
97 ... name = 'foo' |
0152741621c1
check in a failing test wrt location
Jeff Hammel <jhammel@mozilla.com>
parents:
51
diff
changeset
|
98 ... templates = ['example.txt'] |
0152741621c1
check in a failing test wrt location
Jeff Hammel <jhammel@mozilla.com>
parents:
51
diff
changeset
|
99 ... vars = [Variable(name='name', default='bar')] |
67
a0f7bfa98755
API templates now hobble along on their own two feet
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
100 >>> buffer = tempfile.mktemp() |
88
712a6d358083
fixed output broke other things
Jeff Hammel <jhammel@mozilla.com>
parents:
87
diff
changeset
|
101 >>> apitemplate = MyTemplate(interactive=False) |
100
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
102 >>> apitemplate.missing() |
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
103 set([]) |
90
26b9c3bba04e
make the api for substitute() variables, output
Jeff Hammel <jhammel@mozilla.com>
parents:
88
diff
changeset
|
104 >>> apitemplate.substitute({}, buffer) |
67
a0f7bfa98755
API templates now hobble along on their own two feet
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
105 >>> file(buffer).read().strip() |
a0f7bfa98755
API templates now hobble along on their own two feet
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
106 'Hello bar' |
a0f7bfa98755
API templates now hobble along on their own two feet
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
107 >>> os.remove(buffer) |
87
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
108 |
100
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
109 If you dont use the defaults, then you will get a missing variable:: |
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
110 |
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
111 >>> apitemplate.usedefaults = False |
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
112 >>> apitemplate.missing() |
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
113 set(['name']) |
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
114 >>> try: |
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
115 ... apitemplate.substitute({}) |
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
116 ... except Exception, e: |
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
117 ... pass |
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
118 >>> isinstance(e, makeitso.MissingVariablesException) |
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
119 True |
b54898f7d8a9
now API template variables seem to work
Jeff Hammel <jhammel@mozilla.com>
parents:
95
diff
changeset
|
120 |
95
e74baa8e6df4
fix CLI interface a bit....write a test for it
Jeff Hammel <jhammel@mozilla.com>
parents:
91
diff
changeset
|
121 Test CLI handler: |
e74baa8e6df4
fix CLI interface a bit....write a test for it
Jeff Hammel <jhammel@mozilla.com>
parents:
91
diff
changeset
|
122 |
e74baa8e6df4
fix CLI interface a bit....write a test for it
Jeff Hammel <jhammel@mozilla.com>
parents:
91
diff
changeset
|
123 >>> from makeitso.cli import MakeItSoCLI |
e74baa8e6df4
fix CLI interface a bit....write a test for it
Jeff Hammel <jhammel@mozilla.com>
parents:
91
diff
changeset
|
124 >>> cli = MakeItSoCLI(MyTemplate) |
e74baa8e6df4
fix CLI interface a bit....write a test for it
Jeff Hammel <jhammel@mozilla.com>
parents:
91
diff
changeset
|
125 >>> buffer = tempfile.mktemp() |
e74baa8e6df4
fix CLI interface a bit....write a test for it
Jeff Hammel <jhammel@mozilla.com>
parents:
91
diff
changeset
|
126 >>> cli(buffer) |
e74baa8e6df4
fix CLI interface a bit....write a test for it
Jeff Hammel <jhammel@mozilla.com>
parents:
91
diff
changeset
|
127 >>> os.remove(buffer) |
e74baa8e6df4
fix CLI interface a bit....write a test for it
Jeff Hammel <jhammel@mozilla.com>
parents:
91
diff
changeset
|
128 |
87
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
129 Test to make sure permissions are preserved. This won't work on windows:: |
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
130 |
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
131 >>> buffer = tempfile.mktemp() |
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
132 >>> f = file(buffer, 'w') |
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
133 >>> print >> f, '#!/bin/bash\necho foo' |
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
134 >>> f.close() |
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
135 >>> os.chmod(buffer, 0755) |
88
712a6d358083
fixed output broke other things
Jeff Hammel <jhammel@mozilla.com>
parents:
87
diff
changeset
|
136 >>> uritemplate = makeitso.URITemplate(example, interactive=False) |
90
26b9c3bba04e
make the api for substitute() variables, output
Jeff Hammel <jhammel@mozilla.com>
parents:
88
diff
changeset
|
137 >>> uritemplate.substitute(dict(name='bar'), buffer) |
87
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
138 >>> ('%o' % os.stat(buffer).st_mode).endswith('755') |
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
139 True |
3571417ef92e
interpolate file permissions
Jeff Hammel <jhammel@mozilla.com>
parents:
67
diff
changeset
|
140 >>> os.remove(buffer) |
115
7dbc3cdadffe
add a test for the python-package template
Jeff Hammel <jhammel@mozilla.com>
parents:
100
diff
changeset
|
141 |
7dbc3cdadffe
add a test for the python-package template
Jeff Hammel <jhammel@mozilla.com>
parents:
100
diff
changeset
|
142 Test python package template using the entry point:: |
7dbc3cdadffe
add a test for the python-package template
Jeff Hammel <jhammel@mozilla.com>
parents:
100
diff
changeset
|
143 |
7dbc3cdadffe
add a test for the python-package template
Jeff Hammel <jhammel@mozilla.com>
parents:
100
diff
changeset
|
144 >>> 'python-package' in makeitso.get_entry_points() |
7dbc3cdadffe
add a test for the python-package template
Jeff Hammel <jhammel@mozilla.com>
parents:
100
diff
changeset
|
145 True |
7dbc3cdadffe
add a test for the python-package template
Jeff Hammel <jhammel@mozilla.com>
parents:
100
diff
changeset
|
146 >>> template = makeitso.PolyTemplate(['python-package'], interactive=False) |
7dbc3cdadffe
add a test for the python-package template
Jeff Hammel <jhammel@mozilla.com>
parents:
100
diff
changeset
|
147 >>> missing = template.missing() |
7dbc3cdadffe
add a test for the python-package template
Jeff Hammel <jhammel@mozilla.com>
parents:
100
diff
changeset
|
148 >>> sorted(missing) |
7dbc3cdadffe
add a test for the python-package template
Jeff Hammel <jhammel@mozilla.com>
parents:
100
diff
changeset
|
149 ['author', 'description', 'email', 'repo', 'url'] |
7dbc3cdadffe
add a test for the python-package template
Jeff Hammel <jhammel@mozilla.com>
parents:
100
diff
changeset
|
150 >>> tempdir = tempfile.mkdtemp() |
7dbc3cdadffe
add a test for the python-package template
Jeff Hammel <jhammel@mozilla.com>
parents:
100
diff
changeset
|
151 >>> variables = dict([(i, i) for i in missing]) |
116
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
152 >>> projdir = os.path.join(tempdir, 'MyProject') |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
153 >>> template.substitute(variables, output=projdir) |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
154 |
117
de1ecefe301c
minor docstring correction
Jeff Hammel <jhammel@mozilla.com>
parents:
116
diff
changeset
|
155 Make sure you actually get a package:: |
116
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
156 |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
157 >>> cwd = os.getcwd() |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
158 >>> os.chdir(projdir) |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
159 >>> os.path.exists('setup.py') |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
160 True |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
161 >>> call([sys.executable, 'setup.py', 'egg_info']) |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
162 0 |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
163 >>> call([sys.executable, 'setup.py', 'sdist']) |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
164 0 |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
165 >>> os.path.exists('dist') and os.path.isdir('dist') |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
166 True |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
167 >>> len(os.listdir('dist')) > 0 |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
168 True |
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
169 >>> os.chdir(cwd) |
115
7dbc3cdadffe
add a test for the python-package template
Jeff Hammel <jhammel@mozilla.com>
parents:
100
diff
changeset
|
170 >>> shutil.rmtree(tempdir) |
116
908e9a653668
fix a syntax error in the python template thanks to some friendly tests
Jeff Hammel <jhammel@mozilla.com>
parents:
115
diff
changeset
|
171 |