Commit graph

358 commits

Author SHA1 Message Date
Tommi Virtanen
82a645c625 Demonstrate rgw bucket listing bug.
Discovered by stumbling on the "deleted_cnt" workaround
in s3tests.common.

TODO: Add tests for rest of the functionality in
http://docs.amazonwebservices.com/AmazonS3/latest/API/index.html?RESTBucketGET.html
2011-07-28 11:00:47 -07:00
Tommi Virtanen
a9c47e4951 RandomContentFile.start_time is never used, remove. 2011-07-28 10:20:47 -07:00
Stephon Striplin
832b297cec support multiple boto versions for header writing
Depending on the version of boto, different methods are necessary for
manipulating headers. We now support 2.0rc1 and 2.0 by sub-classing
boto.s3.connection.S3Connection and overloading
boto.connection.HTTPRequest.authorize, respectfully.
2011-07-27 20:04:33 -07:00
Kyle Marsh
68c8f4b87c s3-tests: Object download response code test
If a client specifies a range when requesting an object the server should
respond with 206 Partial Content when answering a request to get an object,
not 200 OK.  It should also respond with only those bytes requested.

This commit introduces a test, test_ranged_request_response_code, that
checks those criteria.
2011-07-27 15:01:13 -07:00
Stephon Striplin
ade49565db change utf8 -> unreadable on header tests 2011-07-27 11:49:18 -07:00
Tommi Virtanen
561dbe8f0b Measure and record duration of write and read stages in roundtrip test. 2011-07-27 11:33:15 -07:00
Stephon Striplin
3b15fc7547 add Date header tests 2011-07-27 10:31:00 -07:00
Stephon Striplin
28c4b432c4 add a Content-Type header test 2011-07-27 10:30:24 -07:00
Stephon Striplin
ab7b4eb03d update Content-Length header tests
* Add more tests
* Add nose.with_setup on some tests
2011-07-27 10:30:00 -07:00
Stephon Striplin
73a2f8fd7f add another Expect header test 2011-07-27 10:29:37 -07:00
Stephon Striplin
2b63bfc18d update MD5 header tests
* Rename a test
* Add more tests
2011-07-27 10:29:06 -07:00
Stephon Striplin
405f33e10c add User-Agent header tests 2011-07-27 10:28:03 -07:00
Stephon Striplin
82ac4f0138 subclass S3Connection class for headers
This makes it possible to overwrite all headers
2011-07-27 10:27:45 -07:00
Tommi Virtanen
7f4fcecaef Remove dead code. 2011-07-26 16:29:16 -07:00
Tommi Virtanen
8a43540eea Convert s3tests.common back to a module.
Code in __init__.py is evil.
2011-07-26 16:26:51 -07:00
Tommi Virtanen
3f49775ce3 Remove dead code. 2011-07-26 16:26:09 -07:00
Tommi Virtanen
700dd3f880 Rewrite roundtrip test based on the readwrite one.
They probably should share more code in the future, but it's only
200 lines of python, so I'm not all that worried.
2011-07-26 16:22:40 -07:00
Tommi Virtanen
f3718da14c Let config file control random number generator seeds in detail. 2011-07-26 15:17:35 -07:00
Tommi Virtanen
7debb53e77 No shebang lines for setup.py-managed scripts. 2011-07-26 14:26:28 -07:00
Tommi Virtanen
513d5fabf2 Make readwrite test not use unittest setup/teardown logic. 2011-07-26 14:20:28 -07:00
Tommi Virtanen
f58641d0bf Refactor bucket nuking in cleanup. 2011-07-26 14:20:28 -07:00
Tommi Virtanen
f30f9d0aca Refactor S3 connection opening. 2011-07-26 14:20:28 -07:00
Tommi Virtanen
367fd3981a Refactor config file reading. 2011-07-26 14:20:28 -07:00
Tommi Virtanen
7a98a496e4 Rename rand_readwrite to readwrite.
Simpler, and all the benchmarks are pretty much as pseudorandom,
in the end; that's not a relevant characteristic. The mix of read
and write operations is.

