jenkinsci / code-coverage-api-plugin

Deprecated Jenkins Code Coverage Plugin
https://plugins.jenkins.io/code-coverage-api/
MIT License
111 stars 77 forks source link

Show full path as tooltip in file table #761

Closed stefan6419846 closed 7 months ago

stefan6419846 commented 12 months ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.419 OS: Linux - 5.14.21-150400.24.46-default Java: 11.0.18 - Oracle Corporation (OpenJDK 64-Bit Server VM) --- PrioritySorter:5.0.0 URLSCM:1.6 analysis-model-api:11.6.0 android-emulator:592.vb_b_6d427f1923 ansicolor:1.0.3 ant:497.v94e7d9fffa_b_9 antisamy-markup-formatter:162.v0e6ec0fcfcf6 apache-httpcomponents-client-4-api:4.5.14-150.v7a_b_9d17134a_5 authentication-tokens:1.53.v1c90fd9191a_b_ bootstrap5-api:5.3.0-1 bouncycastle-api:2.29 branch-api:2.1122.v09cb_8ea_8a_724 build-name-setter:2.3.0 build-user-vars-plugin:1.9 built-on-column:1.4 caffeine-api:3.1.8-133.v17b_1ff2e0599 checks-api:2.0.0 cloudbees-folder:6.848.ve3b_fd7839a_81 code-coverage-api:4.7.0 command-launcher:107.v773860566e2e commons-lang3-api:3.13.0-62.v7d18e55f51e2 commons-text-api:1.10.0-68.v0d0b_c439292b_ compact-columns:1.185.vf3851b_4d31fe conditional-buildstep:1.4.3 credentials:1271.v54b_1c2c6388a_ credentials-binding:631.v861c06d062b_4 dark-theme:354.vc5571c718b_dc data-tables-api:1.13.5-1 description-setter:1.10 display-url-api:2.3.8 docker-commons:439.va_3cb_0a_6a_fb_29 dtkit-api:3.0.2 durable-task:513.vc48a_a_075a_d93 echarts-api:5.4.0-5 email-ext:2.100 envinject:2.908.v66a_774b_31d93 envinject-api:1.199.v3ce31253ed13 external-monitor-job:207.v98a_a_37a_85525 extra-columns:1.26 fail-the-build-plugin:5.v153b_2c826ef0 favorite:2.4.3 font-awesome-api:6.4.0-2 forensics-api:2.3.0 git:5.2.0 git-client:4.4.0 git-forensics:2.0.0 git-server:99.va_0826a_b_cdfa_d github:1.37.3 github-api:1.314-431.v78d72a_3fe4c3 github-branch-source:1732.v3f1889a_c475b_ google-oauth-plugin:1.0.9 google-play-android-publisher:4.2 gradle:2.8.2 handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953 htmlpublisher:1.32 http_request:1.18 instance-identity:173.va_37c494ec4e5 ionicons-api:56.v1b_1c8c49374e jackson2-api:2.15.2-350.v0c2f3f8fc595 jakarta-activation-api:2.0.1-3 jakarta-mail-api:2.0.1-3 javadoc:243.vb_b_503b_b_45537 javax-activation-api:1.2.0-6 javax-mail-api:1.6.2-9 jaxb:2.3.8-1 jdk-tool:73.vddf737284550 jenkins-design-language:1.27.5.1 jjwt-api:0.11.5-77.v646c772fddb_0 jnr-posix-api:3.1.17-1 jquery:1.12.4-1 jquery3-api:3.7.0-1 jsch:0.2.8-65.v052c39de79b_2 junit:1217.v4297208a_a_b_ce ldap:694.vc02a_69c9787f locale:314.v22ce953dfe9e lockable-resources:1185.v0c528656ce04 mailer:463.vedf8358e006b_ mapdb-api:1.0.9-28.vf251ce40855d matrix-auth:3.1.10 matrix-project:808.v5a_b_5f56d6966 maven-plugin:3.23 mina-sshd-api-common:2.10.0-69.v28e3e36d18eb_ mina-sshd-api-core:2.10.0-69.v28e3e36d18eb_ monitoring:1.95.0 oauth-credentials:0.645.ve666a_c332668 okhttp-api:4.11.0-157.v6852a_a_fa_ec11 pam-auth:1.10 parameterized-trigger:2.46 pipeline-build-step:505.v5f0844d8d126 pipeline-github-lib:42.v0739460cda_c4 pipeline-graph-analysis:202.va_d268e64deb_3 pipeline-groovy-lib:671.v07c339c842e8 pipeline-input-step:477.v339683a_8d55e pipeline-milestone-step:111.v449306f708b_7 pipeline-model-api:2.2144.v077a_d1928a_40 pipeline-model-definition:2.2144.v077a_d1928a_40 pipeline-model-extensions:2.2144.v077a_d1928a_40 pipeline-rest-api:2.33 pipeline-stage-step:305.ve96d0205c1c6 pipeline-stage-tags-metadata:2.2144.v077a_d1928a_40 pipeline-stage-view:2.33 pipeline-utility-steps:2.16.0 plain-credentials:143.v1b_df8b_d3b_e48 plugin-usage-plugin:4.1 plugin-util-api:3.3.0 port-allocator:1.10 postbuildscript:3.2.0-460.va_fda_0fa_26720 prism-api:1.29.0-7 pubsub-light:1.17 run-condition:1.6 scm-api:676.v886669a_199a_a_ script-security:1269.v639888f5e366 scriptler:321.v74a_851a_e7ed6 simple-theme-plugin:160.vb_76454b_67900 slave-setup:1.16 snakeyaml-api:1.33-95.va_b_a_e3e47b_fa_4 sse-gateway:1.26 ssh-credentials:308.ve4497b_ccd8f4 ssh-slaves:2.916.vd17b_43357ce4 sshd:3.312.v1c601b_c83b_0e structs:324.va_f5d6774f3a_d theme-manager:193.vcef22f6c5f2b_ timestamper:1.26 token-macro:384.vf35b_f26814ec trilead-api:2.84.v72119de229b_7 variant:59.vf075fe829ccb view-job-filters:364.v48a_33389553d warnings-ng:10.4.0 workflow-aggregator:596.v8c21c963d92d workflow-api:1259.vb_47f14fffc8a_ workflow-basic-steps:1042.ve7b_140c4a_e0c workflow-cps:3744.v6f2c0fe0e54d workflow-durable-task-step:1284.v4fcd365b_75b_e workflow-job:1326.ve643e00e9220 workflow-multibranch:756.v891d88f2cd46 workflow-scm-step:415.v434365564324 workflow-step-api:639.v6eca_cd8c04a_a_ workflow-support:848.v5a_383b_d14921 ```

What Operating System are you using (both controller, and any agents involved in the problem)?

OpenSUSE Leap 15.4

Reproduction steps

  1. Run pytest with coverage analysis.
  2. Handle the results in the pipeline:

    recordCoverage(
        tools: [[parser: 'COBERTURA', pattern: 'coverage.xml']],
        sourceCodeRetention: 'LAST_BUILD',
        sourceDirectories: [[path: "${env.buildsrc_path}"]]
    )
  3. Open the coverage report.
  4. Go to the "Files" tab.

Expected Results

The results are shown with their full paths/namespaces.

Actual Results

Only the actual filename is being displayed in the "File" column of the table and in the details of the corresponding file. This makes it nearly impossible to differentiate between the various occurrences of the same filename and I cannot even see which package the current file belongs to.

Anything else?

In the past, the full paths/namespaces would be shown for the file-based breakdowns. I do not know when this changed, but in January 2021 the paths would be complete, as well as in December 2022 (this is where I have corresponding data points which are still available).

uhafner commented 12 months ago

It would make sense to use the same concepts as in the warnings plugin and add a tooltip if the package is hidden or unknown.

Is the package not shown in your instance? The package column is marked as responsive, that means it might get hidden on smaller displays.

Bildschirmfoto 2023-09-07 um 15 08 07
stefan6419846 commented 12 months ago

No, in my case the package is column is missing. Apparently, my 24" display is too narrow - detaching the browser tab and spreading it across both displays works, but this is not really an approach with everyday use.

stefan6419846 commented 12 months ago

Just as some heads up: Shouldn't the actual file view show the full path in every case, independently of the table view?

uhafner commented 11 months ago

Yes, I would always show such a tooltip.