I understand that FlowTracer relies on Unix exit status to determine if a particular program finished successfully or not. This is similar to Make, however, not very reliable as not all tools control Unix status code accurately.
Are there plans or current way to perform more intelligent log parsing after each execution stage to determine stage's status code? For instance, some other similar tools allow to specify simple regexp expression (e.g. /.*Error.*/) on output logs fir fatal and non-fatal (warnings) errors.
Reply: Intelligent log parsing, program status
FlowTracer does rely on the Unix exit status as a way to determine the success of a job. By default, only the exit status 0 (zero) is accepted as successful status, but you can specify different acceptable values with the "legalexit" field (see procedure L in FDL) on a job-by-job basis. For example, a value of "0 4 10-20" tells FlowTracer to accept 0, 4 or the range from 10 to 20 (inclusive) as exit statuses for a successful run.
The post processing of the log files is very common. Most often, that is done directly inside of the scripts that get executed (an example is available in the release are in $VOVDIR/eda/Synopsys/vdc_shell), where the last steps in the script perform a grep of the appropriate log files looking for specific expressions and then based on the result of that grep the script exits with a different status.