From 507ec7283d86d5b786e08d0cc1a3d87664d3ac9d Mon Sep 17 00:00:00 2001 From: Jakub Witczak Date: Tue, 12 Nov 2024 18:00:19 +0100 Subject: [PATCH] common_test: fix interactive prompt - fix prompt for failed test code compilation case --- lib/common_test/src/ct_run.erl | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/lib/common_test/src/ct_run.erl b/lib/common_test/src/ct_run.erl index ddcbb4e90559..575242d9d134 100644 --- a/lib/common_test/src/ct_run.erl +++ b/lib/common_test/src/ct_run.erl @@ -2116,25 +2116,14 @@ continue(_MakeErrors, _AbortIfMissingSuites) -> end. set_group_leader_same_as_shell(OldGL) -> - %% find the group leader process on the node in a dirty fashion - %% (check initial function call and look in the process dictionary) - GS2or3 = fun(P) -> - case process_info(P,initial_call) of - {initial_call,{group,server,X}} when X == 2 ; X == 3 -> - true; - _ -> - false - end - end, - case [P || P <- processes(), GS2or3(P), - true == lists:keymember(shell,1, - element(2,process_info(P,dictionary)))] of - [GL|_] -> + case shell:whereis() of + ShellPid when is_pid(ShellPid) -> + {group_leader, NewGL} = process_info(ShellPid, group_leader), %% check if started from remote node (skip interaction) - if node(OldGL) /= node(GL) -> false; - true -> group_leader(GL, self()) + if node(OldGL) /= node(NewGL) -> false; + true -> group_leader(NewGL, self()) end; - [] -> + undefined -> false end.