scaffold-command icon indicating copy to clipboard operation
scaffold-command copied to clipboard

Refresh `install-wp-tests.sh` script

Open swissspidy opened this issue 11 months ago • 1 comments

Feature Request

Describe your use case and the problem you are facing

This script hasn't really seen any major updates, because they haven't been necessary, but I think there's still some room for improvements.

Describe the solution you'd like

Some thoughts and ideas:

  • I don't think we still need install the DB drop-in from https://github.com/markoheijnen/wp-mysqli (which just sets WP_USE_EXT_MYSQL to false) anymore.
  • There is no good way to keep install-wp-tests.sh in sync with the version here. Developers miss out on important updates. Even just adding a link to this repo at the top of the file, maybe with a "Last updated" date, would be helpful
  • Sometimes I had to add a User-Agent header to cURL requests as WordPress.org seemed to block requests otherwise. e.g. curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (K HTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" -s "$1" > "$2";
  • The script could have built-in MariaDB support, e.g. checking for mariadb-admin

swissspidy avatar Jul 13 '23 10:07 swissspidy

Another thing that's annoying:

On macOS the files in the tmo wordpress and wordpress-tests-lib can get wiped sometimes, but the folders are still there. But because the script only checks if the folders exist and not the files, it won't recreate the setup.

To make that more robust, we can check if files like "$WP_TESTS_DIR"/includes/functions.php and "$WP_CORE_DIR"/wp-includs.php exist.

See https://github.com/swissspidy/performant-translations/commit/108e44363609cf81331ca20d330e1e3b46f2e391

swissspidy avatar Oct 03 '23 11:10 swissspidy