def test_no_executable(self): job = XmiMsim.Job.new( os.environ["XMIMSIM_NON_EXISTENT_EXEC"], "non-existent-file.xmsi", self.options, extra_options=type(self).EXTRA_OPTIONS ) self.assertIsNotNone(job) try: logging.debug("command: {}".format(job.get_command())) job.start() self.fail("Starting a job without existent executable must throw an exception!") except GLib.Error as err: self.assertEqual(GLib.quark_from_string(err.domain), GLib.spawn_error_quark()) self.assertTrue(err.code == GLib.SpawnError.NOENT or err.code == GLib.SpawnError.FAILED) self.assertFalse(job.is_running()) self.assertFalse(job.is_suspended()) self.assertFalse(job.has_finished()) self.assertFalse(job.was_successful()) try: job.stop() except GLib.Error as err: self.assertTrue(err.matches(XmiMsim.JobError.quark(), XmiMsim.JobError.UNAVAILABLE)) try: job.suspend() except GLib.Error as err: self.assertTrue(err.matches(XmiMsim.JobError.quark(), XmiMsim.JobError.UNAVAILABLE)) try: job.resume() except GLib.Error as err: self.assertTrue(err.matches(XmiMsim.JobError.quark(), XmiMsim.JobError.UNAVAILABLE))