From 0b36493f81fbd75c89829c8dc4d65ac6d7968609 Mon Sep 17 00:00:00 2001 From: Ben Schroeter Date: Wed, 18 Oct 2023 12:24:02 +1100 Subject: [PATCH] Added fixes for PR. Fixes #143 --- benchcab/data/config-schema.yml | 20 +++++++++++++++----- benchcab/utils/__init__.py | 3 --- setup.cfg | 2 +- tests/test_config.py | 2 +- tests/test_utils.py | 2 +- 5 files changed, 18 insertions(+), 11 deletions(-) diff --git a/benchcab/data/config-schema.yml b/benchcab/data/config-schema.yml index 37ff37d5..a9325ac5 100644 --- a/benchcab/data/config-schema.yml +++ b/benchcab/data/config-schema.yml @@ -18,7 +18,7 @@ experiment: "US-Whs" ] -science_configuration: +science_configurations: type: "list" schema: type: "dict" @@ -43,6 +43,9 @@ realisations: patch: type: "dict" required: false + patch_remove: + type: "dict" + required: false fluxsite: type: "dict" @@ -50,6 +53,7 @@ fluxsite: schema: multiprocessing: type: "boolean" + required: false pbs: type: "dict" schema: @@ -57,11 +61,17 @@ fluxsite: type: "integer" required: false mem: - type: "integer" + type: "string" + regex: "^[0-9]+(?i)(mb|gb)$" required: false walltime: - type: "integer" + type: "string" + regex: "^[0-4][0-9]:[0-5][0-9]:[0-5][0-9]$" required: false storage: - type: "integer" - required: false \ No newline at end of file + type: list + required: false + schema: + type: "string" + required: false + \ No newline at end of file diff --git a/benchcab/utils/__init__.py b/benchcab/utils/__init__.py index 01510edb..59095572 100644 --- a/benchcab/utils/__init__.py +++ b/benchcab/utils/__init__.py @@ -39,9 +39,6 @@ def load_package_data(filename: str) -> dict: # Alias yaml and yml. ext = ext if ext != 'yaml' else 'yml' - # Make sure it is one of the supported types. - assert ext in PACKAGE_DATA_DECODERS.keys() - # Extract from the installations data directory. raw = pkgutil.get_data('benchcab', os.path.join('data', filename)).decode('utf-8') diff --git a/setup.cfg b/setup.cfg index 2a878959..13bc5ab3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,7 +1,7 @@ [metadata] name=benchcab summary= Software to run a benchmarking suite for CABLE LSM -# version=2.0.0 +version=2.0.0 description=To benchmark CABLE simulations url=https://github.com/CABLE-LSM/benchcab license=Apache 2.0 diff --git a/tests/test_config.py b/tests/test_config.py index 95076507..b6e0d8a8 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -23,7 +23,7 @@ def test_read_config_fail(): def test_validate_config_valid(): - """Test validate_config() for a valid confiog file.""" + """Test validate_config() for a valid config file.""" valid_config = bu.load_package_data('test/config-valid.yml') assert bc.validate_config(valid_config) diff --git a/tests/test_utils.py b/tests/test_utils.py index af8d9554..848161db 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -20,4 +20,4 @@ def test_load_package_data_fail(): """Test load_package_data() fails as expected.""" with pytest.raises(FileNotFoundError): - missing = bu.load_package_data('config-missing.yml'), dict() \ No newline at end of file + missing = bu.load_package_data('config-missing.yml') \ No newline at end of file