-
Run unittests automatically on github
-
Relax pyparsing requirement.
-
# Conflicts: # tests/olevba/test_basic.py
-
This was removed by github in June 2023
-
Decrypting test samples "on the fly" using a generator causes trouble when removing the temp file, PyPy/Windows thinks the file is still being used.
-
I do not see how I could keep the code clean for both for pylint2 and pylint3 at the same time, so do not even try.
-
Pylint is just wrong in a few cases (admittedly: those are hard), so can safely ignore these warnings. Also ignore errors in thirdparty, this is not really our code. Also remove a few old "pylint silencers" ("# pylint: disable=...") that are not used any more in v3.10 of pylint -
Availability of python versions in cached runner images is subject to change and specification in https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json did not help
-
If there is an error in log-handling (e.g. wrong args to logger call) do not fail or raise but produce something helpful
-
Use a standard logging.Formatter to do %-formatting and other stuff (i.e. the regular formatter job) before converting to Json.
-
Need to make sure that json output is formatted since e.g. warning messages are created like this: log.warning('%s', actual_message) so without proper formatting the message is just "%s". Also test that exception info is added as usual. -
Warning message includes source file and line number, hope this is not dependent on python version..
-
We set logging.captureWarnings to True and use our logging framework for python's builtin warnings logger. Warnings from that logger will have "type=warning" per default (as opposed to "type=msg").
-
Encountered an example where a 3rd-party library issued a warning that messed up the json output. Create test to reproduce this.
-
Do not assume a known length of output when checking it. Only assume that meta information about oletool used is first. Ignore warnings and messages that come after that to identify the actual result we want to check.
-
(1) Cannot open a temp file for writing from 2 python processes simultaneously (2) Need proper environment setup for Popen (thanks to metatoaster's reply on stackoverflow https://stackoverflow.com/a/72845540/4405656) (3) Need different os-separator, so replace hard-coded '/' with os.path.join or os.sep (4) Minor cleanup of imports & whitespace in test_issue_*.py There are still 2 tests that should be adapted to Windows, but those are lower-prio in my eyes. Also, unittest run on my windows VM creates many resource warnings due to non-closed file descriptors. Should address that some (future) day. -
Want this to check why requirements installation does not happen as expected
-
Save computing time by failing immediately if any test fails. If we return early from one VM, the others are stopped, as well, so this saves lots of parallel time.
-
Could not find a way to say "newest pypy"; "pypy3" or "pypy3.x" did not work
-
Use github actions for Continuous Integration
-
Exclude RTF files from language statistics