@@ -266,7 +266,7 @@ def test_curl_HEAD(label, src_file, **kwargs):
266266 cmd .append (src_file )
267267 return test (label , cmd , ** kwargs )
268268
269- bucket_prefix = u"%s-" % getpass .getuser ()
269+ bucket_prefix = u"%s-" % getpass .getuser (). lower ()
270270
271271argv = sys .argv [1 :]
272272while argv :
@@ -415,14 +415,39 @@ def pbucket(tail):
415415## ====== Clean up local destination dir
416416test_flushdir ("Clean testsuite-out/" , "testsuite-out" )
417417
418+ ## ====== Moving things without trailing '/'
419+ os .system ('dd if=/dev/urandom of=testsuite-out/urandom1.bin bs=1k count=1 > /dev/null 2>&1' )
420+ os .system ('dd if=/dev/urandom of=testsuite-out/urandom2.bin bs=1k count=1 > /dev/null 2>&1' )
421+ test_s3cmd ("Put multiple files" , ['put' , 'testsuite-out/urandom1.bin' , 'testsuite-out/urandom2.bin' , '%s/' % pbucket (1 )],
422+ must_find = ["%s/urandom1.bin" % pbucket (1 ), "%s/urandom2.bin" % pbucket (1 )])
423+
424+ test_s3cmd ("Move without '/'" , ['mv' , '%s/urandom1.bin' % pbucket (1 ), '%s/urandom2.bin' % pbucket (1 ), '%s/dir' % pbucket (1 )],
425+ retcode = 64 ,
426+ must_find = ['Destination must be a directory' ])
427+
428+ test_s3cmd ("Move recursive w/a '/'" ,
429+ ['-r' , 'mv' , '%s/dir1' % pbucket (1 ), '%s/dir2' % pbucket (1 )],
430+ retcode = 64 ,
431+ must_find = ['Destination must be a directory' ])
432+
433+ ## ====== Moving multiple files into directory with trailing '/'
434+ must_find = ["'%s/urandom1.bin' -> '%s/dir/urandom1.bin'" % (pbucket (1 ),pbucket (1 )), "'%s/urandom2.bin' -> '%s/dir/urandom2.bin'" % (pbucket (1 ),pbucket (1 ))]
435+ must_not_find = ["'%s/urandom1.bin' -> '%s/dir'" % (pbucket (1 ),pbucket (1 )), "'%s/urandom2.bin' -> '%s/dir'" % (pbucket (1 ),pbucket (1 ))]
436+ test_s3cmd ("Move multiple files" ,
437+ ['mv' , '%s/urandom1.bin' % pbucket (1 ), '%s/urandom2.bin' % pbucket (1 ), '%s/dir/' % pbucket (1 )],
438+ must_find = must_find ,
439+ must_not_find = must_not_find )
440+
441+ ## ====== Clean up local destination dir
442+ test_flushdir ("Clean testsuite-out/" , "testsuite-out" )
443+
418444## ====== Sync from S3
419445must_find = [ "'%s/xyz/binary/random-crap.md5' -> 'testsuite-out/xyz/binary/random-crap.md5'" % pbucket (1 ) ]
420446if have_encoding :
421447 must_find .append (u"'%(pbucket)s/xyz/encodings/%(encoding)s/%(pattern)s' -> 'testsuite-out/xyz/encodings/%(encoding)s/%(pattern)s' " % { 'encoding' : encoding , 'pattern' : enc_pattern , 'pbucket' : pbucket (1 ) })
422448test_s3cmd ("Sync from S3" , ['sync' , '%s/xyz' % pbucket (1 ), 'testsuite-out' ],
423449 must_find = must_find )
424450
425-
426451## ====== Remove 'demo' directory
427452test_rmdir ("Remove 'dir-test/'" , "testsuite-out/xyz/dir-test/" )
428453
0 commit comments