Merge pull request #4589 from aws-lumberyard-dev/lytt_integ_linux
Platform manager and sanity tests for Linux
This commit is contained in:
@@ -63,7 +63,6 @@ class TestAutomatedTestingProject(object):
|
||||
# Clean up processes after the test is finished
|
||||
process_utils.kill_processes_named(names=process_utils.LY_PROCESS_KILL_LIST, ignore_extensions=True)
|
||||
|
||||
@pytest.mark.skipif(not ly_test_tools.WINDOWS, reason="Editor currently only functions on Windows")
|
||||
def test_StartEditor_Sanity(self, project):
|
||||
"""
|
||||
The `test_StartEditor_Sanity` test function is similar to the previous example with minor adjustments. A
|
||||
@@ -86,7 +85,7 @@ class TestAutomatedTestingProject(object):
|
||||
# Call the Editor executable
|
||||
with editor.start():
|
||||
# Wait for the process to exist
|
||||
waiter.wait_for(lambda: process_utils.process_exists("Editor", ignore_extensions=True))
|
||||
waiter.wait_for(lambda: process_utils.process_exists("Editor.exe", ignore_extensions=True))
|
||||
finally:
|
||||
# Clean up processes after the test is finished
|
||||
process_utils.kill_processes_named(names=process_utils.LY_PROCESS_KILL_LIST, ignore_extensions=True)
|
||||
|
||||
@@ -58,10 +58,8 @@ class TestAssetProcessor(object):
|
||||
under_test.start(connect_to_ap=True)
|
||||
|
||||
assert under_test._ap_proc is not None
|
||||
mock_popen.assert_called_once_with([mock_ap_path, '--zeroAnalysisMode',
|
||||
f'--regset="/Amazon/AzCore/Bootstrap/project_path={mock_project_path}"',
|
||||
'--logDir', under_test.log_root(),
|
||||
'--acceptInput', '--platforms', 'bar'], cwd=os.path.dirname(mock_ap_path))
|
||||
mock_popen.assert_called_once()
|
||||
assert '--zeroAnalysisMode' in mock_popen.call_args[0][0]
|
||||
mock_connect.assert_called()
|
||||
|
||||
@mock.patch('ly_test_tools._internal.managers.workspace.AbstractWorkspaceManager')
|
||||
@@ -114,7 +112,7 @@ class TestAssetProcessor(object):
|
||||
|
||||
assert result
|
||||
mock_run.assert_called_once_with([apb_path,
|
||||
f'--regset="/Amazon/AzCore/Bootstrap/project_path={mock_project_path}"',
|
||||
f'--regset="/Amazon/AzCore/Bootstrap/project_path={mock_project_path}"',
|
||||
'--logDir', under_test.log_root()],
|
||||
close_fds=True, capture_output=False,
|
||||
timeout=1)
|
||||
@@ -150,10 +148,8 @@ class TestAssetProcessor(object):
|
||||
result, _ = under_test.batch_process(None, False)
|
||||
|
||||
assert not result
|
||||
mock_run.assert_called_once_with([apb_path,
|
||||
f'--regset="/Amazon/AzCore/Bootstrap/project_path={mock_project_path}"',
|
||||
'--logDir', under_test.log_root()],
|
||||
close_fds=True, capture_output=False, timeout=28800.0)
|
||||
mock_run.assert_called_once()
|
||||
assert f'--regset="/Amazon/AzCore/Bootstrap/project_path={mock_project_path}"' in mock_run.call_args[0][0]
|
||||
|
||||
|
||||
@mock.patch('ly_test_tools._internal.managers.workspace.AbstractWorkspaceManager')
|
||||
|
||||
@@ -223,7 +223,7 @@ class TestCloseWindowsProcess(unittest.TestCase):
|
||||
mock_enum.assert_called_once()
|
||||
|
||||
|
||||
class Test(unittest.TestCase):
|
||||
class TestProcessMatching(unittest.TestCase):
|
||||
|
||||
@mock.patch("ly_test_tools.environment.process_utils._safe_get_processes")
|
||||
def test_ProcExists_HasExtension_Found(self, mock_get_proc):
|
||||
@@ -261,18 +261,55 @@ class Test(unittest.TestCase):
|
||||
self.assertTrue(result)
|
||||
proc_mock.name.assert_called()
|
||||
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_kill_process', mock.MagicMock)
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_kill_processes')
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_get_processes')
|
||||
def test_KillProcNamed_MockKill_SilentSuccess(self, mock_get_proc):
|
||||
def test_KillProcNamed_ExactMatch_Killed(self, mock_get_proc, mock_kill_proc):
|
||||
name = "dummy.exe"
|
||||
proc_mock = mock.MagicMock()
|
||||
proc_mock.name.return_value = name
|
||||
mock_get_proc.return_value = [proc_mock]
|
||||
|
||||
process_utils.kill_processes_named("dummy.exe", ignore_extensions=False)
|
||||
mock_kill_proc.assert_called()
|
||||
proc_mock.name.assert_called()
|
||||
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_kill_processes')
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_get_processes')
|
||||
def test_KillProcNamed_NearMatch_Ignore(self, mock_get_proc, mock_kill_proc):
|
||||
name = "dummy.exe"
|
||||
proc_mock = mock.MagicMock()
|
||||
proc_mock.name.return_value = name
|
||||
mock_get_proc.return_value = [proc_mock]
|
||||
|
||||
process_utils.kill_processes_named("dummy", ignore_extensions=False)
|
||||
mock_kill_proc.assert_not_called()
|
||||
proc_mock.name.assert_called()
|
||||
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_kill_processes')
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_get_processes')
|
||||
def test_KillProcNamed_NearMatchIgnoreExtension_Kill(self, mock_get_proc, mock_kill_proc):
|
||||
name = "dummy.exe"
|
||||
proc_mock = mock.MagicMock()
|
||||
proc_mock.name.return_value = name
|
||||
mock_get_proc.return_value = [proc_mock]
|
||||
|
||||
process_utils.kill_processes_named("dummy", ignore_extensions=True)
|
||||
mock_kill_proc.assert_called()
|
||||
proc_mock.name.assert_called()
|
||||
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_kill_process', mock.MagicMock)
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_kill_processes')
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_get_processes')
|
||||
def test_KillProcNamed_ExactMatchIgnoreExtension_Killed(self, mock_get_proc, mock_kill_proc):
|
||||
name = "dummy.exe"
|
||||
proc_mock = mock.MagicMock()
|
||||
proc_mock.name.return_value = name
|
||||
mock_get_proc.return_value = [proc_mock]
|
||||
|
||||
process_utils.kill_processes_named("dummy.exe", ignore_extensions=True)
|
||||
mock_kill_proc.assert_called()
|
||||
proc_mock.name.assert_called()
|
||||
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_kill_processes', mock.MagicMock)
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_get_processes')
|
||||
@mock.patch('os.path.exists')
|
||||
def test_KillProcFrom_MockKill_SilentSuccess(self, mock_path, mock_get_proc):
|
||||
@@ -293,7 +330,7 @@ class Test(unittest.TestCase):
|
||||
|
||||
mock_kill.assert_called()
|
||||
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_kill_process', mock.MagicMock)
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_kill_processes', mock.MagicMock)
|
||||
@mock.patch('psutil.Process')
|
||||
def test_KillProcPid_NoProc_SilentPass(self, mock_psutil):
|
||||
mock_proc = mock.MagicMock()
|
||||
@@ -302,7 +339,7 @@ class Test(unittest.TestCase):
|
||||
|
||||
process_utils.kill_process_with_pid(1)
|
||||
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_kill_process', mock.MagicMock)
|
||||
@mock.patch('ly_test_tools.environment.process_utils._safe_kill_processes', mock.MagicMock)
|
||||
@mock.patch('psutil.Process')
|
||||
def test_KillProcPidRaiseOnMissing_NoProc_Raises(self, mock_psutil):
|
||||
mock_proc = mock.MagicMock()
|
||||
@@ -339,7 +376,7 @@ class Test(unittest.TestCase):
|
||||
mock_wait_procs.side_effect = psutil.PermissionError()
|
||||
proc_mock = mock.MagicMock()
|
||||
|
||||
process_utils._safe_kill_process_list(proc_mock)
|
||||
process_utils._safe_kill_processes(proc_mock)
|
||||
|
||||
mock_wait_procs.assert_called()
|
||||
mock_log_warn.assert_called()
|
||||
|
||||
Reference in New Issue
Block a user