• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

kobotoolbox / kpi / 27031858342
54%
master: 76%

Build:
Build:
LAST BUILD BRANCH: release/2.026.21
DEFAULT BRANCH: master
Ran 05 Jun 2026 06:12PM UTC
Jobs 1
Files 879
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 Jun 2026 06:08PM UTC coverage: 44.89% (-36.7%) from 81.547%
27031858342

Pull #7124

github

web-flow
Merge e3e78bfbe into 376e61dc4
Pull Request #7124: fix(qual): export qual questions correctly DEV-2233

3635 of 12093 branches covered (30.06%)

4 of 35 new or added lines in 6 files covered. (11.43%)

6005 existing lines in 167 files now uncovered.

16247 of 36193 relevant lines covered (44.89%)

0.45 hits per line

Uncovered Changes

Lines Coverage ∆ File
16
18.32
-1.19% kobo/apps/subsequences/actions/qual.py
9
16.22
-40.93% kobo/apps/subsequences/utils/supplement_data.py
4
25.9
-21.54% kpi/deployment_backends/openrosa_backend.py
1
30.61
0.0% kobo/apps/subsequences/models.py
1
27.79
-50.08% kpi/models/import_export_task.py

Coverage Regressions

Lines Coverage ∆ File
667
5.22
-74.11% kpi/utils/query_parser/canopy_autogenerated_parser/__init__.py
312
0.0
-91.23% kobo/apps/openrosa/apps/viewer/pandas_mongo_bridge.py
312
27.79
-50.08% kpi/models/import_export_task.py
223
52.37
-39.19% kpi/models/asset.py
209
19.15
-51.99% kobo/apps/openrosa/libs/utils/export_tools.py
206
0.0
-86.19% kobo/apps/openrosa/libs/utils/briefcase_client.py
186
34.91
-29.38% kpi/serializers/v2/asset.py
148
57.69
-27.11% kobo/apps/openrosa/libs/utils/logger_tools.py
129
25.9
-21.54% kpi/deployment_backends/openrosa_backend.py
125
58.86
-34.06% kpi/mixins/object_permission.py
123
28.65
-33.24% kpi/views/v2/asset.py
97
29.35
-48.26% kobo/apps/project_ownership/models/transfer.py
92
44.2
-22.72% kpi/deployment_backends/base_backend.py
91
26.9
-62.76% kpi/utils/query_parser/query_parser.py
87
0.0
-87.88% kobo/apps/openrosa/libs/utils/backup_tools.py
75
0.0
-41.9% kobo/apps/stripe/views.py
73
78.33
0.1% kobo/settings/base.py
71
42.44
-34.63% kpi/utils/mongo_helper.py
70
23.4
-74.47% kpi/utils/xlsform_preprocessors/kobomatrix_handler.py
67
25.25
-33.17% kpi/filters.py
66
33.33
-59.46% kobo/apps/openrosa/apps/viewer/views.py
66
50.0
-33.0% kpi/utils/xml.py
64
12.36
-71.91% kobo/apps/reports/report_data.py
64
22.69
-53.78% kobo/apps/stripe/utils/subscription_limits.py
63
32.52
-51.22% kobo/apps/accounts/forms.py
61
38.83
-59.22% kpi/utils/usage_calculator.py
58
0.0
-90.63% kobo/apps/openrosa/libs/data/query.py
58
31.46
-65.17% kpi/deployment_backends/mock_backend.py
54
35.34
-40.6% kpi/paginators.py
50
0.0
-47.17% kobo/apps/openrosa/apps/logger/tasks.py
49
51.59
-38.89% kobo/apps/openrosa/apps/logger/signals.py
49
28.57
-43.75% kobo/apps/openrosa/apps/logger/views.py
49
28.28
-49.49% kpi/password_validation.py
48
51.64
-22.54% kpi/permissions.py
44
45.72
-16.36% kobo/apps/openrosa/apps/viewer/models/data_dictionary.py
44
37.07
-37.93% kpi/models/asset_snapshot.py
43
43.48
-10.39% kobo/apps/audit_log/models.py
40
0.0
-40.82% kobo/apps/openrosa/apps/viewer/xls_writer.py
40
23.29
-54.79% kobo/apps/openrosa/libs/utils/image_tools.py
39
33.33
-46.43% kobo/apps/audit_log/base_views.py
39
23.08
-30.0% kobo/apps/openrosa/apps/viewer/tasks.py
39
35.2
-31.2% kpi/models/paired_data.py
36
24.49
-73.47% kobo/apps/openrosa/apps/logger/import_tools.py
35
52.28
-17.77% kpi/mixins/formpack_xlsform_utils.py
35
18.75
-72.92% kpi/utils/xlsform_preprocessors/koborank_handler.py
34
25.0
-31.48% kobo/apps/openrosa/apps/logger/utils/instance.py
34
57.5
-14.17% kobo/apps/openrosa/apps/viewer/models/parsed_instance.py
34
37.14
-48.57% kpi/utils/cache.py
33
49.51
-32.04% kobo/apps/openrosa/apps/viewer/models/export.py
33
39.68
-26.19% kpi/utils/autoname.py
32
53.92
-31.37% kpi/models/asset_file.py
31
62.63
-31.31% kpi/utils/django_orm_helper.py
30
57.98
-25.21% kobo/apps/openrosa/apps/logger/models/attachment.py
29
21.95
-70.73% kpi/utils/xlsform_preprocessors/koboscore_handler.py
28
30.14
-19.18% kobo/apps/openrosa/libs/utils/viewer_tools.py
28
28.09
-9.36% kpi/views/v2/data.py
27
0.0
-72.97% kobo/apps/accounts/adapter.py
27
76.95
-10.55% kobo/apps/openrosa/apps/logger/xform_instance_parser.py
27
16.67
-18.0% kobo/apps/project_ownership/utils.py
26
0.0
-70.0% kobo/apps/audit_log/tasks.py
24
33.33
-66.67% kobo/apps/openrosa/libs/utils/decorators.py
24
40.0
-53.33% kpi/fields/jsonschema_form_field.py
24
54.84
-38.71% kpi/utils/kobo_to_xlsform.py
23
51.06
-48.94% kpi/views/v2/authorized_application_user.py
22
31.58
-38.6% kpi/utils/mailer.py
21
71.65
-10.82% kobo/apps/openrosa/apps/logger/models/instance.py
21
42.79
-9.77% kpi/renderers.py
21
54.55
-38.18% kpi/signals.py
21
23.08
-53.85% kpi/utils/asset_translation_utils.py
21
40.58
-30.43% kpi/utils/data_exports.py
21
26.47
-61.76% kpi/utils/export_cleanup.py
20
55.88
-14.71% kobo/apps/audit_log/signals.py
20
29.67
-21.98% kobo/apps/openrosa/libs/utils/user_auth.py
19
47.06
-37.25% hub/models/extra_user_detail.py
18
35.56
-40.0% kpi/fields/file.py
18
37.84
-48.65% kpi/serializers/v2/create_user.py
18
37.93
-62.07% kpi/views/token.py
17
16.22
-45.95% kobo/apps/openrosa/apps/logger/utils/database_query.py
17
46.99
-10.24% kobo/apps/organizations/views.py
17
17.86
-60.71% kpi/utils/submission.py
15
31.71
-36.59% kobo/apps/openrosa/apps/logger/xform_fs.py
15
26.19
-35.71% kpi/utils/urls.py
14
47.62
-8.33% kobo/apps/openrosa/apps/main/models/meta_data.py
14
44.0
-56.0% kobo/apps/openrosa/libs/utils/model_tools.py
13
37.14
-18.57% hub/utils/i18n.py
13
26.09
-56.52% kpi/fields/relative_prefix_hyperlinked_related.py
13
47.13
-14.94% kpi/tasks.py
13
81.61
-14.94% kpi/utils/asset_content_analyzer.py
13
67.61
-18.31% kpi/utils/sluggify.py
12
44.9
-24.49% kobo/apps/openrosa/apps/logger/utils/counters.py
12
43.06
-16.67% kobo/apps/project_ownership/serializers/invite.py
12
22.73
-54.55% kpi/utils/bugfix.py
12
42.86
-1.26% kpi/views/v2/environment.py
11
54.84
-35.48% kobo/apps/openrosa/libs/authentication.py
11
69.44
-30.56% kpi/models/asset_user_partial_permission.py
11
23.31
-3.09% kpi/serializers/v2/asset_permission_assignment.py
11
28.92
-13.25% kpi/utils/storage.py
11
55.56
-40.74% kpi/utils/xlsform_preprocessors/base_handlers.py
11
45.16
-17.74% kpi/views/v2/attachment.py
10
66.2
-14.08% kobo/apps/project_ownership/models/invite.py
10
16.22
-40.93% kobo/apps/subsequences/utils/supplement_data.py
10
14.8
-5.1% kobo/apps/subsequences/utils/versioning.py
10
74.0
-20.0% kpi/models/asset_version.py
10
35.29
-58.82% kpi/utils/strings.py
9
77.49
-4.71% kobo/apps/openrosa/apps/logger/models/xform.py
9
35.29
-52.94% kpi/serializers/v1/authorized_application_user.py
9
41.18
-52.94% kpi/utils/viewset_mixins.py
7
59.57
-7.45% kobo/apps/openrosa/libs/utils/middleware.py
7
61.76
-20.59% kobo/apps/storage_backends/base.py
7
57.14
-33.33% kpi/fields/paginated_api.py
7
53.33
-46.67% kpi/maintenance_tasks.py
7
70.37
-25.93% kpi/models/extra_project_metadata_field.py
7
72.38
-6.67% kpi/utils/object_permission.py
6
57.58
-3.64% kobo/apps/organizations/models.py
6
43.75
-37.5% kobo/apps/project_ownership/filters.py
6
72.09
-13.95% kobo/apps/project_ownership/serializers/transfer.py
6
0.0
-100.0% kobo/apps/project_views/tasks.py
6
0.0
-37.5% kobo/apps/stripe/utils/view_utils.py
6
74.51
-11.76% kpi/context_processors.py
6
42.86
-42.86% kpi/mixins/asset.py
6
53.85
-46.15% kpi/utils/files.py
6
22.32
-5.36% kpi/utils/models.py
5
60.53
-13.16% kobo/apps/data_collectors/signals.py
5
83.64
-9.09% kobo/apps/openrosa/apps/logger/exceptions.py
5
72.22
-27.78% kobo/apps/openrosa/apps/logger/models/daily_xform_submission_counter.py
5
75.0
-25.0% kobo/apps/openrosa/apps/logger/models/monthly_xform_submission_counter.py
5
0.0
-38.46% kobo/apps/openrosa/apps/main/context_processors.py
5
30.0
-7.14% kobo/apps/organizations/permissions.py
5
47.22
-13.89% kobo/apps/organizations/tasks.py
5
53.85
-6.41% kpi/deployment_backends/kc_access/utils.py
5
87.72
-8.77% kpi/deployment_backends/mixin.py
5
57.14
-23.81% kpi/fields/writable_json.py
5
25.0
-41.67% kpi/mixins/validation_password_permission.py
5
75.0
-20.83% kpi/models/authorized_application.py
5
29.41
-14.71% kpi/utils/rename_xls_sheet.py
4
53.85
-30.77% kobo/apps/accounts/templatetags/customize_email_content.py
4
77.5
-10.0% kobo/apps/kobo_auth/signals.py
4
45.45
-36.36% kobo/apps/openrosa/koboform/__init__.py
4
50.0
-10.53% kobo/apps/organizations/utils.py
4
76.67
-13.33% kobo/urls.py
4
33.33
-66.67% kpi/utils/chunked_delete.py
4
83.33
-13.33% kpi/utils/project_views.py
4
80.0
-20.0% kpi/views/v1_api_gone.py
3
95.76
-2.54% kobo/apps/openrosa/apps/api/viewsets/xform_submission_api.py
3
80.0
-20.0% kobo/apps/openrosa/apps/viewer/signals.py
3
88.57
-8.57% kobo/apps/project_views/models/project_view.py
3
76.47
-17.65% kpi/utils/pyxform_compatibility.py
3
61.54
-23.08% kpi/versioning.py
2
82.35
-11.76% kobo/apps/audit_log/middleware.py
2
91.3
-8.7% kobo/apps/project_ownership/views/invite.py
2
66.67
-2.56% kpi/authentication.py
2
85.84
-1.77% kpi/exceptions.py
2
64.52
-6.45% kpi/mixins/standardize_searchable_field.py
2
82.61
-8.7% kpi/serializers/v2/asset_version.py
2
90.0
-10.0% kpi/utils/absolute_paths.py
2
44.62
-3.08% kpi/utils/hash.py
1
44.44
-5.56% kobo/apps/accounts/templatetags/get_provider_appname.py
1
0.0
-100.0% kobo/apps/openrosa/apps/logger/constants.py
1
86.11
-2.78% kobo/apps/openrosa/apps/logger/fields.py
1
91.3
-4.35% kobo/apps/openrosa/libs/permissions.py
1
94.12
-1.18% kobo/apps/openrosa/libs/renderers/renderers.py
1
68.75
-6.25% kobo/apps/openrosa/libs/utils/string.py
1
92.31
-7.69% kobo/apps/user_reports/utils/migrations.py
1
57.89
-2.63% kpi/db_routers.py
1
79.49
-2.56% kpi/deployment_backends/kc_access/storage.py
1
87.1
-3.23% kpi/fields/lazy_default_jsonb.py
1
72.73
-4.55% kpi/urls/__init__.py
Jobs
ID Job ID Ran Files Coverage
1 27031858342.1 05 Jun 2026 06:12PM UTC 879
44.89
Source Files on build 27031858342
  • Tree
  • List 879
  • Changed 154
  • Source Changed 0
  • Coverage Changed 154
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Pull Request #7124
  • PR Base - main (#27028205821)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc