Rename --unique-id to --force-job-id

Also improve its documentation, explaining that users should
not use this option unless they know exactly what they're doing

Signed-off-by: Ademar de Souza Reis Jr <areis@redhat.com>
avocado.plugins.runner: Validate --force-job-id

Job ID needs to be a 40 digit hex number. Error out if it's not.

Includes functional tests

Signed-off-by: Ademar de Souza Reis Jr <areis@redhat.com>
core.job_id: rename get_job_id() to create_unique_job_id()

The name get_job_id() doesn't reflect the fact that this
function returns a new job ID everytime it's called.
core.job.id: improve create_unique_job_id()

The previous implementation was mixing non-random information with
random data before applying a hash on top of everything. Given that,
we couldn't use the hash later to validate the information and the
entropy was limited to 64 bits, which was the random part.

So I've got rid of the sha1 code and just used a 160 random number.

A future improvement would be the use a random number in the first
part of the ID (a salt) and a hash of relevant information in the
second part. In pseudo-code:

    info = hostname, date, list of tests, etc
    salt =  str(hex(getrandbits(120)))[[2:-1]
    hash = sha1(info).hexdigest()[:10]
    return salt+hash

Includes a functional test to check the ID is indeed a 40 digit hex
number.

Signed-off-by: Ademar de Souza Reis Jr <areis@redhat.com>
Merge pull request #186 from adereis/validate_job_id

Validate job ID
Merge pull request #187 from adereis/job_id_refactoring

Refactoring unique job ID generation
Makefile: Add 'make check'

One convenient command to run the checks Travis runs on
the code base (less verbose version).

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
Merge pull request #188 from lmr/make_check

Makefile: Add 'make check'
avocado: Add NullHandler for early 'avocado.test' logger

So we avoid those annoying 'no handlers found for avocado.test'
during test.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
Merge pull request #191 from lmr/fix-logging-handlers

avocado: Add NullHandler for early 'avocado.test' logger
Makefile: add "man" target for generating the man page

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

Makefile: add "man" target for generating the man page
avocado.plugins.vm: Update code to latest job state

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
Merge pull request #193 from lmr/fix-vm-plugin

avocado.plugins.vm: Update code to latest job state
README.rst: general misc improvements

 - Updating the introduction with some more details
 - Adding a link to our master slides on google drive
 - Adding a note about copr on Fedora
 - Adding a note about the man page
 - Misc cosmetic changes
Merge pull request #190 from adereis/master

README.rst: general misc improvements
plugins.{json,xunit}: Add missing space in --help

Trivial fix: missing space in a help sentence.

Signed-off-by: Ademar de Souza Reis Jr <areis@redhat.com>
Merge pull request #194 from adereis/master

plugins.{json,xunit}: Add missing space in --help
doc: add a link to our slides to the Introduction
Merge pull request #195 from adereis/master

doc: add a link to our slides to the Introduction