fixes https://github.com/galaxyproject/galaxy/issues/15673
- singularity: add `--no_mount tmp` (analogous to docker's default)
- do not bind `$TMPDIR:rw,$TMP:rw,$TEMP:rw` by default
- instead (by default )provide a writable `/tmp` via
`$_GALAXY_JOB_TMP_DIR/:/tmp:rw` note that this dir is still also
available as `$_GALAXY_JOB_TMP_DIR:rw`
It isn't exactly a regression test, for that you'd have to time the test
so that we change the visible attribute while the job is finishing. I
think this test here is worth running independently, and I don't think
we have an explicit test like that.
with manual fixes to 3 files to make them compatible with black 22.12.0 .
We need to keep black pinned at `<23` until we vendorise `packaging`, since
the new version of black depends on `packaging >=22.0` which is the version
where `LegacyVersion` (which we use for tool lineages) was removed.
loading the test tool failed with:
```
galaxy.tools ERROR 2023-02-01 21:26:03,095 [pN:main,p:50706,tN:WSGI_0] Failed to parse tool tests for tool 'expression_pick_larger_file'
Traceback (most recent call last):
File "/home/berntm/projects/galaxy/lib/galaxy/tools/__init__.py", line 1193, in tests
self.__tests = parse_tests(self, tests_source)
File "/home/berntm/projects/galaxy/lib/galaxy/tools/test.py", line 31, in parse_tests
raw_tests_dict = tests_source.parse_tests_to_dict()
File "/home/berntm/projects/galaxy/lib/galaxy/tool_util/parser/xml.py", line 556, in parse_tests_to_dict
tests.append(_test_elem_to_dict(test_elem, i, profile))
File "/home/berntm/projects/galaxy/lib/galaxy/tool_util/parser/xml.py", line 602, in _test_elem_to_dict
inputs=__parse_input_elems(test_elem, i),
File "/home/berntm/projects/galaxy/lib/galaxy/tool_util/parser/xml.py", line 619, in __parse_input_elems
return __parse_inputs_elems(test_elem, i)
File "/home/berntm/projects/galaxy/lib/galaxy/tool_util/parser/xml.py", line 837, in __parse_inputs_elems
raw_inputs.append(__parse_param_elem(param_elem, i))
File "/home/berntm/projects/galaxy/lib/galaxy/tool_util/parser/xml.py", line 850, in __parse_param_elem
value = json.loads(attrib["value_json"])
File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
```