Example #1
0
    def test_with_plugins(self):
        self.monkeypatch.delenv("ERT_SITE_CONFIG", raising=False)
        # We are comparing two function calls, both of which generate a tmpdir, this makes
        # sure that the same tmpdir is called on both occasions.
        self.monkeypatch.setattr(tempfile, "mkdtemp",
                                 Mock(return_value=tempfile.mkdtemp()))
        with ErtPluginContext(plugins=[dummy_plugins]) as c:
            with self.assertRaises(KeyError):
                os.environ["ECL100_SITE_CONFIG"]
            with self.assertRaises(KeyError):
                os.environ["ECL300_SITE_CONFIG"]
            with self.assertRaises(KeyError):
                os.environ["FLOW_SITE_CONFIG"]
            with self.assertRaises(KeyError):
                os.environ["RMS_SITE_CONFIG"]

            self.assertTrue(os.path.isfile(os.environ["ERT_SITE_CONFIG"]))
            with open(os.environ["ERT_SITE_CONFIG"]) as f:
                self.assertEqual(f.read(),
                                 c.plugin_manager.get_site_config_content())

            path = os.environ["ERT_SITE_CONFIG"]

        with self.assertRaises(KeyError):
            os.environ["ERT_SITE_CONFIG"]
        self.assertFalse(os.path.isfile(path))
Example #2
0
    def test_already_set(self):
        for var in env_vars:
            self.monkeypatch.setenv(var, "TEST")

        with ErtPluginContext(plugins=[dummy_plugins]) as c:
            for var in env_vars:
                self.assertEqual("TEST", os.environ[var])

        for var in env_vars:
            self.assertEqual("TEST", os.environ[var])
Example #3
0
    def test_already_set(self):
        for var in env_vars:
            os.environ[var] = "TEST"

        with ErtPluginContext(plugins=[dummy_plugins]) as c:
            for var in env_vars:
                self.assertEqual("TEST", os.environ[var])

        for var in env_vars:
            self.assertEqual("TEST", os.environ[var])

        for var in env_vars:
            del os.environ[var]
Example #4
0
    def test_with_plugins(self):
        with ErtPluginContext(plugins=[dummy_plugins]) as c:
            self.assertEqual("/dummy/path/ecl100_config.yml",
                             os.environ["ECL100_SITE_CONFIG"])
            self.assertEqual("/dummy/path/ecl300_config.yml",
                             os.environ["ECL300_SITE_CONFIG"])
            self.assertEqual("/dummy/path/flow_config.yml",
                             os.environ["FLOW_SITE_CONFIG"])
            self.assertEqual("/dummy/path/rms_config.yml",
                             os.environ["RMS_SITE_CONFIG"])

            self.assertTrue(os.path.isfile(os.environ["ERT_SITE_CONFIG"]))
            with open(os.environ["ERT_SITE_CONFIG"]) as f:
                self.assertEqual(f.read(),
                                 c.plugin_manager.get_site_config_content())

            path = os.environ["ERT_SITE_CONFIG"]

        with self.assertRaises(KeyError):
            os.environ["ERT_SITE_CONFIG"]
        self.assertFalse(os.path.isfile(path))
Example #5
0
    def test_no_plugins(self):
        with ErtPluginContext(plugins=[]) as c:
            with self.assertRaises(KeyError):
                os.environ["ECL100_SITE_CONFIG"]
            with self.assertRaises(KeyError):
                os.environ["ECL300_SITE_CONFIG"]
            with self.assertRaises(KeyError):
                os.environ["FLOW_SITE_CONFIG"]
            with self.assertRaises(KeyError):
                os.environ["RMS_SITE_CONFIG"]

            self.assertTrue(os.path.isfile(os.environ["ERT_SITE_CONFIG"]))
            with open(os.environ["ERT_SITE_CONFIG"]) as f:
                self.assertEqual(f.read(),
                                 c.plugin_manager.get_site_config_content())

            path = os.environ["ERT_SITE_CONFIG"]

        with self.assertRaises(KeyError):
            os.environ["ERT_SITE_CONFIG"]
        self.assertFalse(os.path.isfile(path))
Example #6
0
 def test_plugin_context_python_2(self):
     with ErtPluginContext(plugins=[]):
         for var in env_vars:
             with self.assertRaises(KeyError):
                 os.environ[var]
Example #7
0
    functionality.
    """
    if sys.platform != "linux" or "ERT_COMM_FD" not in os.environ:
        return

    from ctypes import CDLL, c_int, c_ulong
    import signal

    lib = CDLL(None)

    # from <sys/prctl.h>
    # int prctl(int option, ...)
    prctl = lib.prctl
    prctl.restype = c_int
    prctl.argtypes = (c_int, c_ulong)

    # from <linux/prctl.h>
    PR_SET_PDEATHSIG = 1

    # connect parent death signal to our SIGTERM
    prctl(PR_SET_PDEATHSIG, signal.SIGTERM)


if __name__ == "__main__":
    # pylint: disable=W0611
    import ert_logging

    terminate_on_parent_death()
    with ErtPluginContext() as context:
        run_server(debug=False)