Index: tools/kdecilib.py =================================================================== --- tools/kdecilib.py +++ tools/kdecilib.py @@ -967,12 +967,15 @@ # All done return - # Special Case: Marble's build system doesn't use ECM, but is able to use stuff that does use ECM - # This causes problems with ASAN, so we force inject ASAN into all processes running in a Marble build - # It's a terrible hack, but the Marble developers refuse to depend on ECM so we have no other choice (other than not running the Marble tests) - if self.project.identifier == 'marble' and os.path.exists('/usr/lib/x86_64-linux-gnu/libasan.so.2.0.0'): - # Inject ASAN for Marble.... - runtimeEnv['LD_PRELOAD'] = '/usr/lib/x86_64-linux-gnu/libasan.so.2.0.0' + # Special Case: Some testcases uses external executables which might not have ASAN enabled for instance qmltestrunner or for some reason + # application is not using ECM, in that case we need to inject the ASAN with LD_PRELOAD + # Marble: build system doesn't use ECM, but is able to use stuff that does use ECM + # plasma-integration, kirigami: uses qmltestrunner + # It's a terrible hack, but we have no choice then doing this + if self.project.identifier == 'marble' or self.project.identifier == 'plasma-integration' or self.project.identifier == 'kirigami': + if os.path.exists('/usr/lib/x86_64-linux-gnu/libasan.so.2.0.0'): + # Inject ASAN for Marble... + runtimeEnv['LD_PRELOAD'] = '/usr/lib/x86_64-linux-gnu/libasan.so.2.0.0' # Spawn a base user interface if needed if self.use_xorg_environment():