Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100755 537 lines (417 sloc) 21.749 kb
330c51eb » mludvig
2008-09-09 * testsuite, run-tests.py: Added testsuite with first few tests.
1 #!/usr/bin/env python
f11319be » mludvig
2008-11-30 * run-tests.py: Added a lot of new tests.
2 # -*- coding=utf-8 -*-
330c51eb » mludvig
2008-09-09 * testsuite, run-tests.py: Added testsuite with first few tests.
3
4 ## Amazon S3cmd - testsuite
5 ## Author: Michal Ludvig <michal@logix.cz>
6 ## http://www.logix.cz/michal
7 ## License: GPL Version 2
8
9 import sys
9856527a » mludvig
2008-12-29 * s3cmd, run-tests.py: Make it work on Windows.
10 import os
330c51eb » mludvig
2008-09-09 * testsuite, run-tests.py: Added testsuite with first few tests.
11 import re
12 from subprocess import Popen, PIPE, STDOUT
f891a814 » mludvig
2008-12-31 * run-tests.py: Don't assume utf-8, use preferred encoding
13 import locale
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
14 import pwd
330c51eb » mludvig
2008-09-09 * testsuite, run-tests.py: Added testsuite with first few tests.
15
16 count_pass = 0
17 count_fail = 0
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
18 count_skip = 0
19
20 test_counter = 0
21 run_tests = []
22 exclude_tests = []
23
3677a3ba » mludvig
2009-05-27 * run-tests.py: Added --verbose mode.
24 verbose = False
25
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
26 if os.name == "posix":
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
27 have_wget = True
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
28 elif os.name == "nt":
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
29 have_wget = False
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
30 else:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
31 print "Unknown platform: %s" % os.name
32 sys.exit(1)
330c51eb » mludvig
2008-09-09 * testsuite, run-tests.py: Added testsuite with first few tests.
33
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
34 ## Unpack testsuite/ directory
35 if not os.path.isdir('testsuite') and os.path.isfile('testsuite.tar.gz'):
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
36 os.system("tar -xz -f testsuite.tar.gz")
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
37 if not os.path.isdir('testsuite'):
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
38 print "Something went wrong while unpacking testsuite.tar.gz"
39 sys.exit(1)
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
40
1ba1f69a » mludvig
2010-12-23 Fixed testsuite for --(no-)check-md5
41 os.system("tar -xf testsuite/checksum.tar -C testsuite")
42 if not os.path.isfile('testsuite/checksum/cksum33.txt'):
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
43 print "Something went wrong while unpacking testsuite/checkum.tar"
44 sys.exit(1)
45
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
46 ## Fix up permissions for permission-denied tests
47 os.chmod("testsuite/permission-tests/permission-denied-dir", 0444)
48 os.chmod("testsuite/permission-tests/permission-denied.txt", 0000)
49
4986ae85 » mludvig
2008-12-31 * run-tests.py: Adapted to the above change.
50 ## Patterns for Unicode tests
51 patterns = {}
52 patterns['UTF-8'] = u"ŪņЇЌœđЗ/☺ unicode € rocks ™"
53 patterns['GBK'] = u"12月31日/1-特色條目"
54
55 encoding = locale.getpreferredencoding()
56 if not encoding:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
57 print "Guessing current system encoding failed. Consider setting $LANG variable."
58 sys.exit(1)
5f7a2d5f » mludvig
2008-12-31 * s3cmd: Reworked internal handling of unicode vs encoded filenames.
59 else:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
60 print "System encoding: " + encoding
4986ae85 » mludvig
2008-12-31 * run-tests.py: Adapted to the above change.
61
62 have_encoding = os.path.isdir('testsuite/encodings/' + encoding)
63 if not have_encoding and os.path.isfile('testsuite/encodings/%s.tar.gz' % encoding):
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
64 os.system("tar xvz -C testsuite/encodings -f testsuite/encodings/%s.tar.gz" % encoding)
65 have_encoding = os.path.isdir('testsuite/encodings/' + encoding)
4986ae85 » mludvig
2008-12-31 * run-tests.py: Adapted to the above change.
66
67 if have_encoding:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
68 #enc_base_remote = "%s/xyz/%s/" % (pbucket(1), encoding)
69 enc_pattern = patterns[encoding]
5f7a2d5f » mludvig
2008-12-31 * s3cmd: Reworked internal handling of unicode vs encoded filenames.
70 else:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
71 print encoding + " specific files not found."
4986ae85 » mludvig
2008-12-31 * run-tests.py: Adapted to the above change.
72
76ce6441 » mludvig
2010-07-08 * run-tests.py, testsuite/crappy-file-name.tar.gz:
73 if not os.path.isdir('testsuite/crappy-file-name'):
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
74 os.system("tar xvz -C testsuite -f testsuite/crappy-file-name.tar.gz")
75 # TODO: also unpack if the tarball is newer than the directory timestamp
76 # for instance when a new version was pulled from SVN.
76ce6441 » mludvig
2010-07-08 * run-tests.py, testsuite/crappy-file-name.tar.gz:
77
330c51eb » mludvig
2008-09-09 * testsuite, run-tests.py: Added testsuite with first few tests.
78 def test(label, cmd_args = [], retcode = 0, must_find = [], must_not_find = [], must_find_re = [], must_not_find_re = []):
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
79 def command_output():
80 print "----"
81 print " ".join([arg.find(" ")>=0 and "'%s'" % arg or arg for arg in cmd_args])
82 print "----"
83 print stdout
84 print "----"
85
86 def failure(message = ""):
87 global count_fail
88 if message:
89 message = " (%r)" % message
90 print "\x1b[31;1mFAIL%s\x1b[0m" % (message)
91 count_fail += 1
92 command_output()
93 #return 1
94 sys.exit(1)
95 def success(message = ""):
96 global count_pass
97 if message:
98 message = " (%r)" % message
99 print "\x1b[32;1mOK\x1b[0m%s" % (message)
100 count_pass += 1
101 if verbose:
102 command_output()
103 return 0
104 def skip(message = ""):
105 global count_skip
106 if message:
107 message = " (%r)" % message
108 print "\x1b[33;1mSKIP\x1b[0m%s" % (message)
109 count_skip += 1
110 return 0
111 def compile_list(_list, regexps = False):
112 if regexps == False:
113 _list = [re.escape(item.encode(encoding, "replace")) for item in _list]
114
115 return [re.compile(item, re.MULTILINE) for item in _list]
116
117 global test_counter
118 test_counter += 1
119 print ("%3d %s " % (test_counter, label)).ljust(30, "."),
120 sys.stdout.flush()
121
122 if run_tests.count(test_counter) == 0 or exclude_tests.count(test_counter) > 0:
123 return skip()
124
125 if not cmd_args:
126 return skip()
127
128 p = Popen(cmd_args, stdout = PIPE, stderr = STDOUT, universal_newlines = True)
129 stdout, stderr = p.communicate()
130 if retcode != p.returncode:
131 return failure("retcode: %d, expected: %d" % (p.returncode, retcode))
132
133 if type(must_find) not in [ list, tuple ]: must_find = [must_find]
134 if type(must_find_re) not in [ list, tuple ]: must_find_re = [must_find_re]
135 if type(must_not_find) not in [ list, tuple ]: must_not_find = [must_not_find]
136 if type(must_not_find_re) not in [ list, tuple ]: must_not_find_re = [must_not_find_re]
137
138 find_list = []
139 find_list.extend(compile_list(must_find))
140 find_list.extend(compile_list(must_find_re, regexps = True))
141 find_list_patterns = []
142 find_list_patterns.extend(must_find)
143 find_list_patterns.extend(must_find_re)
144
145 not_find_list = []
146 not_find_list.extend(compile_list(must_not_find))
147 not_find_list.extend(compile_list(must_not_find_re, regexps = True))
148 not_find_list_patterns = []
149 not_find_list_patterns.extend(must_not_find)
150 not_find_list_patterns.extend(must_not_find_re)
151
152 for index in range(len(find_list)):
153 match = find_list[index].search(stdout)
154 if not match:
155 return failure("pattern not found: %s" % find_list_patterns[index])
156 for index in range(len(not_find_list)):
157 match = not_find_list[index].search(stdout)
158 if match:
159 return failure("pattern found: %s (match: %s)" % (not_find_list_patterns[index], match.group(0)))
160
161 return success()
330c51eb » mludvig
2008-09-09 * testsuite, run-tests.py: Added testsuite with first few tests.
162
163 def test_s3cmd(label, cmd_args = [], **kwargs):
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
164 if not cmd_args[0].endswith("s3cmd"):
165 cmd_args.insert(0, "python")
166 cmd_args.insert(1, "s3cmd")
9856527a » mludvig
2008-12-29 * s3cmd, run-tests.py: Make it work on Windows.
167
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
168 return test(label, cmd_args, **kwargs)
330c51eb » mludvig
2008-09-09 * testsuite, run-tests.py: Added testsuite with first few tests.
169
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
170 def test_mkdir(label, dir_name):
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
171 if os.name in ("posix", "nt"):
172 cmd = ['mkdir', '-p']
173 else:
174 print "Unknown platform: %s" % os.name
175 sys.exit(1)
176 cmd.append(dir_name)
177 return test(label, cmd)
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
178
179 def test_rmdir(label, dir_name):
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
180 if os.path.isdir(dir_name):
181 if os.name == "posix":
182 cmd = ['rm', '-rf']
183 elif os.name == "nt":
184 cmd = ['rmdir', '/s/q']
185 else:
186 print "Unknown platform: %s" % os.name
187 sys.exit(1)
188 cmd.append(dir_name)
189 return test(label, cmd)
190 else:
191 return test(label, [])
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
192
3894a49a » mludvig
2009-01-21 * run-tests.py: Updated paths for the new sync
193 def test_flushdir(label, dir_name):
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
194 test_rmdir(label + "(rm)", dir_name)
195 return test_mkdir(label + "(mk)", dir_name)
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
196
2d067a6d » mludvig
2010-12-23 * s3cmd: Added --(no-)check-md5 for [sync].
197 def test_copy(label, src_file, dst_file):
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
198 if os.name == "posix":
199 cmd = ['cp', '-f']
200 elif os.name == "nt":
201 cmd = ['copy']
202 else:
203 print "Unknown platform: %s" % os.name
204 sys.exit(1)
205 cmd.append(src_file)
206 cmd.append(dst_file)
207 return test(label, cmd)
2d067a6d » mludvig
2010-12-23 * s3cmd: Added --(no-)check-md5 for [sync].
208
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
209 try:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
210 pwd = pwd.getpwuid(os.getuid())
211 bucket_prefix = "%s.%s-" % (pwd.pw_name, pwd.pw_uid)
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
212 except:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
213 bucket_prefix = ''
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
214 print "Using bucket prefix: '%s'" % bucket_prefix
215
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
216 argv = sys.argv[1:]
217 while argv:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
218 arg = argv.pop(0)
219 if arg.startswith('--bucket-prefix='):
220 print "Usage: '--bucket-prefix PREFIX', not '--bucket-prefix=PREFIX'"
221 sys.exit(0)
222 if arg in ("-h", "--help"):
223 print "%s A B K..O -N" % sys.argv[0]
224 print "Run tests number A, B and K through to O, except for N"
225 sys.exit(0)
226 if arg in ("-l", "--list"):
227 exclude_tests = range(0, 999)
228 break
229 if arg in ("-v", "--verbose"):
230 verbose = True
231 continue
232 if arg in ("-p", "--bucket-prefix"):
233 try:
234 bucket_prefix = argv.pop(0)
235 except IndexError:
236 print "Bucket prefix option must explicitly supply a bucket name prefix"
237 sys.exit(0)
238 continue
239 if arg.find("..") >= 0:
240 range_idx = arg.find("..")
241 range_start = arg[:range_idx] or 0
242 range_end = arg[range_idx+2:] or 999
243 run_tests.extend(range(int(range_start), int(range_end) + 1))
244 elif arg.startswith("-"):
245 exclude_tests.append(int(arg[1:]))
246 else:
247 run_tests.append(int(arg))
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
248
249 if not run_tests:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
250 run_tests = range(0, 999)
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
251
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
252 # helper functions for generating bucket names
253 def bucket(tail):
254 '''Test bucket name'''
2895644c » redsymbol
2010-07-25 use Autotest-3, not autotest-3
255 label = 'autotest'
256 if str(tail) == '3':
257 label = 'Autotest'
258 return '%ss3cmd-%s-%s' % (bucket_prefix, label, tail)
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
259
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
260 def pbucket(tail):
261 '''Like bucket(), but prepends "s3://" for you'''
262 return 's3://' + bucket(tail)
263
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
264 ## ====== Remove test buckets
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
265 test_s3cmd("Remove test buckets", ['rb', '-r', pbucket(1), pbucket(2), pbucket(3)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
266 must_find = [ "Bucket '%s/' removed" % pbucket(1),
267 "Bucket '%s/' removed" % pbucket(2),
268 "Bucket '%s/' removed" % pbucket(3) ])
f11319be » mludvig
2008-11-30 * run-tests.py: Added a lot of new tests.
269
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
270
271 ## ====== Create one bucket (EU)
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
272 test_s3cmd("Create one bucket (EU)", ['mb', '--bucket-location=EU', pbucket(1)],
273 must_find = "Bucket '%s/' created" % pbucket(1))
330c51eb » mludvig
2008-09-09 * testsuite, run-tests.py: Added testsuite with first few tests.
274
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
275
276
277 ## ====== Create multiple buckets
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
278 test_s3cmd("Create multiple buckets", ['mb', pbucket(2), pbucket(3)],
279 must_find = [ "Bucket '%s/' created" % pbucket(2), "Bucket '%s/' created" % pbucket(3)])
330c51eb » mludvig
2008-09-09 * testsuite, run-tests.py: Added testsuite with first few tests.
280
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
281
282 ## ====== Invalid bucket name
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
283 test_s3cmd("Invalid bucket name", ["mb", "--bucket-location=EU", pbucket('EU')],
284 retcode = 1,
285 must_find = "ERROR: Parameter problem: Bucket name '%s' contains disallowed character" % bucket('EU'),
286 must_not_find_re = "Bucket.*created")
330c51eb » mludvig
2008-09-09 * testsuite, run-tests.py: Added testsuite with first few tests.
287
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
288
289 ## ====== Buckets list
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
290 test_s3cmd("Buckets list", ["ls"],
291 must_find = [ "autotest-1", "autotest-2", "Autotest-3" ], must_not_find_re = "autotest-EU")
f11319be » mludvig
2008-11-30 * run-tests.py: Added a lot of new tests.
292
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
293
294 ## ====== Sync to S3
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
295 test_s3cmd("Sync to S3", ['sync', 'testsuite/', pbucket(1) + '/xyz/', '--exclude', 'demo/*', '--exclude', '*.png', '--no-encrypt', '--exclude-from', 'testsuite/exclude.encodings' ],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
296 must_find = [ "WARNING: 32 non-printable characters replaced in: crappy-file-name/non-printables ^A^B^C^D^E^F^G^H^I^J^K^L^M^N^O^P^Q^R^S^T^U^V^W^X^Y^Z^[^\^]^^^_^? +-[\]^<>%%\"'#{}`&?.end",
297 "WARNING: File can not be uploaded: testsuite/permission-tests/permission-denied.txt: Permission denied",
298 "stored as '%s/xyz/crappy-file-name/non-printables ^A^B^C^D^E^F^G^H^I^J^K^L^M^N^O^P^Q^R^S^T^U^V^W^X^Y^Z^[^\^]^^^_^? +-[\\]^<>%%%%\"'#{}`&?.end'" % pbucket(1) ],
299 must_not_find_re = [ "demo/", "\.png$", "permission-denied-dir" ])
4986ae85 » mludvig
2008-12-31 * run-tests.py: Adapted to the above change.
300
301 if have_encoding:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
302 ## ====== Sync UTF-8 / GBK / ... to S3
303 test_s3cmd("Sync %s to S3" % encoding, ['sync', 'testsuite/encodings/' + encoding, '%s/xyz/encodings/' % pbucket(1), '--exclude', 'demo/*', '--no-encrypt' ],
304 must_find = [ u"File 'testsuite/encodings/%(encoding)s/%(pattern)s' stored as '%(pbucket)s/xyz/encodings/%(encoding)s/%(pattern)s'" % { 'encoding' : encoding, 'pattern' : enc_pattern , 'pbucket' : pbucket(1)} ])
9856527a » mludvig
2008-12-29 * s3cmd, run-tests.py: Make it work on Windows.
305
306
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
307 ## ====== List bucket content
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
308 test_s3cmd("List bucket content", ['ls', '%s/xyz/' % pbucket(1) ],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
309 must_find_re = [ u"DIR %s/xyz/binary/$" % pbucket(1) , u"DIR %s/xyz/etc/$" % pbucket(1) ],
310 must_not_find = [ u"random-crap.md5", u"/demo" ])
9856527a » mludvig
2008-12-29 * s3cmd, run-tests.py: Make it work on Windows.
311
312
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
313 ## ====== List bucket recursive
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
314 must_find = [ u"%s/xyz/binary/random-crap.md5" % pbucket(1) ]
4986ae85 » mludvig
2008-12-31 * run-tests.py: Adapted to the above change.
315 if have_encoding:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
316 must_find.append(u"%(pbucket)s/xyz/encodings/%(encoding)s/%(pattern)s" % { 'encoding' : encoding, 'pattern' : enc_pattern, 'pbucket' : pbucket(1) })
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
317
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
318 test_s3cmd("List bucket recursive", ['ls', '--recursive', pbucket(1)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
319 must_find = must_find,
320 must_not_find = [ "logo.png" ])
9856527a » mludvig
2008-12-29 * s3cmd, run-tests.py: Make it work on Windows.
321
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
322 ## ====== FIXME
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
323 # test_s3cmd("Recursive put", ['put', '--recursive', 'testsuite/etc', '%s/xyz/' % pbucket(1) ])
9856527a » mludvig
2008-12-29 * s3cmd, run-tests.py: Make it work on Windows.
324
f11319be » mludvig
2008-11-30 * run-tests.py: Added a lot of new tests.
325
3894a49a » mludvig
2009-01-21 * run-tests.py: Updated paths for the new sync
326 ## ====== Clean up local destination dir
327 test_flushdir("Clean testsuite-out/", "testsuite-out")
f11319be » mludvig
2008-11-30 * run-tests.py: Added a lot of new tests.
328
329
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
330 ## ====== Sync from S3
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
331 must_find = [ "File '%s/xyz/binary/random-crap.md5' stored as 'testsuite-out/xyz/binary/random-crap.md5'" % pbucket(1) ]
4986ae85 » mludvig
2008-12-31 * run-tests.py: Adapted to the above change.
332 if have_encoding:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
333 must_find.append(u"File '%(pbucket)s/xyz/encodings/%(encoding)s/%(pattern)s' stored as 'testsuite-out/xyz/encodings/%(encoding)s/%(pattern)s' " % { 'encoding' : encoding, 'pattern' : enc_pattern, 'pbucket' : pbucket(1) })
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
334 test_s3cmd("Sync from S3", ['sync', '%s/xyz' % pbucket(1), 'testsuite-out'],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
335 must_find = must_find)
f11319be » mludvig
2008-11-30 * run-tests.py: Added a lot of new tests.
336
337
73bf1c4d » mludvig
2010-10-24 * s3cmd: Don't fail when a local node is a directory
338 ## ====== Remove 'demo' directory
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
339 test_rmdir("Remove 'dir-test/'", "testsuite-out/xyz/dir-test/")
73bf1c4d » mludvig
2010-10-24 * s3cmd: Don't fail when a local node is a directory
340
341
342 ## ====== Create dir with name of a file
96222f57 » mludvig
2010-10-26 * run-tests.py, testsuite.tar.gz: Keep the testsuite in
343 test_mkdir("Create file-dir dir", "testsuite-out/xyz/dir-test/file-dir")
73bf1c4d » mludvig
2010-10-24 * s3cmd: Don't fail when a local node is a directory
344
345
346 ## ====== Skip dst dirs
347 test_s3cmd("Skip over dir", ['sync', '%s/xyz' % pbucket(1), 'testsuite-out'],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
348 must_find = "WARNING: testsuite-out/xyz/dir-test/file-dir is a directory - skipping over")
73bf1c4d » mludvig
2010-10-24 * s3cmd: Don't fail when a local node is a directory
349
350
3894a49a » mludvig
2009-01-21 * run-tests.py: Updated paths for the new sync
351 ## ====== Clean up local destination dir
352 test_flushdir("Clean testsuite-out/", "testsuite-out")
353
354
e3244a8c » mludvig
2009-01-07 * S3/ACL.py: Move attributes from class to instance.
355 ## ====== Put public, guess MIME
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
356 test_s3cmd("Put public, guess MIME", ['put', '--guess-mime-type', '--acl-public', 'testsuite/etc/logo.png', '%s/xyz/etc/logo.png' % pbucket(1)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
357 must_find = [ "stored as '%s/xyz/etc/logo.png'" % pbucket(1) ])
e3244a8c » mludvig
2009-01-07 * S3/ACL.py: Move attributes from class to instance.
358
359
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
360 ## ====== Retrieve from URL
361 if have_wget:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
362 test("Retrieve from URL", ['wget', '-O', 'testsuite-out/logo.png', 'http://%s.s3.amazonaws.com/xyz/etc/logo.png' % bucket(1)],
363 must_find_re = [ 'logo.png.*saved \[22059/22059\]' ])
e3244a8c » mludvig
2009-01-07 * S3/ACL.py: Move attributes from class to instance.
364
365
366 ## ====== Change ACL to Private
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
367 test_s3cmd("Change ACL to Private", ['setacl', '--acl-private', '%s/xyz/etc/l*.png' % pbucket(1)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
368 must_find = [ "logo.png: ACL set to Private" ])
e3244a8c » mludvig
2009-01-07 * S3/ACL.py: Move attributes from class to instance.
369
370
371 ## ====== Verify Private ACL
372 if have_wget:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
373 test("Verify Private ACL", ['wget', '-O', 'testsuite-out/logo.png', 'http://%s.s3.amazonaws.com/xyz/etc/logo.png' % bucket(1)],
374 retcode = 8,
375 must_find_re = [ 'ERROR 403: Forbidden' ])
e3244a8c » mludvig
2009-01-07 * S3/ACL.py: Move attributes from class to instance.
376
377
378 ## ====== Change ACL to Public
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
379 test_s3cmd("Change ACL to Public", ['setacl', '--acl-public', '--recursive', '%s/xyz/etc/' % pbucket(1) , '-v'],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
380 must_find = [ "logo.png: ACL set to Public" ])
e3244a8c » mludvig
2009-01-07 * S3/ACL.py: Move attributes from class to instance.
381
382
383 ## ====== Verify Public ACL
384 if have_wget:
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
385 test("Verify Public ACL", ['wget', '-O', 'testsuite-out/logo.png', 'http://%s.s3.amazonaws.com/xyz/etc/logo.png' % bucket(1)],
386 must_find_re = [ 'logo.png.*saved \[22059/22059\]' ])
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
387
f11319be » mludvig
2008-11-30 * run-tests.py: Added a lot of new tests.
388
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
389 ## ====== Sync more to S3
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
390 test_s3cmd("Sync more to S3", ['sync', 'testsuite/', 's3://%s/xyz/' % bucket(1), '--no-encrypt' ],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
391 must_find = [ "File 'testsuite/demo/some-file.xml' stored as '%s/xyz/demo/some-file.xml' " % pbucket(1) ],
392 must_not_find = [ "File 'testsuite/etc/linked.png' stored as '%s/xyz/etc/linked.png" % pbucket(1) ])
393
f11319be » mludvig
2008-11-30 * run-tests.py: Added a lot of new tests.
394
1ba1f69a » mludvig
2010-12-23 Fixed testsuite for --(no-)check-md5
395 ## ====== Don't check MD5 sum on Sync
396 test_copy("Change file cksum1.txt", "testsuite/checksum/cksum2.txt", "testsuite/checksum/cksum1.txt")
397 test_copy("Change file cksum33.txt", "testsuite/checksum/cksum2.txt", "testsuite/checksum/cksum33.txt")
398 test_s3cmd("Don't check MD5", ['sync', 'testsuite/', 's3://%s/xyz/' % bucket(1), '--no-encrypt', '--no-check-md5'],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
399 must_find = [ "cksum33.txt" ],
400 must_not_find = [ "cksum1.txt" ])
1ba1f69a » mludvig
2010-12-23 Fixed testsuite for --(no-)check-md5
401
402
403 ## ====== Check MD5 sum on Sync
404 test_s3cmd("Check MD5", ['sync', 'testsuite/', 's3://%s/xyz/' % bucket(1), '--no-encrypt', '--check-md5'],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
405 must_find = [ "cksum1.txt" ])
1ba1f69a » mludvig
2010-12-23 Fixed testsuite for --(no-)check-md5
406
407
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
408 ## ====== Rename within S3
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
409 test_s3cmd("Rename within S3", ['mv', '%s/xyz/etc/logo.png' % pbucket(1), '%s/xyz/etc2/Logo.PNG' % pbucket(1)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
410 must_find = [ 'File %s/xyz/etc/logo.png moved to %s/xyz/etc2/Logo.PNG' % (pbucket(1), pbucket(1))])
f11319be » mludvig
2008-11-30 * run-tests.py: Added a lot of new tests.
411
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
412
413 ## ====== Rename (NoSuchKey)
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
414 test_s3cmd("Rename (NoSuchKey)", ['mv', '%s/xyz/etc/logo.png' % pbucket(1), '%s/xyz/etc2/Logo.PNG' % pbucket(1)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
415 retcode = 1,
416 must_find_re = [ 'ERROR:.*NoSuchKey' ],
417 must_not_find = [ 'File %s/xyz/etc/logo.png moved to %s/xyz/etc2/Logo.PNG' % (pbucket(1), pbucket(1)) ])
f11319be » mludvig
2008-11-30 * run-tests.py: Added a lot of new tests.
418
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
419
257d6321 » mludvig
2008-12-29 * run-tests.py: Exit on failed test. Fixed order of tests.
420 ## ====== Sync more from S3
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
421 test_s3cmd("Sync more from S3", ['sync', '--delete-removed', '%s/xyz' % pbucket(1), 'testsuite-out'],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
422 must_find = [ "deleted: testsuite-out/logo.png",
423 "File '%s/xyz/etc2/Logo.PNG' stored as 'testsuite-out/xyz/etc2/Logo.PNG' (22059 bytes" % pbucket(1),
424 "File '%s/xyz/demo/some-file.xml' stored as 'testsuite-out/xyz/demo/some-file.xml' " % pbucket(1) ],
425 must_not_find_re = [ "not-deleted.*etc/logo.png" ])
257d6321 » mludvig
2008-12-29 * run-tests.py: Exit on failed test. Fixed order of tests.
426
427
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
428 ## ====== Make dst dir for get
429 test_rmdir("Remove dst dir for get", "testsuite-out")
430
431
432 ## ====== Get multiple files
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
433 test_s3cmd("Get multiple files", ['get', '%s/xyz/etc2/Logo.PNG' % pbucket(1), '%s/xyz/etc/AtomicClockRadio.ttf' % pbucket(1), 'testsuite-out'],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
434 retcode = 1,
2933252b » mludvig
2012-01-03 Fixed run-tests.py after commit 2320b45
435 must_find = [ 'Destination must be a directory or stdout when downloading multiple sources.' ])
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
436
437
438 ## ====== Make dst dir for get
439 test_mkdir("Make dst dir for get", "testsuite-out")
440
441
442 ## ====== Get multiple files
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
443 test_s3cmd("Get multiple files", ['get', '%s/xyz/etc2/Logo.PNG' % pbucket(1), '%s/xyz/etc/AtomicClockRadio.ttf' % pbucket(1), 'testsuite-out'],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
444 must_find = [ u"saved as 'testsuite-out/Logo.PNG'", u"saved as 'testsuite-out/AtomicClockRadio.ttf'" ])
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
445
dc1c96cf » mludvig
2009-05-27 2009-05-27 Michal Ludvig <michal@logix.cz>
446 ## ====== Upload files differing in capitalisation
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
447 test_s3cmd("blah.txt / Blah.txt", ['put', '-r', 'testsuite/blahBlah', pbucket(1)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
448 must_find = [ '%s/blahBlah/Blah.txt' % pbucket(1), '%s/blahBlah/blah.txt' % pbucket(1)])
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
449
e0b946c0 » mludvig
2009-05-27 * s3cmd: Support for recursive [cp] and [mv], including
450 ## ====== Copy between buckets
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
451 test_s3cmd("Copy between buckets", ['cp', '%s/xyz/etc2/Logo.PNG' % pbucket(1), '%s/xyz/etc2/logo.png' % pbucket(3)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
452 must_find = [ "File %s/xyz/etc2/Logo.PNG copied to %s/xyz/etc2/logo.png" % (pbucket(1), pbucket(3)) ])
e0b946c0 » mludvig
2009-05-27 * s3cmd: Support for recursive [cp] and [mv], including
453
454 ## ====== Recursive copy
13fc0d5f » mludvig
2010-11-12 * s3cmd: Added support for remote-to-remote sync.
455 test_s3cmd("Recursive copy, set ACL", ['cp', '-r', '--acl-public', '%s/xyz/' % pbucket(1), '%s/copy' % pbucket(2), '--exclude', 'demo/dir?/*.txt', '--exclude', 'non-printables*'],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
456 must_find = [ "File %s/xyz/etc2/Logo.PNG copied to %s/copy/etc2/Logo.PNG" % (pbucket(1), pbucket(2)),
457 "File %s/xyz/blahBlah/Blah.txt copied to %s/copy/blahBlah/Blah.txt" % (pbucket(1), pbucket(2)),
458 "File %s/xyz/blahBlah/blah.txt copied to %s/copy/blahBlah/blah.txt" % (pbucket(1), pbucket(2)) ],
459 must_not_find = [ "demo/dir1/file1-1.txt" ])
13fc0d5f » mludvig
2010-11-12 * s3cmd: Added support for remote-to-remote sync.
460
461 ## ====== Verify ACL and MIME type
462 test_s3cmd("Verify ACL and MIME type", ['info', '%s/copy/etc2/Logo.PNG' % pbucket(2) ],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
463 must_find_re = [ "MIME type:.*image/png",
464 "ACL:.*\*anon\*: READ",
465 "URL:.*http://%s.s3.amazonaws.com/copy/etc2/Logo.PNG" % bucket(2) ])
13fc0d5f » mludvig
2010-11-12 * s3cmd: Added support for remote-to-remote sync.
466
467 ## ====== Rename within S3
468 test_s3cmd("Rename within S3", ['mv', '%s/copy/etc2/Logo.PNG' % pbucket(2), '%s/copy/etc/logo.png' % pbucket(2)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
469 must_find = [ 'File %s/copy/etc2/Logo.PNG moved to %s/copy/etc/logo.png' % (pbucket(2), pbucket(2))])
13fc0d5f » mludvig
2010-11-12 * s3cmd: Added support for remote-to-remote sync.
470
471 ## ====== Sync between buckets
472 test_s3cmd("Sync remote2remote", ['sync', '%s/xyz/' % pbucket(1), '%s/copy/' % pbucket(2), '--delete-removed', '--exclude', 'non-printables*'],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
473 must_find = [ "File %s/xyz/demo/dir1/file1-1.txt copied to %s/copy/demo/dir1/file1-1.txt" % (pbucket(1), pbucket(2)),
474 "File %s/xyz/etc2/Logo.PNG copied to %s/copy/etc2/Logo.PNG" % (pbucket(1), pbucket(2)),
475 "deleted: '%s/copy/etc/logo.png'" % pbucket(2) ],
476 must_not_find = [ "blah.txt" ])
e0b946c0 » mludvig
2009-05-27 * s3cmd: Support for recursive [cp] and [mv], including
477
8ab3c3ac » redsymbol
2010-07-18 Negative test for s3cmd put --follow-symlinks
478 ## ====== Don't Put symbolic link
6332b625 » redsymbol
2010-07-18 More thorough and precise tests for --follow-symlinks
479 test_s3cmd("Don't put symbolic links", ['put', 'testsuite/etc/linked1.png', 's3://%s/xyz/' % bucket(1),],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
480 must_not_find_re = [ "linked1.png"])
8ab3c3ac » redsymbol
2010-07-18 Negative test for s3cmd put --follow-symlinks
481
8c3bd026 » redsymbol
2010-07-18 Test for s3cmd put --follow-symlinks
482 ## ====== Put symbolic link
483 test_s3cmd("Put symbolic links", ['put', 'testsuite/etc/linked1.png', 's3://%s/xyz/' % bucket(1),'--follow-symlinks' ],
6332b625 » redsymbol
2010-07-18 More thorough and precise tests for --follow-symlinks
484 must_find = [ "File 'testsuite/etc/linked1.png' stored as '%s/xyz/linked1.png'" % pbucket(1)])
8c3bd026 » redsymbol
2010-07-18 Test for s3cmd put --follow-symlinks
485
7b5df262 » redsymbol
2010-07-17 Implementation of --follow-symlinks option (nonrecursive case)
486 ## ====== Sync symbolic links
487 test_s3cmd("Sync symbolic links", ['sync', 'testsuite/', 's3://%s/xyz/' % bucket(1), '--no-encrypt', '--follow-symlinks' ],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
488 must_find = ["File 'testsuite/etc/linked.png' stored as '%s/xyz/etc/linked.png'" % pbucket(1)],
6332b625 » redsymbol
2010-07-18 More thorough and precise tests for --follow-symlinks
489 # Don't want to recursively copy linked directories!
490 must_not_find_re = ["etc/more/linked-dir/more/give-me-more.txt",
491 "etc/brokenlink.png"],
492 )
7b5df262 » redsymbol
2010-07-17 Implementation of --follow-symlinks option (nonrecursive case)
493
e0b946c0 » mludvig
2009-05-27 * s3cmd: Support for recursive [cp] and [mv], including
494 ## ====== Multi source move
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
495 test_s3cmd("Multi-source move", ['mv', '-r', '%s/copy/blahBlah/Blah.txt' % pbucket(2), '%s/copy/etc/' % pbucket(2), '%s/moved/' % pbucket(2)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
496 must_find = [ "File %s/copy/blahBlah/Blah.txt moved to %s/moved/Blah.txt" % (pbucket(2), pbucket(2)),
497 "File %s/copy/etc/AtomicClockRadio.ttf moved to %s/moved/AtomicClockRadio.ttf" % (pbucket(2), pbucket(2)),
498 "File %s/copy/etc/TypeRa.ttf moved to %s/moved/TypeRa.ttf" % (pbucket(2), pbucket(2)) ],
499 must_not_find = [ "blah.txt" ])
e0b946c0 » mludvig
2009-05-27 * s3cmd: Support for recursive [cp] and [mv], including
500
501 ## ====== Verify move
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
502 test_s3cmd("Verify move", ['ls', '-r', pbucket(2)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
503 must_find = [ "%s/moved/Blah.txt" % pbucket(2),
504 "%s/moved/AtomicClockRadio.ttf" % pbucket(2),
505 "%s/moved/TypeRa.ttf" % pbucket(2),
506 "%s/copy/blahBlah/blah.txt" % pbucket(2) ],
507 must_not_find = [ "%s/copy/blahBlah/Blah.txt" % pbucket(2),
508 "%s/copy/etc/AtomicClockRadio.ttf" % pbucket(2),
509 "%s/copy/etc/TypeRa.ttf" % pbucket(2) ])
e0b946c0 » mludvig
2009-05-27 * s3cmd: Support for recursive [cp] and [mv], including
510
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
511 ## ====== Simple delete
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
512 test_s3cmd("Simple delete", ['del', '%s/xyz/etc2/Logo.PNG' % pbucket(1)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
513 must_find = [ "File %s/xyz/etc2/Logo.PNG deleted" % pbucket(1) ])
f11319be » mludvig
2008-11-30 * run-tests.py: Added a lot of new tests.
514
515
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
516 ## ====== Recursive delete
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
517 test_s3cmd("Recursive delete", ['del', '--recursive', '--exclude', 'Atomic*', '%s/xyz/etc' % pbucket(1)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
518 must_find = [ "File %s/xyz/etc/TypeRa.ttf deleted" % pbucket(1) ],
519 must_find_re = [ "File .*/etc/logo.png deleted" ],
520 must_not_find = [ "AtomicClockRadio.ttf" ])
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
521
522 ## ====== Recursive delete all
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
523 test_s3cmd("Recursive delete all", ['del', '--recursive', '--force', pbucket(1)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
524 must_find_re = [ "File .*binary/random-crap deleted" ])
f11319be » mludvig
2008-11-30 * run-tests.py: Added a lot of new tests.
525
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
526
527 ## ====== Remove empty bucket
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
528 test_s3cmd("Remove empty bucket", ['rb', pbucket(1)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
529 must_find = [ "Bucket '%s/' removed" % pbucket(1) ])
330c51eb » mludvig
2008-09-09 * testsuite, run-tests.py: Added testsuite with first few tests.
530
ca86524c » mludvig
2008-12-29 * run-tests.py: Improved testsuite, added parameters support
531
532 ## ====== Remove remaining buckets
31fadab3 » redsymbol
2010-07-11 Provide --bucket-prefix for run-tests.py
533 test_s3cmd("Remove remaining buckets", ['rb', '--recursive', pbucket(2), pbucket(3)],
d439efb4 » mludvig
2011-06-08 ATTENTION -- Mega WhiteSpace conversion !!!
534 must_find = [ "Bucket '%s/' removed" % pbucket(2),
535 "Bucket '%s/' removed" % pbucket(3) ])
536
537 # vim:et:ts=4:sts=4:ai
Something went wrong with that request. Please try again.