aionnetwork / node_test_harness

A test harness for functional integration testing the Aion kernel(s)
MIT License
0 stars 4 forks source link

Support complex request logic #21

Closed aionick closed 5 years ago

aionick commented 5 years ago

Placing requests that can only be satisfied in a single line of the log file is proving to be inadequate for certain cases (determining if a transaction has been processed, for example). We need to improve our definition of a request to make it more flexible.

aionick commented 5 years ago

The plan will be to equip events with the expressive power of logical statements. In particular, events can be "simple", in which case they are satisfied once a particular string is observed in the logs. They can also be "complex", which means the event is a logical expression: an and or or of two expressions, forming a recursive logic tree with the "simple" events as leaf events in the tree.

This will allow users to express arbitrarily complex events and will tuck all of the evaluation/validation logic up into the event itself so that the listener does not have to know any of it.