Re-run ./bootstrap to get the s3tests-test-readwrite script
regenerated to refer to the new module name.
2011-07-26 14:20:28 -07:00
Tommi Virtanen
e17c56a714 Say ".yaml" not ".yml". This is not MS-DOS, and YML is a Yahoo XML dialect. 2011-07-26 14:20:28 -07:00
Tommi Virtanen
3eb53db2b3 Don't bother with fractional nanoseconds.
<1 nanosecond is well below the threshold we can measure,
everything becomes simpler with integers, and they're easier
to skim.
2011-07-26 14:20:28 -07:00
Tommi Virtanen
f21b410154 Use a constant for nanoseconds-in-a-second.
State it in terms of 1e9 (as int not float). My eyes get
blurry from that many zeros.
2011-07-26 14:20:28 -07:00
Tommi Virtanen
37950ac5f2 Remove unused import. 2011-07-26 14:20:28 -07:00
Tommi Virtanen
1993c33ee3 Avoid built-in "file" as variable name. 2011-07-26 14:20:28 -07:00
Tommi Virtanen
3b204bfbdc Revert "adding max_amount to realistic.names generator"
This is now unused code.

This reverts commit 52ba1d4fbf9b3547f8fd27199cf2c4f2c59dbd45.
2011-07-26 14:20:28 -07:00
Tommi Virtanen
91e3918ef5 Use itertools.islice instead of special-casing generator slicing. 2011-07-26 14:20:28 -07:00
Steven Berler
fdaead938e improve comment wording in sample config 2011-07-26 14:20:28 -07:00
Steven Berler
680be12750 added sample yaml config for readwrite tool 2011-07-26 14:20:28 -07:00
Steven Berler
55a72f002b moved most readwrite tool command-line opts to config file
The only remaining command-line options are setting the random seed
and --no-cleanup.
2011-07-26 14:20:28 -07:00
Steven Berler
a6c16990df remove extraneous #TODO 2011-07-26 14:20:28 -07:00
Steven Berler
0c0c590d47 use stderr for non-yml output in readwrite tool
stdout should now only contain the yml output.
2011-07-26 14:20:28 -07:00
Steven Berler
33876b0dae fix yml format in readwrite tool
Now will print the chunks out one line per chunk instead of splitting
them accross multiple lines.
2011-07-26 14:20:28 -07:00
Steven Berler
1e991bc4bc adding chunks to readwrite tool output 2011-07-26 14:20:28 -07:00
Steven Berler
8cf9c57012 fix readwrite tool file sizes
Makes the file sizes specified correctly in KB instead of B
2011-07-26 14:20:28 -07:00
Steven Berler
15cf598b12 readwrite tool improvements
Now generates a list of filenames to use duing the setup, and passes this
list to the workers rather than having the workers list the bucket contents
or generate file names themselves.

Added a "warmup" stage that first writes out all the files so that content
exists for each filename.

Added setting the random seed as a command line parameter and uses this seed
for both generating the file names and the file content generator.
2011-07-26 14:20:28 -07:00
Steven Berler
b465596063 adding max_amount to realistic.names generator
Set max_amount to limit the number of names yeilded by the generator.
2011-07-26 14:20:28 -07:00
Stephon Striplin
a775f5da04 add Content-Type object tests 2011-07-25 14:12:50 -07:00
Stephon Striplin
2e351e9eb8 add header-manipulation tests
These tests are based on explicitly modifying headers in some way.
2011-07-25 11:25:39 -07:00
Stephon Striplin
ee28900620 add test_object_create_unreadable 2011-07-25 11:25:39 -07:00
Yehuda Sadeh
9b3cdf753f test consistency of bucket acls, exercises cache 2011-07-21 14:10:05 -07:00
Stephon Striplin
338728ecd2 add test_bucket_acl_no_grants
When the owner has no grants on their bucket, they should not be able to
write to it, but still read and write the ACL. Amazon allows users to
read the bucket, and our behavior is consistent with this.
2011-07-20 12:30:23 -07:00
Tommi Virtanen
b54e1cbe99 Handle and report errors in readwrite test workers. 2011-07-20 11:32:52 -07:00
Tommi Virtanen
f3b5ed6ccc Say "worker_id" instead of name, as I keep confusing it with filenames. 2011-07-20 11:15:06 -07:00
Tommi Virtanen
1eb38e09e4 Link worker greenlets to parent, so we abort if they have an unhandled exception. 2011-07-20 11:06:30 -07:00
Tommi Virtanen
9ecaf63fbe Code layout cleanup. 2011-07-20 11:06:30 -07:00