diff --git a/CIME/XML/grids.py b/CIME/XML/grids.py index 819838edddd..e34aacf2d01 100644 --- a/CIME/XML/grids.py +++ b/CIME/XML/grids.py @@ -25,6 +25,10 @@ def __init__(self, infile=None, files=None, comp_interface=None): infile = files.get_value("GRIDS_SPEC_FILE") logger.debug(" Grid specification file is {}".format(infile)) schema = files.get_schema("GRIDS_SPEC_FILE") + expect( + os.path.isfile(infile) and os.access(infile, os.R_OK), + f" grid file not found {infile}", + ) try: GenericXML.__init__(self, infile, schema) except: diff --git a/CIME/XML/machines.py b/CIME/XML/machines.py index 54c6edea515..1b45cf5b580 100644 --- a/CIME/XML/machines.py +++ b/CIME/XML/machines.py @@ -41,9 +41,12 @@ def __init__(self, infile=None, files=None, machine=None, extra_machines_dir=Non logger.debug("Verifying using schema {}".format(schema)) self.machines_dir = os.path.dirname(infile) + if os.path.exists(infile): + checked_files.append(infile) + else: + expect(False, f"file not found {infile}") GenericXML.__init__(self, infile, schema) - checked_files.append(infile) # Append the contents of $HOME/.cime/config_machines.xml if it exists. # diff --git a/CIME/tests/test_unit_xml_machines.py b/CIME/tests/test_unit_xml_machines.py index df6b9ce90d3..3f47a02b968 100644 --- a/CIME/tests/test_unit_xml_machines.py +++ b/CIME/tests/test_unit_xml_machines.py @@ -140,8 +140,8 @@ class TestUnitXMLMachines(unittest.TestCase): def setUp(self): Machines._FILEMAP = {} - - self.machine = Machines() + # read_only=False for github testing + self.machine = Machines(machine="centos7-linux") self.machine.read_fd(io.StringIO(MACHINE_TEST_XML))