Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-10458

Links to test results containing a hash (#) characters or a question mark (?) in their name

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Component/s: core
    • Labels:
      None
    • Environment:
      Java version "1.6.0_22"
      Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-9M3263)
      Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode)
    • Similar Issues:
      Show 5 results

      Description

      Some of our tests include hashes in their name/label causing Jenkins troubles when it tries to produce a link to these tests:

      Let's take this test for instance:

      spec/controllers/categories_controller_spec.rb.CategoriesController with a simple category hierarchy#index when path is valid.assigns @products and @highlight

      Jenkins currently produces the following link:
      http://hudson_fqnd/job/job_name/123/testReport/spec_controllers_categories_controller_spec.rb/CategoriesController%20with%20a%20simple%20category%20hierarchy#index when path is valid/assigns_products_and_highlight/

      Which does not work since '#' is a special character in URIs is used to split the anchor (also called the URI reference) from the rest of the URI.

      A fix would be to automatically replace '#' in test names by the javascript code %23.

      Similarly for the question mark, which delimitates the query.
      The equivalent escape code is %3F.

      Ref. http://www.december.com/html/spec/esccodes.html

      I'm not a Java programmer myself unfortunately, but let me know if there is anything I can provide or do to help you with this issue.

        Attachments

          Issue Links

            Activity

            gbws Gregory Becker created issue -
            mog Morgan Christiansson made changes -
            Field Original Value New Value
            Link This issue is duplicated by JENKINS-10410 [ JENKINS-10410 ]
            Hide
            kutzi kutzi added a comment -

            A test case to reproduce the issue would be helpful.

            Show
            kutzi kutzi added a comment - A test case to reproduce the issue would be helpful.
            kutzi kutzi made changes -
            Assignee kutzi [ kutzi ]
            kutzi kutzi made changes -
            Link This issue is duplicated by JENKINS-3359 [ JENKINS-3359 ]
            Hide
            kutzi kutzi added a comment -

            Please reopen, when you can provide a test case i.e. an example test result file

            Show
            kutzi kutzi added a comment - Please reopen, when you can provide a test case i.e. an example test result file
            kutzi kutzi made changes -
            Status Open [ 1 ] Resolved [ 5 ]
            Resolution Incomplete [ 4 ]
            Hide
            gbws Gregory Becker added a comment -

            As you will see, the names contain special characters like # or ? which break the links when browsing the test results.

            The following test result will produce invalid links like http://your-host/job/foo/lastCompletedBuild/testReport/(root)/Foo#approve! is called by approve_on_foo?/notifies_owner_when_approved/

            Show
            gbws Gregory Becker added a comment - As you will see, the names contain special characters like # or ? which break the links when browsing the test results. The following test result will produce invalid links like http://your-host/job/foo/lastCompletedBuild/testReport/(root)/Foo#approve ! is called by approve_on_foo?/notifies_owner_when_approved/
            gbws Gregory Becker made changes -
            Attachment example_test_result.xml [ 21430 ]
            Hide
            gbws Gregory Becker added a comment -

            Reopened with the example test result

            Show
            gbws Gregory Becker added a comment - Reopened with the example test result
            gbws Gregory Becker made changes -
            Resolution Incomplete [ 4 ]
            Status Resolved [ 5 ] Reopened [ 4 ]
            kutzi kutzi made changes -
            Status Reopened [ 4 ] In Progress [ 3 ]
            Hide
            kutzi kutzi added a comment -

            Are you sure this is the test result file as parsed by Jenkins?
            I would expect something like 'testsuites' instead of 'suites' as element names and analogue for the other element names.
            If I try to parse the attached file with Jenkins, I get no test results.

            Show
            kutzi kutzi added a comment - Are you sure this is the test result file as parsed by Jenkins? I would expect something like 'testsuites' instead of 'suites' as element names and analogue for the other element names. If I try to parse the attached file with Jenkins, I get no test results.
            Hide
            kutzi kutzi added a comment -

            Are you using any plugin to parse your test results?

            Show
            kutzi kutzi added a comment - Are you using any plugin to parse your test results?
            Hide
            kutzi kutzi added a comment -

            Okay, I think I've fixed it now, but would still be good, if you could provide a working test case

            Show
            kutzi kutzi added a comment - Okay, I think I've fixed it now, but would still be good, if you could provide a working test case
            Hide
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #1514
            [FIXED JENKINS-10458] broken links to test results if test name contains # or ? (Revision b816be60000edf5d7a9d50bf893fd285f2adec1f)

            Result = SUCCESS
            Christoph Kutzinski : b816be60000edf5d7a9d50bf893fd285f2adec1f
            Files :

            • changelog.html
            • core/src/main/java/hudson/tasks/test/TestObject.java
            • core/src/test/java/hudson/tasks/test/TestObjectTest.java
            Show
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #1514 [FIXED JENKINS-10458] broken links to test results if test name contains # or ? (Revision b816be60000edf5d7a9d50bf893fd285f2adec1f) Result = SUCCESS Christoph Kutzinski : b816be60000edf5d7a9d50bf893fd285f2adec1f Files : changelog.html core/src/main/java/hudson/tasks/test/TestObject.java core/src/test/java/hudson/tasks/test/TestObjectTest.java
            kutzi kutzi made changes -
            Status In Progress [ 3 ] Resolved [ 5 ]
            Resolution Fixed [ 1 ]
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Christoph Kutzinski
            Path:
            changelog.html
            core/src/main/java/hudson/tasks/test/TestObject.java
            core/src/test/java/hudson/tasks/test/TestObjectTest.java
            http://jenkins-ci.org/commit/jenkins/b816be60000edf5d7a9d50bf893fd285f2adec1f
            Log:
            [FIXED JENKINS-10458] broken links to test results if test name contains # or ?

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: changelog.html core/src/main/java/hudson/tasks/test/TestObject.java core/src/test/java/hudson/tasks/test/TestObjectTest.java http://jenkins-ci.org/commit/jenkins/b816be60000edf5d7a9d50bf893fd285f2adec1f Log: [FIXED JENKINS-10458] broken links to test results if test name contains # or ?

              People

              • Assignee:
                kutzi kutzi
                Reporter:
                gbws Gregory Becker
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: