certbot/certbot-ci/certbot_integration_tests/certbot_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
..
__init__.py [Unix] Create a framework for certbot integration tests: PART 2 (#6821) 2019-04-11 18:07:36 -07:00
assertions.py Run hooks with Powershell on Windows (#7800) 2020-04-27 09:38:30 -07:00
context.py Minor bugfixes (#7891) 2020-04-13 10:41:39 -07:00
test_main.py Check OCSP as part of determining if the certificate is due for renewal (#7829) 2020-03-03 11:07:15 -08:00