MetOffice / tcd-XIOS-demonstration

Demonstration code and examples for XIOS (XML I/O Server) multi-version use
BSD 3-Clause "New" or "Revised" License
0 stars 5 forks source link

Unit tests now seem to be broken on MO environment #35

Open svadams opened 1 month ago

svadams commented 1 month ago

As part of investigations for #34 I checked out the latest copy of this repo to run the unit tests on MO VDI/Spice and I get errors when running python -m unittest xios_examples.read_axis_resample.test_resample_cases. Full stack trace in comments below.

svadams commented 1 month ago

tagging @mo-marqh @TeranIvy @harry-shepherd for info

svadams commented 1 month ago

Stack trace:

Traceback (most recent call last):
  File "/net/project/ukmo/scitools/opt_scitools/environments/production/2021_07_26/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/net/project/ukmo/scitools/opt_scitools/environments/production/2021_07_26/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/net/project/ukmo/scitools/opt_scitools/environments/production/2021_07_26/lib/python3.7/unittest/__main__.py", line 18, in <module>
    main(module=None)
  File "/net/project/ukmo/scitools/opt_scitools/environments/production/2021_07_26/lib/python3.7/unittest/main.py", line 100, in __init__
    self.parseArgs(argv)
  File "/net/project/ukmo/scitools/opt_scitools/environments/production/2021_07_26/lib/python3.7/unittest/main.py", line 147, in parseArgs
    self.createTests()
  File "/net/project/ukmo/scitools/opt_scitools/environments/production/2021_07_26/lib/python3.7/unittest/main.py", line 159, in createTests
    self.module)
  File "/net/project/ukmo/scitools/opt_scitools/environments/production/2021_07_26/lib/python3.7/unittest/loader.py", line 220, in loadTestsFromNames
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "/net/project/ukmo/scitools/opt_scitools/environments/production/2021_07_26/lib/python3.7/unittest/loader.py", line 220, in <listcomp>
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "/net/project/ukmo/scitools/opt_scitools/environments/production/2021_07_26/lib/python3.7/unittest/loader.py", line 154, in loadTestsFromName
    module = __import__(module_name)
  File "/net/data/users/sadams/tcd-XIOS-demonstration/xios_examples/read_axis_resample/test_resample_cases.py", line 10, in <module>
    import xios_examples.shared_testing as xshared
  File "/net/data/users/sadams/tcd-XIOS-demonstration/xios_examples/shared_testing.py", line 10, in <module>
    import xios_examples.gen_netcdf as gn
  File "/net/data/users/sadams/tcd-XIOS-demonstration/xios_examples/gen_netcdf.py", line 6, in <module>
    from .dataFunc import dataFunc
  File "/net/data/users/sadams/tcd-XIOS-demonstration/xios_examples/dataFunc.py", line 123
    if hasattr(self, do) and callable(func := getattr(self, do)):
                                           ^
SyntaxError: invalid syntax
mo-marqh commented 2 weeks ago

the := syntax was introduced in Python 3.8 https://docs.python.org/3/whatsnew/3.8.html#assignment-expressions

the stack trace you provided @svadams states it's using Python 3.7 which is a fairly old version. the default in Scitools is currently 3.11.7 the github runner uses Python 3.10

please may you try running this with a more recent version of Python?