dockertest: Split documentation module

The documentation module was becomming large and
unweildy at 1000+ lines.  Moved all low-level dependencies
into ``docdeps`` module. Adjusted unittests accordingly.

Signed-off-by: Chris Evich <cevich@redhat.com>
run_doccheck: Check for missing or extra sections

Signed-off-by: Chris Evich <cevich@redhat.com>
run_checkdocs: Report undocumented non-default options

Sort through every subtest's configuration options, including
sub-subtests.  Filter the list down to non-default options that
are undocumented, report as a set.  Also fix general reporting
of entire subtest filename to only report test name.

Signed-off-by: Chris Evich <cevich@redhat.com>
run_checkdocs: Pylint/Pep8 cleanup

It's not perfect, but this script is also exempt from
general checking.  The only errors/warnings are
for missing docstrings and overriding static methods
with non-static versions (not a real problem).

Signed-off-by: Chris Evich <cevich@redhat.com>
pylint: Fix 'too few pub methods' problems.

Most are simply disabled since the designs are based
on builtins or there's a good reason for not changing.

Signed-off-by: Chris Evich <cevich@redhat.com>
run_checkdocs.py: Check section order

Signed-off-by: Chris Evich <cevich@redhat.com>
docs: Cleanup all tests failing run_checkdocs.py

Signed-off-by: Chris Evich <cevich@redhat.com>
Merge pull request #425 from cevich/docs_update

Docs update
Merge pull request #400 from cevich/run_checkdocs_update

Run checkdocs update
dockertest.subtest: Remove SubBase class.

This was previously moved into it's own module file,
somehow it crept back in.

Signed-off-by: Chris Evich <cevich@redhat.com>
Support cascading __warning__ config. option

There are some global and test config options that
are highly recommended for site-specific customization.
For example, testing content that is difficult or
impractical to bundled in the open source releases.

Introduce a special __warning__ option that contains
a CSV list of all recommended for customization option
names (case insensitive).  This option's value does NOT
get overridden from one section to the next.  Instead,
each items are added to the list.

As part of final config processing, any config option
values which differ from the stock or default values,
are removed from the __warning__ list.  Later, during
subtest and sub-subtest initialization, a warning is issued
for any item remaining on this list.

Signed-off-by: Chris Evich <cevich@redhat.com>
Update all tests: Best effort, work by default.

Update all tests that require option customization
to work out of the box, but utilize the new (special)
__warning__ option to document recommended config.
customizations were **not** made.

Signed-off-by: Chris Evich <cevich@redhat.com>
Rename __warning__ to __example__

While a warning will be issued, it's not really the subject matter
for this option-name.  Renamed all references and use of the former
__warning__ option, to __example__ instead.  All behavior remains
unchanged.

Signed-off-by: Chris Evich <cevich@redhat.com>
run_remote_tag: Exception message fixup

Signed-off-by: Chris Evich <cevich@redhat.com>
Fix unittests + DEFAULTS not filtering __example__

Signed-off-by: Chris Evich <cevich@redhat.com>
Make travis fast-fail + run fastest tests first

Signed-off-by: Chris Evich <cevich@redhat.com>
Merge pull request #428 from cevich/config_warning

Support cascading __warning__ config. option
envchecks: make pretty none_images output

Signed-off-by: Chris Evich <cevich@redhat.com>
docker_cli/create: Add __example__ config

Signed-off-by: Chris Evich <cevich@redhat.com>
docker_cli/create: Fix test bugs

Signed-off-by: Chris Evich <cevich@redhat.com>