@@ -380,6 +380,37 @@ Feature: Update WordPress plugins
380380 Success: Updated 2 of 2 plugins.
381381 """
382382
383+ @require-wp-5.2 @skip-windows
384+ Scenario : Failed plugin update keeps JSON output parseable
385+ Given a WP install
386+ And I run `wp plugin install wordpress-importer --version=0.5 --force`
387+ And I run `chmod -w wp-content/plugins/wordpress-importer`
388+
389+ When I try `wp plugin update wordpress-importer --format=json`
390+ Then STDOUT should be JSON containing:
391+ """
392+ [{"name":"wordpress-importer","old_version":"0.5","status":"Error"}]
393+ """
394+ And STDERR should be empty
395+ And the return code should be 1
396+
397+ When I run `chmod +w wp-content/plugins/wordpress-importer`
398+
399+ @require-wp-5.2 @skip-windows
400+ Scenario : Failed plugin update keeps CSV output parseable
401+ Given a WP install
402+ And I run `wp plugin install wordpress-importer --version=0.5 --force`
403+ And I run `chmod -w wp-content/plugins/wordpress-importer`
404+
405+ When I try `wp plugin update wordpress-importer --format=csv`
406+ Then STDOUT should be CSV containing:
407+ | name | old_version | status |
408+ | wordpress -importer | 0 .5 | Error |
409+ And STDERR should be empty
410+ And the return code should be 1
411+
412+ When I run `chmod +w wp-content/plugins/wordpress-importer`
413+
383414 # Skipped on Windows because of mkdir usage that would need to be refactored for compatibility.
384415 @require-wp-5.2 @skip-windows
385416 Scenario : Skip plugin update when plugin directory is a VCS checkout
0 commit comments