From 8372c9f18cd54fd89a357702787250889358244a Mon Sep 17 00:00:00 2001 From: nabim777 Date: Thu, 11 Jun 2026 10:40:45 +0545 Subject: [PATCH 1/2] ci: check for failure Signed-off-by: nabim777 --- tests/acceptance/features/bootstrap/FeatureContext.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/acceptance/features/bootstrap/FeatureContext.php b/tests/acceptance/features/bootstrap/FeatureContext.php index cce9afab7..0ee84481f 100644 --- a/tests/acceptance/features/bootstrap/FeatureContext.php +++ b/tests/acceptance/features/bootstrap/FeatureContext.php @@ -290,6 +290,7 @@ private function deleteUserDataFromDocker(string $user): void { // Skip if Nextcloud Docker container does not exist exec("docker ps --format \"{{.Names}}\"", $containers); if (!in_array('nextcloud', $containers)) { + echo "Docker container 'nextcloud' not found. Skipping user data deletion.\n"; return; } @@ -304,7 +305,7 @@ private function deleteUserDataFromDocker(string $user): void { $checkCmd = "docker exec nextcloud /bin/bash -c '[ -d $folder1 ] || [ -d $folder2 ]'"; exec($checkCmd, $checkOutput, $checkCode); if ($checkCode === 1) { - echo "User data directory doesn't exist, skipping deletion.\n"; + echo "User '$user' data directory doesn't exist, skipping deletion.\n"; if (count($checkOutput) > 0) { echo "Command output: " . implode("\n", $checkOutput); } From f7384894f412805ab915a346f82ca8d2700d256f Mon Sep 17 00:00:00 2001 From: nabim777 Date: Wed, 17 Jun 2026 14:08:26 +0545 Subject: [PATCH 2/2] ci: add error log Signed-off-by: nabim777 --- .../features/bootstrap/FeatureContext.php | 43 ++++++++++++++----- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/tests/acceptance/features/bootstrap/FeatureContext.php b/tests/acceptance/features/bootstrap/FeatureContext.php index 0ee84481f..76267f8a3 100644 --- a/tests/acceptance/features/bootstrap/FeatureContext.php +++ b/tests/acceptance/features/bootstrap/FeatureContext.php @@ -146,7 +146,7 @@ private function createUser(string $user, array $userAttributes): void { /** * @Given user :user has been created */ - public function userHasBeenCreated(string $user, string $displayName = null):void { + public function userHasBeenCreated(string $user, ?string $displayName = null):void { $userAttributes['userid'] = $user; $userAttributes['password'] = $this->getRegularUserPassword(); if ($displayName !== null) { @@ -283,12 +283,24 @@ public function theAdministratorDeletesTheGroup(string $group):void { private function deleteUserDataFromDocker(string $user): void { $dataDir = "data"; // check if docker exists - if (!exec("docker --version")) { - echo "'docker' command not found. Skipping user data deletion.\n"; + exec("docker --version 2>&1", $dockerVersionOutput, $dockerVersionCode); + if ($dockerVersionCode !== 0) { + echo "'docker' command not found or not executable. Skipping user data deletion.\n"; + if (count($dockerVersionOutput) > 0) { + echo "Command output: " . implode("\n", $dockerVersionOutput) . "\n"; + } return; } + // Skip if Nextcloud Docker container does not exist - exec("docker ps --format \"{{.Names}}\"", $containers); + exec("docker ps --format \"{{.Names}}\" 2>&1", $containers, $dockerPsCode); + if ($dockerPsCode !== 0) { + echo "Failed to list Docker containers. Skipping user data deletion.\n"; + if (count($containers) > 0) { + echo "Command output: " . implode("\n", $containers) . "\n"; + } + return; + } if (!in_array('nextcloud', $containers)) { echo "Docker container 'nextcloud' not found. Skipping user data deletion.\n"; return; @@ -302,21 +314,32 @@ private function deleteUserDataFromDocker(string $user): void { $folder2 = "$dataDir/" . strtoupper($firstChar) . $restChars; // check data folders - $checkCmd = "docker exec nextcloud /bin/bash -c '[ -d $folder1 ] || [ -d $folder2 ]'"; + $checkCmd = "docker exec nextcloud /bin/bash -c '[ -d $folder1 ] || [ -d $folder2 ]' 2>&1"; exec($checkCmd, $checkOutput, $checkCode); - if ($checkCode === 1) { - echo "User '$user' data directory doesn't exist, skipping deletion.\n"; + if ($checkCode !== 0) { + if ($checkCode === 1) { + echo "User '$user' data directory doesn't exist, skipping deletion.\n"; + } else { + echo "Failed to check user data directory for '$user'.\n"; + echo "Command: $checkCmd\n"; + echo "Exit code: $checkCode\n"; + } if (count($checkOutput) > 0) { - echo "Command output: " . implode("\n", $checkOutput); + echo "Command output: " . implode("\n", $checkOutput) . "\n"; } return; } + // delete user data directory - $rmCmd = "docker exec nextcloud /bin/bash -c 'rm -rf $dataDir/$userPattern'"; + $rmCmd = "docker exec nextcloud /bin/bash -c 'rm -rf $dataDir/$userPattern' 2>&1"; exec($rmCmd, $output, $rmCode); if ($rmCode !== 0) { echo "Failed to delete data directory of user '$user'.\n"; - echo "Command output: " . implode("\n", $output); + echo "Command: $rmCmd\n"; + echo "Exit code: $rmCode\n"; + if (count($output) > 0) { + echo "Command output: " . implode("\n", $output) . "\n"; + } } }