Age | Commit message (Collapse) | Author |
|
This fully explores the parsing and unparsing of the test-objects,
with the exceptions of DNS, FTP, LDAP, and SSLCertificates.
|
|
This allows the test-suite to pass.
|
|
No functional changes.
|
|
Also only sleep between fetches if we couldn't find a job because
the queue was empty.
|
|
|
|
This was an invalid comment, the timeout related to HTTP-fetches.
|
|
We only have two dependencies:
* The curb-gem for HTTP-testing.
* A queue-related gem, be it beanstalkd or redis.
|
|
Now we have multiple HTTP-implementations we need to update to
make sure they're all caught.
|
|
|
|
We now parse a single test-definition into multiple
test-implementations. This isn't required here because
the parser only needs to know that the configuration file
*can* be parsed, not what the result is.
Validate that we got an array, but otherwise ignore the
results after the first.
|
|
|
|
The class-factory for instantiating tests now returns an array
rather than a string.
|
|
This is a stub for the moment, but it validates that we can have
multiple handlers for a given test-type.
This updates #9558.
|
|
|
|
We need to do this such that we can show all possible results
of a test in the status-page. There might be three back-ends
with different results and if we filter by class-type we'll
be able to see that.
|
|
The new approach uses the redis gems timeout functionality
and ensures we never return a null-job. Instead we timeout
and repeat with a stalling-sleep in the way.
This closes #9553.
|
|
|
|
|
|
As soon as we allow multiple test-implementations we get
into a mess, as Mauve regards an ID as unique and that is
based upon the test-definition not the implementing method
We want to allow:
* HTTPS test to succeed.
* SSL-check to fail.
Which means multiple tests of type "https" will have different
IDs. Force this by adding on the class of the implementation.
|
|
Now that the class-factory returns an Array, we've updated the
test-cases to continue to pass.
|
|
|
|
a given input-line.
|
|
We now work on the assumption that a single "job", pulled from
the queue, might contain multiple "test" objects. These are
the instances of the protocol-testers which we actually execute.
This is part of #9558.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The redis-state "alerter" saves state in a useful way for the
future, and will now save an array of hashes - each has corresponding
to a useful result.
|
|
|
|
|
|
|
|
We now record:
custodian.$type.$host.test_duration [time]
|
|
|
|
|
|
|
|
|
|
|
|
(This mostly means the removal of --logfile.)
|
|
Rather than passing our settings-object around, as well as
specific settings that are read from it, just pass the object.
The worker can read the settings directly if/when it needs to.
|
|
We now set the queue-address via $QUEUE_ADDRESS, otherwise
we default to localhost. This works for both redis & beanstalkd.
|
|
|
|
|
|
Now that we've moved to using redis by default the handling of queue-flushing
needs to change. We can simply get rid of the busy-wait and run a redis
"del" operation.
With that in mind we've moved the flushing logic to our queue abstraction
layer, and simplified our queue-helper script.
|
|
|
|
This is designed to help them be loaded by ruby1.8 + 1.9.1.
|
|
|
|
|
|
This allows our redis-library to be used.
|