Skip to content

Tests fixes and add more

Theme

  • ADD - A security layer, throwing an error when the user is trying to install the default python_lib, py_libs, but with a typo in the name. Those imports are raising ImportError with a dedicated message: pylibs, pylib, py-libs, py-libs, py_lib.

  • FIX - The tool removing code exclusions (IDE(..., SANS="...")) could raise KeyError if one of the hacked function was deleted from the global scope by the user's code.

  • FIX - Python global scope wasn't fully cleaned up from the definitions of functions decorated with @auto_run, because new instances were overriding the previous ones. Now, the new instance is tracking the older values.

  • DEPRECATE - Setting the MAX value for IDEs directly through the python file now raises an error (can be transformed to a warning, using build.deprecation_level: warn).

  • FIX - MacroData registration could raise an error when handling the IDE_tester macro, if it was the first called in the documentation.

  • FIX - (regression) - An IDE with secrets but no corr/REMs wasn't displaying the "Bravo!" message on success anymore.

  • FIX - (regression) - The revelation message on failure, when the IDE only has REMs was wrong again... ("les commentaires est disponibles")

Docs

  • ADD - New infos about deprecations in the page explaining how to go from PM to PMT.

Internals

  • ADD - A lot of tiny features to improve/easy testing PMT specs

  • ADD - A lot of tests to enforce more contracts. Specifically:

    • revelation messages
    • copy_from_server
    • auto_run
    • clear_scope
    • __move_forward__
    • internal tools (as_builtin, wraps_builtin)
    • IDE(..., LOGS=True) and IDE(..., LOGS=False)
    • deactivate_stdout_for_secrets
    • decrease_attempts_on_user_code_failure
    • show_only_assertion_errors_for_secrets
Edited by FredZinelli

Merge request reports

Loading