diff --git a/.github/workflows/python_actions.yml b/.github/workflows/python_actions.yml index 69e11ecbf..ef36ddf42 100644 --- a/.github/workflows/python_actions.yml +++ b/.github/workflows/python_actions.yml @@ -21,8 +21,11 @@ jobs: call: uses: SpiNNakerManchester/SupportScripts/.github/workflows/python_checks.yml@main with: - base-package: spinnman + dependencies: SpiNNUtils SpiNNMachine test_directories: unittests spinnman_integration_tests + coverage-package: spinnman flake8-packages: spinnman unittests spinnman_integration_tests + pylint-packages: spinnman + mypy-packages: spinnman secrets: inherit diff --git a/spinnman/spalloc/spalloc_client.py b/spinnman/spalloc/spalloc_client.py index d2a58ace4..c19bf3e51 100644 --- a/spinnman/spalloc/spalloc_client.py +++ b/spinnman/spalloc/spalloc_client.py @@ -14,6 +14,7 @@ """ Implementation of the client for the Spalloc web service. """ +import os import time from logging import getLogger @@ -108,12 +109,21 @@ def __init__( location; if so, the ``username`` and ``password`` arguments *must* be ``None``. If ``username`` and ``password`` are not given, not even within the URL, the ``bearer_token`` must be not ``None``. - :param str username: The user name to use - :param str password: The password to use + :param str username: + The user name to use. If not provided nor in service_url + environment variable SPALLOC_USER will be used. + :param str password: + The password to use. If not provided nor in service_url + environment variable SPALLOC_PASSWORD will be used. :param str bearer_token: The bearer token to use """ if username is None and password is None: service_url, username, password = parse_service_url(service_url) + if username is None: + username = os.environ["SPALLOC_USER"] + if password is None: + password = os.environ["SPALLOC_PASSWORD"] + self.__session: Optional[Session] = Session( service_url, username, password, bearer_token) obj = self.__session.renew() diff --git a/spinnman_integration_tests/test_job.py b/spinnman_integration_tests/test_job.py index 79641f615..f626e1ce8 100644 --- a/spinnman_integration_tests/test_job.py +++ b/spinnman_integration_tests/test_job.py @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import os import unittest from spinn_utilities.config_holder import set_config @@ -29,12 +28,9 @@ def setUp(self): set_config("Machine", "version", FIVE) self.spalloc_url = "https://spinnaker.cs.man.ac.uk/spalloc" self.spalloc_machine = "SpiNNaker1M" - self.spalloc_user = os.environ["SPALLOC_USER"] - self.spalloc_password = os.environ["SPALLOC_PASSWORD"] def test_create_job(self): - client = SpallocClient( - self.spalloc_url, self.spalloc_user, self.spalloc_password) + client = SpallocClient(self.spalloc_url) # job = client.create_job_rect_at_board( # WIDTH, HEIGHT, triad=(x, y, b), machine_name=SPALLOC_MACHINE, # max_dead_boards=1)