avocado.cli.app: Display --help output on empty args list

Instead of displaying a not very helpful 'too few args'
message, let's display the full --help output on an
empty args list. Comes with a functional test.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado: Display error message and usage on empty 'run' subcommand

Instead of displaying a not very informative 'too few arguments'
message, display the original error message that mentions about
test IDs *and* the run help output. Adjustments to the original
functional test were made accordingly.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
Merge pull request #150 from lmr/more-usability-fixes

More usability fixes
docs: reduce noise on configuration file

IMHO, the generated sphinx config file is too noisy and thus hard to
manage. Let's clean it up.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
docs: show documentation for both the class and its __init__ method

Signed-off-by: Cleber Rosa <crosa@redhat.com>
docs: add initial man page

This page is intended as a basic offline aid for new users of avocado.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
Merge pull request #152 from clebergnu/man

Initial man page support
avocado/core/output.py: introduce partial progress/success messages

Signed-off-by: Cleber Rosa <crosa@redhat.com>
test result output: allow for test specific progress indication

The throbber that gives visual indication of progress can now show if the progress
includes test specific progress (GREEN) or if the test process is running (YELLOW)
but actual progress is unknown.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
avocado test state: include the extra information regarding test time

And running state. Every time the state is produced and put in the queue,
the elapsed time is updated. Also, a new flag, "running", shows if the
framework has entered or exited the test entry point.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
job main loop: use the test 'running' attribute

So that multiple test states can be received by the main loop, but
only if the test is finished we break out from the loop.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
sleeptenmin test: add new test scenarios

Including number of sleep cycles, sleep cycle length and finally
the sleep method, either using the python time.sleep() or running
the shell "sleep" command.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
job and test communication: let the test have hold of the runner queue

So that it can report back its state whenever it feels like it.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
test progress: allow test to communicate its real progress back to the test runner

A test writer can write its own check that will be called by default, or just decide
on each call to communicate_progress() if there has been any (progress).

Also, the job main loop now shows a green throbber when there has been real test
progress.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
tests/sleeptenmin.py: implement a test specific progress check

Which doesn't hold any logic, but serves as an example.

To watch the intended behavior in action, I recommend running the
"one_hundred_cycles" variant of this tests.

The test runner will show that the test is running (yellow throbber
spinning), and once each six seconds (+1% into the test run) a green
throbber will be shown.

Signed-off-by: Cleber Rosa <crosa@redhat.com>