Change test gerrit ssh/http ports offset

The offset between test gerrit ssh/http ports was the same as the
offset between test gerrit sites (1000): 1st test gerrit site http
port was the same as 2nd test gerrit site ssh port

Change-Id: I9c9ca05cd2a966773d72aeb210cc88a35daa9b62
Attach Gerrit logs and known_hosts to failed tests

This should help with debugging strange problems that might occur with
tests.

Change-Id: I6bdb0402be101ba1789feb3dde186d6a4077a781
Add 2m timeout to tests

If some test hangs by some reason, we get 1h delay in the gate until
Jenkins kills the job. This will shorten the delay to ~15min tops.

Change-Id: I8c6533aecd8b72b6c904c8e1724a0b27ff943d5b
Fix the regex for setting topic

The regex did not support the use of a `:` and a `#` in the bug
identification line. The updated regex now will support bug
identification lines that look like `Closes-Bug: #12345`.

Co-Authored-By: Nicolas Simonds <nic@metacloud.com>
Change-Id: Ie5edd9a04fe714302f06b2df2c4c134a2ef2316a
Remove tox locale overrides

* tox.ini: The LANG, LANGUAGE and LC_ALL environment overrides were
introduced originally during the testr migration in an attempt to be
conservative about the possibility that locale settings in the
calling environment could cause consistency problems for test runs.
In actuality, this should be unnecessary and any place where it does
cause issues ought to be considered an actual bug. Also, having
these in the configuration actively causes older pip to have
problems with non-ASCII content in some package metadata files under
Python 3, so drop it now.

Change-Id: I8747a52141321549c56214710b70c5838aacc84e
Closes-Bug: #1277495
Merge "Remove tox locale overrides"
Don't try to attach known_hosts if it's not there

Fixes long tracebacks if something strange and wrong happens in the
gate.

Change-Id: I094a153e300a1a5652166e9976b4296b8d377f04
Merge "Add 2m timeout to tests"
Make Gerrit port and dir selection deterministic

For every test number N run in process with PID, we take address
127.N.PID/256.PID%256 and let Gerrit listen on its default ports (29418
for SSH and 8080 for HTTP) on that address. We also name site dir with
the same address with "site-" prefix.

Thanks to Clark Boylan for this great idea.

Change-Id: I95b010e7a5b96c981614d5d3401efe861534806f
Wrap exceptions that occur while running external process

This should help identify problem with timeouts.

Change-Id: I663b1ca3fe9a74ed0869fefdb16583951e3db6a5
Verify if every attached file exists. Attach gerrig.config

Change-Id: I6d585df6f0789edec705c5f8cada44e68199b50a
Add http(s) protocol support to test_remote

Change-Id: I517b68dd9b949033bad9d422d55b9037409793b2
Retrieve remote pushurl independently of user's locale

git-review tried to parse the output of "git remote show -n" to
retrieve a remote's pushurl and failed if the user's locale was not
English.  This change reads the configuration directly instead.

Change-Id: Idbf98ae00538dd611277ca862da969f22cbe6265
Closes-Bug: #1177429
Add http(s) protocol support to set_hooks_commit_msg

set_hooks_commit_msg used scp to download commit_msg hook even for
gerrit http(s) remote url. It will use scp for ssh remote url and
http(s) download for http(s) remote url (more proxy "friendly").

Note: this change modifies .gerrit/golden_site folder content (used
by tests), so delete .gerrit folder and run
 "python -m git_review.tests.prepare".

Closes-bug: #1274876
Change-Id: I49bcf4fd84a88878f9381ddf1a8714b778688a0a
Reduce testr concurrnecy to 2.

Hard set testr concurrency to 2 so that fewer gerrit instances are
started in parallel compared to the default testr concurrency setting.
This will help avoid contention for memory and process resources when
running the tests.

Change-Id: Id3837500ce243af8d8ef762c6dcf50146876f406
Merge "Retrieve remote pushurl independently of user's locale"
Bump hacking version in requirements

hacking now works fine with Apache header used in git_review/cmd.py

Change-Id: I5fd88f19560f004aa69d6f85ec343d444717e167
Merge "Fix the regex for setting topic"
Merge "Wrap exceptions that occur while running external process"
Merge "Verify if every attached file exists. Attach gerrig.config"