spot/tests/python
Alexandre Duret-Lutz 67b5d2aa9a fix several algorithms that incorrectly preserved !weak
This massive set of changes was triggered by issue #546.
In addition to the better handling of !weak, this also adds some
weak properties in a few places.

* spot/twaalgos/product.cc (product_aux): Throw some exception
if an automaton with t or f acceptance has the !weak property.  This
is a cheap sanity check to help detect algorithms that incorrectly
assumed !weak input would necessarily become !weak output.
* spot/twaalgos/hoa.cc (print_hoa): Likewise, also do not assume
that terminal implies very-weak.
* spot/parseaut/parseaut.yy: Add several diagnostics for similar
cases.  E.g., a one-state automaton cannot be declared as !very-weak.
* tests/core/parseaut.test: Check those new diagnostics.
* spot/twa/twa.cc (twa::intersecting_run): Temporary remove the weak
property by setting it to maybe, not to false.
* spot/twaalgos/minimize.cc, spot/twaalgos/parity.cc,
spot/twaalgos/sccfilter.cc, spot/twaalgos/simulation.cc: Account for
the fact that these algorithm may in fact improve the weakness.
* spot/twaalgos/strength.cc: Only look at colors used by the
acceptance condition when deciding weakness.
* spot/twaalgos/synthesis.cc: Declare the strategy as weak.
* bin/randaut.cc: Add weak to automata with t/f acceptance.
* spot/kripke/kripke.hh: Make kripke structures as weak.
* tests/core/acc_word.test, tests/core/alternating.test,
tests/core/complement.test, tests/core/complete.test,
tests/core/ltlsynt.test, tests/core/randomize.test,
tests/core/readsave.test, tests/core/remfin.test,
tests/core/sccsimpl.test, tests/core/strength.test,
tests/core/wdba2.test, tests/ltsmin/kripke.test,
tests/python/automata-io.ipynb, tests/python/automata.ipynb,
tests/python/dbranch.py, tests/python/highlighting.ipynb,
tests/python/kripke.py, tests/python/ltsmin-dve.ipynb,
tests/python/mealy.py, tests/python/simstate.py: Adjust all these test
cases.
* NEWS: Mention the fixes.
2023-11-10 23:38:25 +01:00
..
.gitignore Merge the core and python tests in the tests/ directory 2016-01-04 16:02:30 +01:00
298.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
341.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
471.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
_altscc.ipynb python: define our own SVG DisplayObject 2019-12-05 08:01:07 +01:00
_autparserr.ipynb tests: work around issue #474 2021-09-01 12:27:21 +02:00
_aux.ipynb python: upgrade notebook format to v4 2018-01-07 12:59:59 +01:00
_mealy.ipynb relabel_bse: rework to simplify more patterns 2023-09-13 11:31:49 +02:00
_partitioned_relabel.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
_product_susp.ipynb product_susp: fix handling of unsatisfiable/universal acceptances 2023-11-10 23:38:25 +01:00
_product_weak.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
_synthesis.ipynb adjust to Swig 4.1.0 2022-11-10 17:08:30 +01:00
_word.ipynb python: remove error recovery checks from the public notebooks 2018-01-07 16:22:46 +01:00
acc.py add a newer version of the generic emptiness check 2022-06-17 09:54:42 +02:00
acc_cond.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
accparse.ipynb python: more conventional __repr__ for several types 2018-11-03 07:53:26 +01:00
accparse2.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
aiger.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
alarm.py python: cleanup with autopep8 2019-07-05 21:22:29 +02:00
aliases.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
aliases.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
alternating.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
alternation.ipynb replace bdd_satoneset(x,y,bddtrue) loops by minterms_of(x,y) 2021-04-14 17:31:45 +02:00
atva16-fig2a.ipynb twa_graph: swap the two passes of merge_edges() 2021-01-20 00:16:12 +01:00
atva16-fig2b.ipynb dot: fix #393 2020-04-29 21:14:36 +02:00
automata-io.ipynb fix several algorithms that incorrectly preserved !weak 2023-11-10 23:38:25 +01:00
automata.ipynb fix several algorithms that incorrectly preserved !weak 2023-11-10 23:38:25 +01:00
bdddict.py fix typos and make formula_from_bdd more usable in Python 2022-05-02 17:24:23 +02:00
bdditer.py bdd_to_formula: add CNF variant 2023-02-24 11:26:12 +01:00
bddnqueen.py python: cleanup with autopep8 2019-07-05 21:22:29 +02:00
bugdet.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
cav22-figs.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
complement_semidet.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
contains.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
dbranch.py fix several algorithms that incorrectly preserved !weak 2023-11-10 23:38:25 +01:00
declenv.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
decompose.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
decompose_scc.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
det.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
dualize.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
ecfalse.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
except.py Using partitioned_relabel_here 2022-12-09 17:00:52 +01:00
formulas.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
forq_contains.py forq: remove the "same AP set" restriction 2023-09-15 10:51:00 +02:00
game.py Fix parity solver if edgevector is not contiguous 2023-03-31 15:17:57 +02:00
games.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
gen.ipynb dot: fix #393 2020-04-29 21:14:36 +02:00
gen.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
genem.py genem: Add yet another version of the algorithm 2023-05-15 09:43:46 +02:00
highlighting.ipynb fix several algorithms that incorrectly preserved !weak 2023-11-10 23:38:25 +01:00
implies.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
interdep.py python: cleanup with autopep8 2019-07-05 21:22:29 +02:00
intrun.py twa_run: let as_twa work on the result of intersecting_run 2023-04-18 22:18:16 +02:00
ipnbdoctest.py adjust to Swig 4.1.0 2022-11-10 17:08:30 +01:00
kripke.py fix several algorithms that incorrectly preserved !weak 2023-11-10 23:38:25 +01:00
langmap.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
ltl2tgba.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
ltl2tgba.test Merge the core and python tests in the tests/ directory 2016-01-04 16:02:30 +01:00
ltlf.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
ltlparse.py improve coverage of LaTeX/utf8 printers for SERE 2023-07-27 16:30:35 +02:00
ltlsimple.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
ltsmin-dve.ipynb fix several algorithms that incorrectly preserved !weak 2023-11-10 23:38:25 +01:00
ltsmin-pml.ipynb contains: generalize second argument to a twa 2022-06-22 23:43:07 +02:00
mealy.py fix several algorithms that incorrectly preserved !weak 2023-11-10 23:38:25 +01:00
merge.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
mergedge.py twagraph: fix merge_states() on automata without edges 2023-09-20 00:02:29 +02:00
minato.py Merge the core and python tests in the tests/ directory 2016-01-04 16:02:30 +01:00
misc-ec.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
optionmap.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
origstate.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
otfcrash.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
parity.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
parity.py reduce_parity: fix to work on automata with deleted edges 2022-05-02 15:34:57 +02:00
parsetgba.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
pdegen.py degen: learn to work on generalized-Co-Büchi as well 2022-09-12 14:14:43 +02:00
powerset.py python: add bindings for set of unsigned int 2023-09-08 12:05:06 +02:00
prodexpt.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
product.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
randaut.ipynb python: define our own SVG DisplayObject 2019-12-05 08:01:07 +01:00
randgen.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
randltl.ipynb Notebooks: correct typos 2021-11-06 11:56:05 +01:00
relabel.py relabel: fix handling of concat and fusion 2022-10-13 11:39:10 +02:00
remfin.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
removeap.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
rs_like.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
satmin.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
satmin.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
sbacc.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
sccfilter.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
sccinfo.py sccinfo: implement PROCESS_UNREACHABLE_STATES 2023-10-02 14:19:53 +02:00
sccsplit.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
semidet.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
setacc.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
setxor.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
simplacc.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
simstate.py fix several algorithms that incorrectly preserved !weak 2023-11-10 23:38:25 +01:00
sonf.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
split.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
splitedge.py split: add a new split_edge variant 2023-09-13 15:48:17 +02:00
streett_totgba.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
streett_totgba2.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
stutter-inv.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
stutter.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
sum.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
synthesis.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
synthesis.py Use new zielonka for synthesis 2022-06-27 09:29:46 +02:00
testingaut.ipynb Notebooks: correct typos 2021-11-06 11:56:05 +01:00
toparity.py parity_type_to_parity: Add missing cases 2023-05-24 20:05:43 +02:00
toweak.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
tra2tba.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
trival.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
twagraph-internals.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
twagraph.py tests: replace all "assert" by unittest assertions 2022-03-07 09:03:21 +01:00
word.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
zlktree.ipynb notebooks: correction of typos 2023-09-26 11:56:26 +02:00
zlktree.py zlktree: use a cache in the construction of zielonka_tree 2022-05-20 17:07:26 +02:00