certbot/certbot-ci/certbot_integration_tests
Adrien Ferrand 9cbb13ef04
Run hooks with Powershell on Windows (#7800)
Fixes #7713.

As discussed in #7713, providing a Powershell script as hook for Certbot is not working currently. This is because hooks are run in a `cmd` environment, that recognizes only `.bat` files as valid scripts that can be run from their bare name on command line.

On the other hand, the Powershell both `.bat` and `.ps1` scripts as valid scripts.

This PR makes hooks command be executed by Powershell, instead of `cmd` as `Popen` does by default when `shell=true` is used. It also modifies the tests to handle this new environment, in particular in term of encoding (UTF-16-LE is the default one in Powershell).

* Run hooks in powershell on Windows

* Fix hook test

* Fallback to unittest.mock

* In fact, shell_cmd as a list of str could not work. Declare only str as acceptable input for shell_cmd.

* Added changelog
2020-04-27 09:38:30 -07:00
..
assets Run hooks with Powershell on Windows (#7800) 2020-04-27 09:38:30 -07:00
certbot_tests Run hooks with Powershell on Windows (#7800) 2020-04-27 09:38:30 -07:00
nginx_tests Reorganize imports (#7616) 2019-12-09 15:50:20 -05:00
utils Run hooks with Powershell on Windows (#7800) 2020-04-27 09:38:30 -07:00
.coveragerc Make the contents of the nginx plugin private (#7589) 2019-11-25 14:30:24 -08:00
__init__.py [Unix] Create a framework for certbot integration tests: PART 1 (#6578) 2019-03-01 13:18:06 -08:00
conftest.py Spelling and grammar fixes (#7695) 2020-01-17 18:55:51 +01:00