v2-3-1 - part 1
Theme - Users
- FIX - IDEs with
MODE='no_reveal
were still (...or "were again"...?🤔 x) ) talking about reading solutions and/or remarks, while they are never visible in this case.
custom_dir
Theme - - ADD - Hook files,
contentBefore.html
andcontentAfter.html
, for thecontent
block in themain.html
file.
Theme - Testing
- FIX - The individual buttons to load all the python sections of a test in the IDE of the test page could mix the env section with the corr one.
- ADD - New
TEST="human"
option.
Used to skip and IDE, but to flag it as "needing human action" to do the tests (typically: up-/download actions). - ADD -
Toggle human
button, to swap the current state (to do or skipped) of all the tests of the IDEs marked ashuman
- ADD - A
description
argument to theCase
object, if the info available in the test page isn't enough. - FIX - The counter for skipped tests wasn't updating correctly.
- FIX - The JsMock objects used for
js.document
during the tests is now "extendingint(1)
", so that computations done in matplotlib aren't raising errors (width/height requests on non existent DOM elements...) - ADD - An error message when the tests routine cannot extract a source
data
from the tested IDE original page (extremely rare case with IDEs without associated python file, where the ID can get out of date during a serve operation, if some new "empty" IDE is added "before" in the documentation). - CHANGE - Reorganize the checkboxes on the left of a tested IDE and the related CSS to:
- gain some width, moving the
x_term
andcorr
sections on the second line - add REM and VIS_REM checkboxes
- gain some width, moving the
- FIX - A very unfortunate choice of building some of the html ids of the components in the testing page may cause a crash of the page when using the day/night switch (the elements were seen as potential additionnal IDEs, so there were hundreds to add to the page, resulting in a general freeze...
😆 )
Internals
- ADD - A lot of "dev_docs" testing and functionalities, to "solidify" the contracts/specs a bit:
title
reveal_corr_rems
all_in_std
none_in_std
set_max_and_hide
assertions
times()
decrease_attempts_on_user_code_failure
deactivate_stdout_for_secrets
show_only_assertion_errors_for_secrets
- Get rid of
std_capture_regex
andnot_std_capture_regex
as arguments - Counter of attempts for the tester IDE is now visible in
_dev_mode
. - ADD - Intermediate
play
buttons to run sequential subcases up to a given point. - ADD - support to manage Infinite number of attempts in the tests.
- Complete lifting/upgrade of PMT
py_libs
custom package, for internal testing purpose (introduceapply_Nth
, notably). - ADD/FIX - A lot of docstrings here and there / improving the code base (mostly, JS)
- ADD - A more precise way to differentiate how the testing IDE object is used (code running through the IDE itself? with what button? through tests? with what runner (play/check)? with what tested section?)
- FIX - Align more closely
python to JS
property names, replacingdecrease_attempts_on_code_error
(JS transfer) withdecrease_attempts_on_user_code_failure
, which is the one in the config...
Edited by FredZinelli