Upgrade syntax using `pyupgrade --py36-plus` .
Manually drop several `six` imports.
Also:
- Remove broken pr_cache in scripts/bootstrap_history.py
- Fix broken prefix removal in lib/galaxy/tool_util/deps/mulled/mulled_build.py
clean_multiline_string was used in multiple places across modules in different packages so I simply refactored it into galaxy.util and added a test case (used in multiple places and has tests a lower bar then some other code in galaxy.util).
The tempfilecache abstraction was only used in one place, so I've refactored it right into that file.
Together these should simplify the package tests for galaxy-data (and hopefully other packages also).
Fix 1 error and 2 failures in unit tests under Python 3, e.g.:
```
FAIL: test_render (unit.visualizations.plugins.test_VisualizationPlugin.VisualizationsPlugin_TestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/travis/build/galaxyproject/galaxy/test/unit/visualizations/plugins/test_VisualizationPlugin.py", line 180, in test_render
self.assertIsInstance(response, string_types)
AssertionError: b'\nTrue\n' is not an instance of (<class 'str'>,)
```
- Add flake8-import-order to flake8 Pipfile and remove py27-lint-imports
and py27-lint-imports-include-list tox envs
- Fix most E201 and E202 errors reported by flake8-import-order v0.15,
but pin flake8-import-order to v0.14.3 until
https://github.com/PyCQA/flake8-import-order/issues/123
is fixed
This let us drop 2 jobs on Travis per each job.
not only for converting jupyter notebook to HTML (with nbconvert) but also
where ipython/IPython was referenced.
Some files still contain ipython but this is mostly related to documentation or
to the IE docker container itself.
Basically adds __init__.py files to each subdirectory so nose detects these as Python module directories. Also modify dynamic loading of modules in Carl's test cases so the test case can be run with any cwd - including the Galaxy root directory as run_unit_tests.sh will use.
This should roughly double the number of unit tests buildbot runs.