def test_status_assertion(self): nonempty = tempfile.NamedTemporaryFile() nonempty.write('data_test _tag value') nonempty.flush() empty = tempfile.NamedTemporaryFile() empty.write('') empty.flush() calc = CiffilterCalculation() parser = CiffilterParser(calc) status, nodes = parser._get_output_nodes(nonempty.name, empty.name) self.assertEquals(status, True) status, nodes = parser._get_output_nodes(empty.name, nonempty.name) self.assertEquals(status, False) calc = CifcellcontentsCalculation() parser = CifcellcontentsParser(calc) status, nodes = parser._get_output_nodes(nonempty.name, empty.name) self.assertEquals(status, True) status, nodes = parser._get_output_nodes(empty.name, nonempty.name) self.assertEquals(status, False)
def test_2(self): stdout_messages = ["data_test _cell_length_a 10(1)"] stderr_messages = ["first line", "last line"] f = SandboxFolder() stdout_file = "{}/{}".format(f.abspath, "aiida.out") stderr_file = "{}/{}".format(f.abspath, "aiida.err") with open(stdout_file, 'w') as of: of.write("\n".join(stdout_messages)) of.flush() with open(stderr_file, 'w') as ef: ef.write("\n".join(stderr_messages)) ef.flush() parser = CiffilterParser(CiffilterCalculation()) success, nodes = parser._get_output_nodes(stdout_file, stderr_file) self.assertEquals(success, True) self.assertEquals(len(nodes), 2) self.assertEquals(nodes[0][0], 'cif') self.assertEquals(isinstance(nodes[0][1], CifData), True) self.assertEquals(nodes[0][1].generate_md5(), 'b5bb739a254514961a157503daf715eb') self.assertEquals(nodes[1][0], 'messages') self.assertEquals(isinstance(nodes[1][1], ParameterData), True)
def test_resource_validation(self): calc = CiffilterCalculation() calc.use_cif(CifData()) for key in [ 'num_machines', 'num_mpiprocs_per_machine', 'tot_num_mpiprocs' ]: with self.assertRaises(FeatureNotAvailable): calc.set_resources({key: 2}) # Inner modification of resource parameters: calc._set_attr('jobresource_params', {key: 2}) with self.assertRaises(FeatureNotAvailable): calc._validate_resources(**calc.get_resources()) calc.set_resources({key: 1})