title: How to get python unit test results in SonarQube?
body: <p>I'm using SonarQube 4.5.  I've run nosetests to run python unit tests and create an xunit xml file called nosetests.xml.  I'm running Sonar Runner via the Sonar Jenkins plugin.  I've set the following Sonar properties:</p>
  
  <pre><code>sonar.projectKey=yauis
  sonar.projectName=YAUIS
  sonar.projectVersion=1.0
  sonar.sources=src
  sonar.language=py
  sonar.python.xunit.reportPath=nosetests.xml
  sonar.python.pylint=/usr/bin/pylint
  sonar.python.coverage.reportPath=coverage.xml
  sonar.python.coveragePlugin=cobertura
  </code></pre>
  
  <p>I'm seeing the following in the SonarQube Runner log:</p>
  
  <pre><code>...
  15:31:20.355 INFO  - Sensor PythonXunitSensor...
  15:31:20.363 INFO  - Processing report '/var/lib/jenkins/jobs/yauis/workspace/nosetests.xml'
  15:31:20.363 INFO  - Parsing report '/var/lib/jenkins/jobs/yauis/workspace/nosetests.xml'
  15:31:20.480 INFO  - Sensor PythonXunitSensor done: 125 ms
  ...
  </code></pre>
  
  <p>Here is a snippet from nosetests.xml:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;testsuite name="nosetests" tests="30" errors="30" failures="0" skip="0"&gt;
      &lt;testcase classname="nose.failure.Failure" name="runTest" time="0.000"&gt;
          &lt;error type="exceptions.ImportError" message="cannot import name get_data_parameter&amp;#xA;-------------------- &amp;gt;&amp;gt; begin captured logging &amp;lt;&amp;lt; --------------------&amp;#xA;py.warnings: WARNING: /var/lib/jenkins/jobs/yauis/workspace/.pyenv/local/lib/python2.7/site-packages/rest_framework/fields.py:686: DeprecationWarning: The `blank` keyword argument is deprecated. Use the `required` keyword argument instead.&amp;#xA;  super(DateTimeField, self).__init__(*args, **kwargs)&amp;#xA;&amp;#xA;py.warnings: WARNING: /var/lib/jenkins/jobs/yauis/workspace/.pyenv/local/lib/python2.7/site-packages/rest_framework/fields.py:465: DeprecationWarning: The `blank` keyword argument is deprecated. Use the `required` keyword argument instead.&amp;#xA;  super(CharField, self).__init__(*args, **kwargs)&amp;#xA;&amp;#xA;py.warnings: WARNING: /var/lib/jenkins/jobs/yauis/workspace/.pyenv/local/lib/python2.7/site-packages/cassandra/cqltypes.py:63: UserWarning: The blist library is not available, so a normal set will be used in place of blist.sortedset for set collection values. You can find the blist library here: https://pypi.python.org/pypi/blist/&amp;#xA;  &amp;quot;The blist library is not available, so a normal set will &amp;quot;&amp;#xA;&amp;#xA;--------------------- &amp;gt;&amp;gt; end captured logging &amp;lt;&amp;lt; ---------------------"&gt;&lt;![CDATA[File "/usr/lib/python2.7/unittest/case.py", line 327, in run
      testMethod()
    File "/var/lib/jenkins/jobs/yauis/workspace/.pyenv/local/lib/python2.7/site-packages/nose/loader.py", line 414, in loadTestsFromName
      addr.filename, addr.module)
    File "/var/lib/jenkins/jobs/yauis/workspace/.pyenv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
      return self.importFromDir(dir_path, fqname)
    File "/var/lib/jenkins/jobs/yauis/workspace/.pyenv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
      mod = load_module(part_fqname, fh, filename, desc)
    File "/var/lib/jenkins/jobs/yauis/workspace/src/adminapi/urls.py", line 8, in &lt;module&gt;
      from views import AdminApiViewHandler
    File "/var/lib/jenkins/jobs/yauis/workspace/src/adminapi/views.py", line 9, in &lt;module&gt;
      from common.ViewUtils import json_response, get_data_parameter
    File "/var/lib/jenkins/jobs/yauis/workspace/src/common/ViewUtils.py", line 13, in &lt;module&gt;
      from common.utils import get_application_uri
    File "/var/lib/jenkins/jobs/yauis/workspace/src/common/utils.py", line 550, in &lt;module&gt;
      from common.managers.formfactormanager import FormfactorModifier
    File "/var/lib/jenkins/jobs/yauis/workspace/src/common/managers/formfactormanager.py", line 3, in &lt;module&gt;
      from common.ViewUtils import get_data_parameter
  'cannot import name get_data_parameter\n-------------------- &gt;&gt; begin captured logging &lt;&lt; --------------------\npy.warnings: WARNING: /var/lib/jenkins/jobs/yauis/workspace/.pyenv/local/lib/python2.7/site-packages/rest_framework/fields.py:686: DeprecationWarning: The `blank` keyword argument is deprecated. Use the `required` keyword argument instead.\n  super(DateTimeField, self).__init__(*args, **kwargs)\n\npy.warnings: WARNING: /var/lib/jenkins/jobs/yauis/workspace/.pyenv/local/lib/python2.7/site-packages/rest_framework/fields.py:465: DeprecationWarning: The `blank` keyword argument is deprecated. Use the `required` keyword argument instead.\n  super(CharField, self).__init__(*args, **kwargs)\n\npy.warnings: WARNING: /var/lib/jenkins/jobs/yauis/workspace/.pyenv/local/lib/python2.7/site-packages/cassandra/cqltypes.py:63: UserWarning: The blist library is not available, so a normal set will be used in place of blist.sortedset for set collection values. You can find the blist library here: https://pypi.python.org/pypi/blist/\n  "The blist library is not available, so a normal set will "\n\n--------------------- &gt;&gt; end captured logging &lt;&lt; ---------------------']]&gt;&lt;/error&gt;
      &lt;/testcase&gt;
  ...
  </code></pre>
  
  <p>The unit test results are not showing in SonarQube.  What am I missing?</p>