Commit Graph

10 Commits

Author SHA1 Message Date
Eike Ziller
a8dfba176b Merge remote-tracking branch 'origin/3.3'
Conflicts:
	plugins/clangstaticanalyzer/ClangStaticAnalyzer.json.in

Change-Id: Iffa578b015c51375cdb2d9930830cb2d76433bc7
2015-02-13 09:37:39 +01:00
Christian Kandeler
2946364ce6 Add unit tests.
These test the complete workflow as the user experiences it when
clicking "Start".
Intended usage:
    (1) Run sdktool to set up a kit with the toolchain you want
        to test against (using a temporary directory).
        The tests assume exactly one Kit to be present.
    (2) Start Creator with a matching settings path and
        "-load ClangStaticAnalyzer -test ClangStaticAnalyzer".
    (3) Repeat until all toolchains have been tested.
The initial implementation tests one trivial source file
with both qbs and qmake.

Change-Id: I810f23e2990a789a4dd9f1dd16335fbcf5c5f39f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2015-02-09 16:48:26 +02:00
Eike Ziller
c98db856f9 Update License
Change-Id: I0a127e78046369f7b55b3ace7b08a13a3f5319e5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2015-01-15 18:46:29 +02:00
Nikolai Kosjar
30b77eb032 DiagnosticView: Add copy action to context menu
Task-number: QCE-22
Change-Id: I22a71bd99689e4eaece3b2595b28e0d434a52453
Reviewed-by: Riitta-Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2014-11-25 12:41:45 +02:00
Nikolai Kosjar
802a7d653c Tool: Use "No" button in mode check dialog
...instead of "Cancel".

Task-number: QCE-20
Change-Id: Ibef52dc17cb3aee73e1f42eb1c64e4f9d5a9f990
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
2014-11-24 17:23:23 +02:00
Nikolai Kosjar
b6a50a1a4c Use updated ProjectInfo
...that actually make us use the ProjectInfo with updated
CompilerCallData.

Change-Id: Ieee298b3db64159f3faa02231921275e4466bcb5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2014-11-07 12:40:56 +02:00
Nikolai Kosjar
2f3666a3f0 Ensure that project configuration did not change
Otherwise we might try to analyze invalid or vanished files.

Change-Id: I387dfb127618f2db21a538b07e1c152dbd026ca6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2014-11-07 12:01:44 +02:00
Nikolai Kosjar
aa98ee2755 Tool: Warn on run in Release mode
Change-Id: I3443ccc8daf37a1b10b43df3736fcf24c7ae2fea
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2014-10-31 16:58:42 +02:00
Nikolai Kosjar
d61117e814 Tool: Clear model already before building the project
Change-Id: I507056c9a5ee950bd95541a9e3042e9af23c0731
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2014-10-31 11:41:08 +02:00
Nikolai Kosjar
b9f9eb7ae5 Import Clang Static Analyzer plugin
This plugin adds "Clang Static Analyzer" to the Analyze mode, which
processes all implementation/source project files of the current
project. For this, it will call the clang executable for each file.

The found diagnostics will be displayed in a view similar to the one
used in "Valgrind Memory Analyzer".

The user can specify the clang executable to use and the number of
concurrent processes to launch in Menu: Tools > Options > Analyzer >
Clang Static Analyzer.

Main TODOs:

 * Fiddle around the appropriate command line options, currently only
   defines and include paths are passed on.

 * Tests on Windows / OS X.

 * Remove dependency to clangcodemodel by moving the functions that
   create command line arguments to CppTools. Mostly they are not even
   specific to clang (but would also work with gcc).

 * Maybe limit to a range of tested clang versions.

 * How to deal with directory containing all the log files after the
   user starts a new run or Creator is shut down? (delete it? leave it
   there? make it configurable?).

 * Find out how to properly integrate the tests.

Imaginable future additions:

 * Adding a button to load result/log files from a directory, e.g. if
   the user used the 'scan-build' approach.

 * Adding a button with a filter menu in order to display only
   diagnostics from certain categories, similar to "Valgrind Memory
   Analyzer".

Change-Id: I6aeb5dfdbdfa239a06c03dd8759a983df71b77ea
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-10-16 13:36:09 +03:00