Hi Petr,
Just pulled your latest revision with the compilation.py script and wanted to try out running it:
./scripts/compilation/compilation.py -c 'make -f Makefile.calitko-wrapper.tester clean all'
but it didn’t seem to work! I saw you are collecting the complete output of the compiler and are then filtering it, so there would be a delay before anything gets printed but I see not compiler processes running and when I interrupt the script I get this backtrace:
Traceback (most recent call last):
File "./scripts/compilation/compilation.py", line 181, in
main()
File “./scripts/compilation/compilation.py”, line 170, in main
arguments.compilationCommand)
File “./scripts/compilation/compilation.py”, line 112, in doCompilation
return (compilation.stderr.read(), compilation.wait())
KeyboardInterrupt
Any idea what I’m doing wrong?
Also, shouldn’t .*./Utils/CalitkoMocks.* actually be .*Utils/CalitkoMocks.* ?
* Solve the problem with ‘instantiated from here’ and
# ‘when initialized here’ etc.
I guess the problem you are referring to is when we ignore a warning that produces a trace of ‘instantiation’ warnings, right? Isn’t that doable by defining multi-line match patterns? You current implementation allows matching of a fixed number of lines. We would need something like:
.*instantiated from here.* # first line should match that
* # meaning match any number of lines
.*when initialized here.* # last line should match that
What do you think of that? It should be easily implementable. If you encounter a line containing only a “*”, you would try to match the current input line with the next regexp in the list - if it matches, you’re done, otherwise you get the next line from the input.
Regards,
Peter
