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 raisingImportError
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, usingbuild.deprecation_level: warn
). -
FIX -
MacroData
registration could raise an error when handling theIDE_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)
andIDE(..., LOGS=False)
deactivate_stdout_for_secrets
decrease_attempts_on_user_code_failure
show_only_assertion_errors_for_secrets