wp-cli-tests icon indicating copy to clipboard operation
wp-cli-tests copied to clipboard

Directory not empty in (tmp).../wp-cli-test-sqlite-integration-cache/sqlite-database-integration

Open BrianHenryIE opened this issue 1 year ago • 2 comments

Bug Report

Describe the current, buggy behavior

I went to run a Behat test on a PR I had been working on previously (wp-cli/wp-cli/#5943) and it failed to run with a Directory not empty message:

Warning: rename(/var/folders/84/0kzx05wx0hx82cbpv99r052c0000gp/T/wp-cli-test-sqlite-integration-cache/sqlite-database-integration-2.1.3/,/var/folders/84/0kzx05wx0hx82cbpv99r052c0000gp/T/wp-cli-test-sqlite-integration-cache/sqlite-database-integration/): Directory not empty in /Users/brian.henry/Sites/wp-cli/wp-cli/vendor/wp-cli/wp-cli-tests/src/Context/FeatureContext.php line 372

Describe how other contributors can replicate this bug

I'm unsure.

I removed the directory at /var/folders/84/0kzx05wx0hx82cbpv99r052c0000gp/T/wp-cli-test-sqlite-integration-cache/sqlite-database-integration/ and the test ran successfully, and repeated runs of the same test did not result in the same issue.

I can't see how this happened. This line must have evaluated true: https://github.com/wp-cli/wp-cli-tests/blob/0c5c2e978423605116a75b0a9b6786dd55d338c3/src/Context/FeatureContext.php#L413

Describe what you would expect as the correct outcome

Tests should run.

Let us know what environment you are running this on

OS:     Darwin 23.5.0 Darwin Kernel Version 23.5.0: Wed May  1 20:13:18 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6030 arm64
Shell:  /bin/zsh
PHP binary:     /opt/homebrew/Cellar/[email protected]/8.1.28/bin/php
PHP version:    8.1.28
php.ini used:   /opt/homebrew/etc/php/8.1/php.ini
MySQL binary:   /opt/homebrew/bin/mysql
MySQL version:  mysql  Ver 8.3.0 for macos14.2 on arm64 (Homebrew)
SQL modes:      
WP-CLI root dir:        phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:      phar://wp-cli.phar/vendor
WP_CLI phar path:       /Users/brian.henry/Sites/wp-cli/wp-cli
WP-CLI packages dir:    
WP-CLI cache dir:       /Users/brian.henry/.wp-cli/cache
WP-CLI global config:   
WP-CLI project config:  
WP-CLI version: 2.10.0

Also tested with PHP 7.4, thinking it was something stricter about 8.1 – same behaviour.

Provide a possible solution

Probably should just delete the destination directory before using it. It's a temp directory anyway.

Provide additional context/Screenshots

Repeatedly running the same tests three weeks ago was causing no problem.

BrianHenryIE avatar Jul 03 '24 17:07 BrianHenryIE

I have also seen this issue a handful of times. I thought this should be fixed upstream. 😊

ernilambar avatar Jul 04 '24 04:07 ernilambar

Probably should just delete the destination directory before using it. It's a temp directory anyway.

It's been a while since we added the SQLite integration, so fuzzy on the implementation details, but this sounds reasonable.

swissspidy avatar Jul 10 '24 13:07 swissspidy

Is this still relevant/happening?

swissspidy avatar May 17 '25 11:05 swissspidy