23 lines
676 B
Python
23 lines
676 B
Python
from __future__ import annotations
|
|
|
|
import os
|
|
import unittest
|
|
from unittest.mock import patch
|
|
|
|
from opc import engine as engine_module
|
|
from opc.engine import OPCEngine
|
|
|
|
|
|
class EnginePidProbeTests(unittest.TestCase):
|
|
def test_current_process_is_running(self) -> None:
|
|
self.assertTrue(OPCEngine._pid_is_running(os.getpid()))
|
|
|
|
def test_posix_probe_treats_unexpected_oserror_as_not_running(self) -> None:
|
|
with patch.object(engine_module.os, "name", "posix"), patch.object(
|
|
engine_module.os,
|
|
"kill",
|
|
side_effect=OSError("platform probe failed"),
|
|
):
|
|
self.assertFalse(OPCEngine._pid_is_running(12345))
|
|
|