From 4013dc4049cc78f099af6554f1d7258fb0e087b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20G=C3=BCnter?= Date: Thu, 13 Jun 2024 16:40:58 +0200 Subject: [PATCH] fix: changed to comma separated, added readme --- README.md | 9 +++++++-- features/checksum-core.feature | 6 +++--- src/Checksum_Core_Command.php | 6 +++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 7a6a1962..4f043b22 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ This package implements the following commands: Verifies WordPress files against WordPress.org's checksums. ~~~ -wp core verify-checksums [--include-root] [--version=] [--locale=] [--insecure] +wp core verify-checksums [--include-root] [--version=] [--locale=] [--insecure] [--exclude=] ~~~ Downloads md5 checksums for the current version from WordPress.org, and @@ -43,6 +43,9 @@ site. [--insecure] Retry downloads without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack. + [--exclude=] + Exclude specific files from the checksum verification. Provide a comma-separated list of file paths. + **EXAMPLES** # Verify checksums @@ -64,7 +67,9 @@ site. Warning: File doesn't verify against checksum: wp-config-sample.php Error: WordPress installation doesn't verify against checksums. - + # Verify checksums excluding specific files + $ wp core verify-checksums --exclude="wp-my-custom-file.php,readme.html" + Success: WordPress installation verifies against checksums. ### wp plugin verify-checksums diff --git a/features/checksum-core.feature b/features/checksum-core.feature index 8b242372..21d20358 100644 --- a/features/checksum-core.feature +++ b/features/checksum-core.feature @@ -237,7 +237,7 @@ Feature: Validate checksums for WordPress install sample content of some file """ - When I try `wp core verify-checksums --exclude='readme.html wp-includes/some-filename.php'` + When I try `wp core verify-checksums --exclude='readme.html,wp-includes/some-filename.php'` Then STDERR should be empty And STDOUT should be: """ @@ -245,7 +245,7 @@ Feature: Validate checksums for WordPress install """ And the return code should be 0 - Scenario: Verify core checksums with missing one excluded file + Scenario: Verify core checksums with missing excluded file Given a WP install And "WordPress" replaced with "PressWord" in the readme.html file And a wp-includes/some-filename.php file: @@ -253,7 +253,7 @@ Feature: Validate checksums for WordPress install sample content of some file """ - When I try `wp core verify-checksums --exclude=' wp-includes/some-filename.php'` + When I try `wp core verify-checksums --exclude='wp-includes/some-filename.php'` Then STDERR should be: """ Warning: File doesn't verify against checksum: readme.html diff --git a/src/Checksum_Core_Command.php b/src/Checksum_Core_Command.php index 30b255c0..bec885c7 100644 --- a/src/Checksum_Core_Command.php +++ b/src/Checksum_Core_Command.php @@ -52,7 +52,7 @@ class Checksum_Core_Command extends Checksum_Base_Command { * : Retry downloads without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack. * * [--exclude=] - * : Exclude specific files from the checksum verification. Provide a space-separated list of file paths. + * : Exclude specific files from the checksum verification. Provide a comma-separated list of file paths. * * ## EXAMPLES * @@ -75,7 +75,7 @@ class Checksum_Core_Command extends Checksum_Base_Command { * Warning: File doesn't verify against checksum: wp-config-sample.php * Error: WordPress installation doesn't verify against checksums. * - * # Verify checksums + * # Verify checksums and exclude files * $ wp core verify-checksums --exclude="readme.html" * Success: WordPress installation verifies against checksums. * @@ -98,7 +98,7 @@ public function __invoke( $args, $assoc_args ) { } if ( ! empty( $assoc_args['exclude'] ) ) { - $this->exclude_files = explode( ' ', $assoc_args['exclude'] ); + $this->exclude_files = explode( ',', Utils\get_flag_value( $assoc_args, 'exclude', '' ) ); } if ( empty( $wp_version ) ) {