-
Instead of calling main() in current interpreter, fork a new one using call_and_capture
-
Prevent unwanted FileNotFoundError caused by wrong test code shadow actual msodde output
-
When adapting the test a while ago, Samir forgot that this one test tested with multiple args. That was unnecessary, anyway, so removed them.
-
Is encrypted by msoffcrypto
-
Might be password like error message states, but could also be a problem with crypto libraries (e.g. dll/so-file for cryptography not found)
-
Running main() within same interpreter capturing SystemExit and sys.stdout/err always causes trouble (at least in unittest). Fork another python process and capture from there, that is easier and cleaner in my view.
-
There were cases where our own test of byte 0x15 of SummaryInformation stream was incorrect. So leave test to the professionals ;-)
-
This is an interesting one since "our" old implementation of is_encrypted claims that the embedded file is still encrypted (which it is not), but the msoffcrypto-is_encrypted gets it right.