jenkins-job-builder/tests
Marc Abramowitz 64e217f885 Make JJB python 3 compatible
Convert to use idioms that work for both python 3 and python 2.6+ and
ensure that a suitable version of dependencies is included for python 3
compatibility.

Update python-jenkins to 0.3.4 as the earliest version that supports
python 3 without any known regressions. Add an extra parser check for
missing 'command' due to changes in how argparse works under python 3.

To access the first element of a dict in both python 2 and 3,
'next(iter(dict.items()))' is used as the standard idiom to replace
'dict.items()[0]' as 'items()' returns an iterator in python 3 which
cannot be indexed. Using 'next(iter(..))' allows for both lists and
iterators to be passed in without unnecessary conversion of iterators to
lists which would be true of 'list(dict.items())[0]'.

Original change which was reverted due to breaking use of job-groups is
If4b35e2ceee8239379700e22eb79a3eaa04d6f0f. This replaces the previous
conversion of 'dict.items()[0]' to 'dict.popitem()', which would result
in removing a job-group when first called, thus defeating the benefit of
being able to reference the group mulitple times. This usage has been
replaced with 'next(iter(dict.items()))' as a non-modifying alternative
that still avoids creating unnecessary copies of data while working for
all supported versions of python.

Change-Id: I37e3b67c043dadddb54e16ee584bde3f79e6a770
2014-10-06 15:24:16 +01:00
..
builders Merge "Adding support for the Powershell plugin." 2014-09-30 13:45:49 +00:00
cmd Make JJB python 3 compatible 2014-10-06 15:24:16 +01:00
general matrix project: add support for dynamic axis 2014-06-06 11:02:39 +03:00
localyaml Ensure dict orders are deterministic 2014-09-01 14:15:10 +01:00
macros Add support for 'ignore-notify' in git SCM 2014-07-27 00:41:04 +02:00
notifications Fix multibyte character problem 2014-01-21 22:34:30 +09:00
parameters Fix multibyte character problem 2014-01-21 22:34:30 +09:00
properties authorization property: add extended read support 2014-06-02 07:39:25 +03:00
publishers Merge "Flatten attribute for publish plugins" 2014-09-30 14:11:27 +00:00
scm git: Support timeout option 2014-08-14 21:39:05 +02:00
triggers Allow configuration of Topics for Gerrit trigger 2014-08-21 15:29:34 +02:00
wrappers wrappers: fixed locks for empty collection 2014-09-15 14:49:49 +02:00
yamlparser Make JJB python 3 compatible 2014-10-06 15:24:16 +01:00
__init__.py Tests for publishers 2013-07-19 14:31:11 +02:00
base.py Make JJB python 3 compatible 2014-10-06 15:24:16 +01:00