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
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
Tommi Virtanen
deb8be9957
Make readwrite test put objects one by one, so it can report keys.
2011-07-20 11:06:30 -07:00
Tommi Virtanen
9e707b897d
Remove the concept of batches from readwrite test.
...
That's an internal implementation detail caused by
the generate_objects api.
2011-07-20 11:06:30 -07:00
Tommi Virtanen
4cd4131dd7
Don't eat exceptions, that's a bad habit.
2011-07-20 11:06:30 -07:00
Tommi Virtanen
648ddbb761
Log readwrite test results in yaml.
...
This temporarily removes the statistics calculation; that
belongs somewhere else anyway, so it can be run on aggregated
results etc.
2011-07-20 11:06:30 -07:00
Tommi Virtanen
ed966af0a7
Use more idiomatic Python.
2011-07-20 11:06:30 -07:00
Tommi Virtanen
ad444b33ee
Make queue and name arguments not optional; they're always passed in anyway.
2011-07-20 11:06:30 -07:00
Tommi Virtanen
71cfd4956c
Move end test logic out of individual workers.
...
Parent waits for the duration anyway, just make it unconditionally
kill the workers. They already had timeouts aborting them; they may
be in the middle of an operation, but we really don't care, time's up.
This also avoids oddities with the queue where there may be items
after the StopIteration.
This also avoids workers potentially not exiting within the 1-second
timeout the old code had.
2011-07-20 11:06:30 -07:00
Tommi Virtanen
dff6b568e4
Use gevent Groups to manage groups of workers.
...
This mostly adds convenience functions, but it's nice to have.
2011-07-20 11:06:30 -07:00
Stephon Striplin
510b6e91d4
refactor and fix some acl_grant tests
2011-07-19 11:16:11 -07:00
Tommi Virtanen
fe749adebf
pep8 cleanup.
2011-07-19 09:09:51 -07:00
Tommi Virtanen
e0575e4efe
Pyflakes cleanup.
2011-07-19 09:05:05 -07:00
Tommi Virtanen
c7bb78b666
Remove dead code.
2011-07-19 09:04:20 -07:00
Tommi Virtanen
5c25c66649
Merge branch 'roundtrip'
2011-07-19 09:00:44 -07:00