This is an archive of the discontinued LLVM Phabricator instance.

[scan-build-py] port tests to lit (and major fixes)
AbandonedPublic

Authored by rizsotto.mailinglist on Nov 8 2016, 3:38 AM.

Details

Summary

this is a big rewrite of the functional tests.

major fixes are:

  • using 'arguments' in compilation database to avoid shell escaping bugs as were in 'command' field
  • using relative file path in compilation database
  • using JSON to pass parameters between compiler wrappers and build wrappers
  • using JSON to encode values for interception
  • unify process execution to make the code portable across different python versions
  • add support for compiler wrappers and compilers
  • add support to recognize user provided compilers
  • fix 'exclude' flag to work across all tools
  • tested on travis-ci (linux and osx) and appveyor (windows)

in this commit i deleted the windows batch files, because this will not work as it was. needs to generate those.

Diff Detail

Event Timeline

rizsotto.mailinglist retitled this revision from to [scan-build-py] port tests to lit (and major fixes).
rizsotto.mailinglist updated this object.

unfortunately this code still has major issues, which i just caught recently with tests. fix comes soon. sorry.

fixed the issues i found and added tests too

simplify intercept module

tools/scan-build-py/tests/unit/test_report.py