From 850eb0ce18ccce5e245bd0743a5d1a5a17180dc2 Mon Sep 17 00:00:00 2001 From: Lucas Bustamante Date: Wed, 8 May 2024 13:33:18 -0300 Subject: [PATCH] CR Fixes --- qit | Bin 2118824 -> 2119392 bytes .../Commands/CustomTests/RunE2ECommand.php | 12 ++++++++++-- .../Environment/ListEnvironmentCommand.php | 4 +++- src/src/LocalTests/E2E/E2ETestManager.php | 2 +- src/src/Zipper.php | 6 +++++- 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/qit b/qit index 449af60935030c49013ac457eb72f34bcb2777d6..44f8d6b2ed8af28d3b0340f6cdab98160218c330 100755 GIT binary patch delta 67935 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

JWrPK>f|6 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 Da`Np| delta 67282 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 diff --git a/src/src/Commands/CustomTests/RunE2ECommand.php b/src/src/Commands/CustomTests/RunE2ECommand.php index ee20234a..643bd65e 100644 --- a/src/src/Commands/CustomTests/RunE2ECommand.php +++ b/src/src/Commands/CustomTests/RunE2ECommand.php @@ -127,7 +127,7 @@ protected function execute( InputInterface $input, OutputInterface $output ): in $test_mode = E2ETestManager::$test_modes['headless']; } - $wait = $input->getOption( 'up_only' ) || $test_mode === 'codegen'; + $wait = $input->getOption( 'up_only' ) || $test_mode === E2ETestManager::$test_modes['codegen']; $woo_extension = $input->getArgument( 'woo_extension' ); $test = $input->getArgument( 'test' ); $shard = $input->getOption( 'shard' ); @@ -267,7 +267,7 @@ protected function execute( InputInterface $input, OutputInterface $output ): in if ( $exit_status_code === Command::SUCCESS ) { return Command::SUCCESS; } else { - if ( ! $wait ) { + if ( $test_mode === E2ETestManager::$test_modes['headless'] ) { $this->output->writeln( sprintf( 'Tests failed. Exit status code: %s', $exit_status_code ) ); } @@ -276,6 +276,14 @@ protected function execute( InputInterface $input, OutputInterface $output ): in } public static function shutdown_test_run(): void { + static $did_shutdown = false; + + if ( $did_shutdown ) { + return; + } else { + $did_shutdown = true; + } + echo "\nShutting down environment...\n"; // Env not up or could not parse the "up" JSON. if ( empty( $GLOBALS['env_to_shutdown'] ) || ! $GLOBALS['env_to_shutdown'] instanceof EnvInfo ) { diff --git a/src/src/Commands/Environment/ListEnvironmentCommand.php b/src/src/Commands/Environment/ListEnvironmentCommand.php index a5510b87..91642190 100644 --- a/src/src/Commands/Environment/ListEnvironmentCommand.php +++ b/src/src/Commands/Environment/ListEnvironmentCommand.php @@ -71,7 +71,9 @@ protected function execute( InputInterface $input, OutputInterface $output ): in $v = $elapsed; } if ( is_array( $v ) ) { - $v = implode( ', ', $v ); + // "implode" only works on flat arrays, otherwise we need "print_r". + $is_flat = count( array_filter( $v, 'is_array' ) ) === 0; + $v = $is_flat ? implode( ', ', $v ) : print_r( $v, true ); } // Check if "field" option is set, and only add if matches. if ( $input->getOption( 'field' ) && $input->getOption( 'field' ) !== $k ) { diff --git a/src/src/LocalTests/E2E/E2ETestManager.php b/src/src/LocalTests/E2E/E2ETestManager.php index ef9148a3..f722312a 100644 --- a/src/src/LocalTests/E2E/E2ETestManager.php +++ b/src/src/LocalTests/E2E/E2ETestManager.php @@ -103,7 +103,7 @@ public function run_tests( E2EEnvInfo $env_info, string $test_mode, bool $bootst if ( $bootstrap_only ) { if ( $test_mode === 'codegen' ) { $io = new SymfonyStyle( App::make( InputInterface::class ), $this->output ); - $io->success( "Open the site URL above on Playwright Codegen and start generating tests.\nLearn More: https://qit.woo.com/docs/codegen" ); + $io->success( "Open the site URL above on Playwright Codegen and start generating tests.\nLearn More: https://qit.woo.com/docs/custom-tests/generating-tests#codegen" ); $this->playwright_codegen->open_codegen( $env_info ); diff --git a/src/src/Zipper.php b/src/src/Zipper.php index 59b7cbde..3d95c2ee 100644 --- a/src/src/Zipper.php +++ b/src/src/Zipper.php @@ -154,12 +154,16 @@ public function validate_zip( string $zip_file ): void { $zip_process = new Process( $args ); - $zip_process->mustRun( function ( $type, $out ) { + $zip_process->run( function ( $type, $out ) { if ( $this->output->isVeryVerbose() ) { $this->output->write( 'Docker ZIP Validation: ' . $out ); } } ); + if ( ! $zip_process->isSuccessful() ) { + throw new \RuntimeException( sprintf( 'The zip file "%s" appears to be invalid. For details, re-run the command with the --verbose flag.' ) ); + } + if ( $this->output->isVeryVerbose() ) { $this->output->writeln( sprintf( 'Docker ZIP validation of %s successful (%f seconds).', basename( $zip_file ), microtime( true ) - $start ) ); }