squad 1.86.3__tar.gz → 1.87__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (636) hide show
  1. {squad-1.86.3 → squad-1.87}/CHANGELOG.md +11 -0
  2. {squad-1.86.3 → squad-1.87}/Dockerfile +2 -1
  3. {squad-1.86.3 → squad-1.87}/PKG-INFO +3 -1
  4. {squad-1.86.3 → squad-1.87}/requirements.txt +2 -0
  5. {squad-1.86.3 → squad-1.87}/squad/ci/backend/tuxsuite.py +7 -3
  6. {squad-1.86.3 → squad-1.87}/squad/plugins/linux_log_parser.py +1 -14
  7. {squad-1.86.3 → squad-1.87}/squad/settings.py +2 -6
  8. squad-1.87/squad/version.py +1 -0
  9. {squad-1.86.3 → squad-1.87}/squad.egg-info/PKG-INFO +3 -1
  10. {squad-1.86.3 → squad-1.87}/squad.egg-info/SOURCES.txt +1 -0
  11. {squad-1.86.3 → squad-1.87}/squad.egg-info/requires.txt +2 -0
  12. {squad-1.86.3 → squad-1.87}/test/ci/backend/test_tuxsuite.py +318 -0
  13. {squad-1.86.3 → squad-1.87}/test/plugins/linux_log_parser/kernel_bug_and_invalid_opcode.log +2 -0
  14. squad-1.87/test/plugins/linux_log_parser/kernelexceptiontrace_without_squarebraces.log +53 -0
  15. {squad-1.86.3 → squad-1.87}/test/plugins/linux_log_parser/oops.log +2 -2
  16. {squad-1.86.3 → squad-1.87}/test/plugins/test_linux_log_parser.py +16 -4
  17. squad-1.86.3/squad/version.py +0 -1
  18. {squad-1.86.3 → squad-1.87}/.ackrc +0 -0
  19. {squad-1.86.3 → squad-1.87}/.coveragerc +0 -0
  20. {squad-1.86.3 → squad-1.87}/.ctags +0 -0
  21. {squad-1.86.3 → squad-1.87}/.dockerignore +0 -0
  22. {squad-1.86.3 → squad-1.87}/.github/workflows/release.yml +0 -0
  23. {squad-1.86.3 → squad-1.87}/.github/workflows/test.yml +0 -0
  24. {squad-1.86.3 → squad-1.87}/.gitignore +0 -0
  25. {squad-1.86.3 → squad-1.87}/.mailmap +0 -0
  26. {squad-1.86.3 → squad-1.87}/.readthedocs.yml +0 -0
  27. {squad-1.86.3 → squad-1.87}/.reuse/dep5 +0 -0
  28. {squad-1.86.3 → squad-1.87}/COPYING +0 -0
  29. {squad-1.86.3 → squad-1.87}/COPYRIGHTS +0 -0
  30. {squad-1.86.3 → squad-1.87}/LICENSES/GPL-3.0-or-later.txt +0 -0
  31. {squad-1.86.3 → squad-1.87}/LICENSES/MIT.txt +0 -0
  32. {squad-1.86.3 → squad-1.87}/LICENSES/OFL-1.1.txt +0 -0
  33. {squad-1.86.3 → squad-1.87}/MANIFEST.in +0 -0
  34. {squad-1.86.3 → squad-1.87}/Procfile +0 -0
  35. {squad-1.86.3 → squad-1.87}/README.rst +0 -0
  36. {squad-1.86.3 → squad-1.87}/babel.cfg +0 -0
  37. {squad-1.86.3 → squad-1.87}/dev-docker +0 -0
  38. {squad-1.86.3 → squad-1.87}/doc/.gitignore +0 -0
  39. {squad-1.86.3 → squad-1.87}/doc/Makefile +0 -0
  40. {squad-1.86.3 → squad-1.87}/doc/api.rst +0 -0
  41. {squad-1.86.3 → squad-1.87}/doc/ci.rst +0 -0
  42. {squad-1.86.3 → squad-1.87}/doc/conf.py +0 -0
  43. {squad-1.86.3 → squad-1.87}/doc/hacking.rst +0 -0
  44. {squad-1.86.3 → squad-1.87}/doc/index.rst +0 -0
  45. {squad-1.86.3 → squad-1.87}/doc/install.rst +0 -0
  46. {squad-1.86.3 → squad-1.87}/doc/intro.rst +0 -0
  47. {squad-1.86.3 → squad-1.87}/doc/lava_usecase.rst +0 -0
  48. {squad-1.86.3 → squad-1.87}/doc/plugins.rst +0 -0
  49. {squad-1.86.3 → squad-1.87}/doc/quickstart.rst +0 -0
  50. {squad-1.86.3 → squad-1.87}/doc/translating.rst +0 -0
  51. {squad-1.86.3 → squad-1.87}/doc/tuxsuite_usecase.rst +0 -0
  52. {squad-1.86.3 → squad-1.87}/docker/db-dumped +0 -0
  53. {squad-1.86.3 → squad-1.87}/docker/db-to-be-restored +0 -0
  54. {squad-1.86.3 → squad-1.87}/docker/docker-compose.yml +0 -0
  55. {squad-1.86.3 → squad-1.87}/docker/extra_settings.py +0 -0
  56. {squad-1.86.3 → squad-1.87}/docker/init-db.sh +0 -0
  57. {squad-1.86.3 → squad-1.87}/docker/rabbitmq.config +0 -0
  58. {squad-1.86.3 → squad-1.87}/docker/squad-apache.conf +0 -0
  59. {squad-1.86.3 → squad-1.87}/docker-compose.yaml +0 -0
  60. {squad-1.86.3 → squad-1.87}/manage.py +0 -0
  61. {squad-1.86.3 → squad-1.87}/package-lock.json +0 -0
  62. {squad-1.86.3 → squad-1.87}/package.json +0 -0
  63. {squad-1.86.3 → squad-1.87}/pytest.ini +0 -0
  64. {squad-1.86.3 → squad-1.87}/requirements-dev.txt +0 -0
  65. {squad-1.86.3 → squad-1.87}/scripts/build +0 -0
  66. {squad-1.86.3 → squad-1.87}/scripts/check-ci +0 -0
  67. {squad-1.86.3 → squad-1.87}/scripts/check-ignore +0 -0
  68. {squad-1.86.3 → squad-1.87}/scripts/community_connector/main.js +0 -0
  69. {squad-1.86.3 → squad-1.87}/scripts/community_connector/manifest.json +0 -0
  70. {squad-1.86.3 → squad-1.87}/scripts/dogfood +0 -0
  71. {squad-1.86.3 → squad-1.87}/scripts/get-metrics +0 -0
  72. {squad-1.86.3 → squad-1.87}/scripts/get-tests +0 -0
  73. {squad-1.86.3 → squad-1.87}/scripts/git-build +0 -0
  74. {squad-1.86.3 → squad-1.87}/scripts/pytest +0 -0
  75. {squad-1.86.3 → squad-1.87}/scripts/rabbitmq-server +0 -0
  76. {squad-1.86.3 → squad-1.87}/scripts/release +0 -0
  77. {squad-1.86.3 → squad-1.87}/scripts/release-docker +0 -0
  78. {squad-1.86.3 → squad-1.87}/scripts/squad-config +0 -0
  79. {squad-1.86.3 → squad-1.87}/scripts/test-ci +0 -0
  80. {squad-1.86.3 → squad-1.87}/scripts/test-docker +0 -0
  81. {squad-1.86.3 → squad-1.87}/scripts/testdata/gen-ci-jobs +0 -0
  82. {squad-1.86.3 → squad-1.87}/scripts/testdata/gen-metrics +0 -0
  83. {squad-1.86.3 → squad-1.87}/scripts/testdata/gen-test-data +0 -0
  84. {squad-1.86.3 → squad-1.87}/scripts/testdata/gen-tests +0 -0
  85. {squad-1.86.3 → squad-1.87}/scripts/testdata/setup-dev +0 -0
  86. {squad-1.86.3 → squad-1.87}/scripts/testdata/submit-ci-jobs +0 -0
  87. {squad-1.86.3 → squad-1.87}/scripts/testdata/submit-test-data +0 -0
  88. {squad-1.86.3 → squad-1.87}/scripts/translate +0 -0
  89. {squad-1.86.3 → squad-1.87}/scripts/travis-lava +0 -0
  90. {squad-1.86.3 → squad-1.87}/scripts/update-translation-files +0 -0
  91. {squad-1.86.3 → squad-1.87}/scripts/upload +0 -0
  92. {squad-1.86.3 → squad-1.87}/setup.cfg +0 -0
  93. {squad-1.86.3 → squad-1.87}/setup.py +0 -0
  94. {squad-1.86.3 → squad-1.87}/squad/__init__.py +0 -0
  95. {squad-1.86.3 → squad-1.87}/squad/admin.py +0 -0
  96. {squad-1.86.3 → squad-1.87}/squad/api/__init__.py +0 -0
  97. {squad-1.86.3 → squad-1.87}/squad/api/apps.py +0 -0
  98. {squad-1.86.3 → squad-1.87}/squad/api/ci.py +0 -0
  99. {squad-1.86.3 → squad-1.87}/squad/api/data.py +0 -0
  100. {squad-1.86.3 → squad-1.87}/squad/api/filters.py +0 -0
  101. {squad-1.86.3 → squad-1.87}/squad/api/rest.py +0 -0
  102. {squad-1.86.3 → squad-1.87}/squad/api/urls.py +0 -0
  103. {squad-1.86.3 → squad-1.87}/squad/api/utils.py +0 -0
  104. {squad-1.86.3 → squad-1.87}/squad/api/views.py +0 -0
  105. {squad-1.86.3 → squad-1.87}/squad/celery.py +0 -0
  106. {squad-1.86.3 → squad-1.87}/squad/ci/__init__.py +0 -0
  107. {squad-1.86.3 → squad-1.87}/squad/ci/admin.py +0 -0
  108. {squad-1.86.3 → squad-1.87}/squad/ci/apps.py +0 -0
  109. {squad-1.86.3 → squad-1.87}/squad/ci/backend/__init__.py +0 -0
  110. {squad-1.86.3 → squad-1.87}/squad/ci/backend/fake.py +0 -0
  111. {squad-1.86.3 → squad-1.87}/squad/ci/backend/lava.py +0 -0
  112. {squad-1.86.3 → squad-1.87}/squad/ci/backend/null.py +0 -0
  113. {squad-1.86.3 → squad-1.87}/squad/ci/exceptions.py +0 -0
  114. {squad-1.86.3 → squad-1.87}/squad/ci/management/__init__.py +0 -0
  115. {squad-1.86.3 → squad-1.87}/squad/ci/management/commands/__init__.py +0 -0
  116. {squad-1.86.3 → squad-1.87}/squad/ci/management/commands/create_tuxsuite_boot_tests.py +0 -0
  117. {squad-1.86.3 → squad-1.87}/squad/ci/management/commands/listen.py +0 -0
  118. {squad-1.86.3 → squad-1.87}/squad/ci/management/commands/testfetch.py +0 -0
  119. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0001_initial.py +0 -0
  120. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0002_auto_20170406_1252.py +0 -0
  121. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0003_backend_name.py +0 -0
  122. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0004_testjob_failure.py +0 -0
  123. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0005_remove_listener_data.py +0 -0
  124. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0006_simplify_backend_loading.py +0 -0
  125. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0007_auto_20170517_1736.py +0 -0
  126. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0008_testjob_testrun.py +0 -0
  127. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0009_slug_pattern.py +0 -0
  128. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0010_testjob_can_resubmit.py +0 -0
  129. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0011_testjob_resubmitted_count.py +0 -0
  130. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0012_testjob_build.py +0 -0
  131. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0013_testjob_name.py +0 -0
  132. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0014_testjob_target_build.py +0 -0
  133. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0015_testjob_populate_target_build.py +0 -0
  134. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0016_backend_max_fetch_attempts.py +0 -0
  135. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0017_testjob_fetch_attempts.py +0 -0
  136. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0018_testjob_dates.py +0 -0
  137. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0019_add_fake_backend.py +0 -0
  138. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0020_backend_settings_field.py +0 -0
  139. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0021_testjob_parent_job.py +0 -0
  140. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0022_backend_poll_enabled.py +0 -0
  141. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0023_remove_testjob_build.py +0 -0
  142. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0024_fix_testjob_environment_validation.py +0 -0
  143. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0025_backend_listen_enabled.py +0 -0
  144. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0026_job_start_end_time.py +0 -0
  145. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0027_add_tuxsuite_implementation_type.py +0 -0
  146. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0028_create_testjob_indexes.py +0 -0
  147. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0029_create_testjob_results_input.py +0 -0
  148. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/0030_testjob_subtasks_count.py +0 -0
  149. {squad-1.86.3 → squad-1.87}/squad/ci/migrations/__init__.py +0 -0
  150. {squad-1.86.3 → squad-1.87}/squad/ci/models.py +0 -0
  151. {squad-1.86.3 → squad-1.87}/squad/ci/tasks.py +0 -0
  152. {squad-1.86.3 → squad-1.87}/squad/ci/templates/squad/ci/testjob_resubmit.html.jinja2 +0 -0
  153. {squad-1.86.3 → squad-1.87}/squad/ci/templates/squad/ci/testjob_resubmit.txt.jinja2 +0 -0
  154. {squad-1.86.3 → squad-1.87}/squad/ci/templatetags/__init__.py +0 -0
  155. {squad-1.86.3 → squad-1.87}/squad/ci/templatetags/filter_jobs.py +0 -0
  156. {squad-1.86.3 → squad-1.87}/squad/ci/utils.py +0 -0
  157. {squad-1.86.3 → squad-1.87}/squad/compat.py +0 -0
  158. {squad-1.86.3 → squad-1.87}/squad/container_settings.py +0 -0
  159. {squad-1.86.3 → squad-1.87}/squad/core/__init__.py +0 -0
  160. {squad-1.86.3 → squad-1.87}/squad/core/admin.py +0 -0
  161. {squad-1.86.3 → squad-1.87}/squad/core/apps.py +0 -0
  162. {squad-1.86.3 → squad-1.87}/squad/core/callback.py +0 -0
  163. {squad-1.86.3 → squad-1.87}/squad/core/comparison.py +0 -0
  164. {squad-1.86.3 → squad-1.87}/squad/core/data.py +0 -0
  165. {squad-1.86.3 → squad-1.87}/squad/core/failures.py +0 -0
  166. {squad-1.86.3 → squad-1.87}/squad/core/history.py +0 -0
  167. {squad-1.86.3 → squad-1.87}/squad/core/locale/django.pot +0 -0
  168. {squad-1.86.3 → squad-1.87}/squad/core/locale/es_MX/LC_MESSAGES/django.po +0 -0
  169. {squad-1.86.3 → squad-1.87}/squad/core/locale/pl/LC_MESSAGES/django.po +0 -0
  170. {squad-1.86.3 → squad-1.87}/squad/core/locale/pt/LC_MESSAGES/django.po +0 -0
  171. {squad-1.86.3 → squad-1.87}/squad/core/locale/pt_BR/LC_MESSAGES/django.po +0 -0
  172. {squad-1.86.3 → squad-1.87}/squad/core/management/__init__.py +0 -0
  173. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/__init__.py +0 -0
  174. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/compute_build_summaries.py +0 -0
  175. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/compute_project_statuses.py +0 -0
  176. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/fill_test_metadata.py +0 -0
  177. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/fix_squadplugin_data.py +0 -0
  178. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/import_data.py +0 -0
  179. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/import_data.rst +0 -0
  180. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/migrate_test_runs.py +0 -0
  181. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/populate_metric_build_and_environment.py +0 -0
  182. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/populate_test_build_and_environment.py +0 -0
  183. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/prepdump.py +0 -0
  184. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/send-email.py +0 -0
  185. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/update_project_statuses.py +0 -0
  186. {squad-1.86.3 → squad-1.87}/squad/core/management/commands/users.py +0 -0
  187. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0001_initial.py +0 -0
  188. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0002_auto_20160525_1403.py +0 -0
  189. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0003_testrun_log_file.py +0 -0
  190. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0004_group_user_groups.py +0 -0
  191. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0005_token.py +0 -0
  192. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0006_auto_20160826_2242.py +0 -0
  193. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0007_testrun_data_processed.py +0 -0
  194. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0008_status.py +0 -0
  195. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0009_testrun_status_recorded.py +0 -0
  196. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0010_testrun_datetime.py +0 -0
  197. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0011_testrun_metadata_fields.py +0 -0
  198. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0012_build_datetime.py +0 -0
  199. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0013_testrun_resubmit_url.py +0 -0
  200. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0014_testrun_metadata_file.py +0 -0
  201. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0015_attachment.py +0 -0
  202. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0016_project_is_public.py +0 -0
  203. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0017_slug_validator.py +0 -0
  204. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0018_build_name.py +0 -0
  205. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0019_build_version.py +0 -0
  206. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0020_build_ordering.py +0 -0
  207. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0021_global_tokens.py +0 -0
  208. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0022_projectstatus.py +0 -0
  209. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0023_subscription.py +0 -0
  210. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0024_project_build_completion_threshold.py +0 -0
  211. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0025_unique_testrun_job_id.py +0 -0
  212. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0026_testrun_result_accept_null.py +0 -0
  213. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0027_project_notification_strategy.py +0 -0
  214. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0028_suite_and_test_name_length.py +0 -0
  215. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0029_subscription_email_formats.py +0 -0
  216. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0030_remove_project_build_completion_threshold.py +0 -0
  217. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0031_environment_expected_test_runs.py +0 -0
  218. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0032_testrun_completed.py +0 -0
  219. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0033_drop_debversion.py +0 -0
  220. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0034_prepare_to_remove_build_name.py +0 -0
  221. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0035_remove_build_name.py +0 -0
  222. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0036_status_tests_skip.py +0 -0
  223. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0037_project_status_test_summary_fields.py +0 -0
  224. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0038_populate_project_status_cache.py +0 -0
  225. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0039_orderings.py +0 -0
  226. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0040_remove_subscription_html.py +0 -0
  227. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0041_projectstatus_notified.py +0 -0
  228. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0042_set_projectstatus_notified.py +0 -0
  229. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0043_project_status_build.py +0 -0
  230. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0044_project_html_mail.py +0 -0
  231. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0045_adminsubscription.py +0 -0
  232. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0046_projectstatus_last_updated.py +0 -0
  233. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0047_populate_projectstatus_last_updated.py +0 -0
  234. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0048_moderate_notifications.py +0 -0
  235. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0049_projectstatus_plural.py +0 -0
  236. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0050_projectstatus_finished.py +0 -0
  237. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0051_build_status.py +0 -0
  238. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0052_recreate_projectstatus_data.py +0 -0
  239. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0053_remove_projectstatus_previous.py +0 -0
  240. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0054_custom_email_template.py +0 -0
  241. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0055_emailtemplate_subject.py +0 -0
  242. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0056_project_description.py +0 -0
  243. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0057_projectstatus_has_metrics.py +0 -0
  244. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0058_populate_projectstatus_has_metrics.py +0 -0
  245. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0059_project_important_metadata_keys.py +0 -0
  246. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0060_test_log.py +0 -0
  247. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0061_project_enabled_plugins_list.py +0 -0
  248. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0062_project_allow_empty_enabled_plugin_list.py +0 -0
  249. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0063_project_wait_before_notification.py +0 -0
  250. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0064_project_notification_timeout.py +0 -0
  251. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0065_projectstatus_notified_on_timeout.py +0 -0
  252. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0066_environment_description.py +0 -0
  253. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0067_accept_blank_suite_name.py +0 -0
  254. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0068_suite_version.py +0 -0
  255. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0069_suite_metadata.py +0 -0
  256. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0070_create_suite_test_and_metric_metadata.py +0 -0
  257. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0071_migrate_old_tokens.py +0 -0
  258. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0072_group_description.py +0 -0
  259. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0073_auto_20180420_1643.py +0 -0
  260. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0074_add_indexes.py +0 -0
  261. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0075_update_project_enabled_plugin_list.py +0 -0
  262. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0076_patch_builds.py +0 -0
  263. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0077_knownissue.py +0 -0
  264. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0078_cache_test_run_counts.py +0 -0
  265. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0079_init_cache_test_run_counts.py +0 -0
  266. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0080_auto_20180810_0047.py +0 -0
  267. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0081_status_has_metrics.py +0 -0
  268. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0082_populate_status_has_metrics.py +0 -0
  269. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0083_rename_knownissue_environments.py +0 -0
  270. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0084_projectstatus_regressions_fixes.py +0 -0
  271. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0085_projectstatus_defaults.py +0 -0
  272. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0086_xfail.py +0 -0
  273. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0087_test_known_issues.py +0 -0
  274. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0088_user_subscriptions.py +0 -0
  275. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0089_test_has_known_issues.py +0 -0
  276. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0090_populate_test_has_known_issues.py +0 -0
  277. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0091_notification_delivery_remove_unique_status.py +0 -0
  278. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0092_annotation.py +0 -0
  279. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0093_historicalemailtemplate.py +0 -0
  280. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0094_populatehistoricalemailtemplate.py +0 -0
  281. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0095_project_data_retention_days.py +0 -0
  282. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0096_build_keep_data.py +0 -0
  283. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0097_build_placeholder.py +0 -0
  284. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0098_blank_annotation.py +0 -0
  285. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0099_metricthreshold.py +0 -0
  286. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0100_metric_is_outlier.py +0 -0
  287. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0101_project_project_settings.py +0 -0
  288. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0102_projectstatus_null_metric_summary.py +0 -0
  289. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0103_populate_project_status.py +0 -0
  290. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0104_delayedreport.py +0 -0
  291. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0105_delayed_report_error_message.py +0 -0
  292. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0106_delayedreport_output_subject.py +0 -0
  293. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0107_move_notification_strategy.py +0 -0
  294. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0108_add_email_template_validator.py +0 -0
  295. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0109_group_member.py +0 -0
  296. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0110_move_users_from_django_groups_to_squad_groups.py +0 -0
  297. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0111_remove_group_user_groups.py +0 -0
  298. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0112_user_namespaces.py +0 -0
  299. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0113_group_project_blank_name_and_description.py +0 -0
  300. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0114_project_enabled_plugin_list_can_be_blank.py +0 -0
  301. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0115_fix_slug_validation.py +0 -0
  302. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0116_make_group_membership_unique.py +0 -0
  303. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0117_drop_obsolete_token_model.py +0 -0
  304. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0118_project_is_archived.py +0 -0
  305. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0119_i18n.py +0 -0
  306. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0120_buildsummary.py +0 -0
  307. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0121_add_password_patchsource.py +0 -0
  308. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0122_fix_patchsource_url_and_token.py +0 -0
  309. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0123_django_upgrade_missing_migrations.py +0 -0
  310. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0124_set_default_expected_test_runs_to_zero.py +0 -0
  311. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0125_fix_missing_status_has_metrics_for_testruns.py +0 -0
  312. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0126_metricthreshold_environment.py +0 -0
  313. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0127_metric_thresholds_migrate_data.py +0 -0
  314. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0128_metric_thresholds_remove_proj_col.py +0 -0
  315. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0129_projectstatus_nullable_notified_on_timeout.py +0 -0
  316. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0130_project_status_baseline_next.py +0 -0
  317. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0131_create_squad_auth_group_and_add_users.py +0 -0
  318. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0132_attachment_mimetype.py +0 -0
  319. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0133_append_project_permissions_to_squad_auth_group.py +0 -0
  320. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0134_longer_metric_name.py +0 -0
  321. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0135_add_privileged_access_level.py +0 -0
  322. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0136_migrate_submitters_to_privileged.py +0 -0
  323. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0137_patchsource_token_null.py +0 -0
  324. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0138_metric_unit.py +0 -0
  325. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0139_nullable_test_name.py +0 -0
  326. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0140_increase_gerrit_password_length.py +0 -0
  327. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0141_remove_test_name.py +0 -0
  328. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0142_add_testrun_file_storage.py +0 -0
  329. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0143_attachment_storage.py +0 -0
  330. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0144_attachment_data_null.py +0 -0
  331. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0145_pluginscratch.py +0 -0
  332. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0146_deprecate_testrun_and_attachment_data_fields.py +0 -0
  333. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0147_add_build_and_environment_to_test.py +0 -0
  334. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0148_remove_legacy_storage_fields.py +0 -0
  335. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0149_build_patch_url.py +0 -0
  336. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0150_add_new_notification_strategy.py +0 -0
  337. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0151_callback.py +0 -0
  338. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0152_add_build_patch_notified.py +0 -0
  339. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0153_callback_make_response_content_blob.py +0 -0
  340. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0154_project_add_force_finishing_builds_field.py +0 -0
  341. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0155_add_build_and_environment_to_metric.py +0 -0
  342. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0156_nullable_metric_name.py +0 -0
  343. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0157_remove_metric_name.py +0 -0
  344. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0158_add_metric_comparison_to_projectstatus.py +0 -0
  345. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0159_nullable_metricthreshold_value.py +0 -0
  346. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0160_add_project_to_metricthreshold.py +0 -0
  347. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0161_add_metricthreshold_perm_to_squad_group.py +0 -0
  348. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0162_project_add_build_confidence_settings.py +0 -0
  349. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0163_hirtoricalemailtemplate_update.py +0 -0
  350. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0164_django_update.py +0 -0
  351. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0165_buildsummary_uniqueness.py +0 -0
  352. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0166_build_is_release.py +0 -0
  353. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0167_add_project_datetime.py +0 -0
  354. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0168_add_group_settings.py +0 -0
  355. {squad-1.86.3 → squad-1.87}/squad/core/migrations/0169_userpreferences.py +0 -0
  356. {squad-1.86.3 → squad-1.87}/squad/core/migrations/__init__.py +0 -0
  357. {squad-1.86.3 → squad-1.87}/squad/core/models.py +0 -0
  358. {squad-1.86.3 → squad-1.87}/squad/core/notification.py +0 -0
  359. {squad-1.86.3 → squad-1.87}/squad/core/plugins.py +0 -0
  360. {squad-1.86.3 → squad-1.87}/squad/core/queries.py +0 -0
  361. {squad-1.86.3 → squad-1.87}/squad/core/statistics.py +0 -0
  362. {squad-1.86.3 → squad-1.87}/squad/core/tasks/__init__.py +0 -0
  363. {squad-1.86.3 → squad-1.87}/squad/core/tasks/exceptions.py +0 -0
  364. {squad-1.86.3 → squad-1.87}/squad/core/tasks/notification.py +0 -0
  365. {squad-1.86.3 → squad-1.87}/squad/core/templates/squad/notification/base.jinja2 +0 -0
  366. {squad-1.86.3 → squad-1.87}/squad/core/templates/squad/notification/diff.html.jinja2 +0 -0
  367. {squad-1.86.3 → squad-1.87}/squad/core/templates/squad/notification/diff.txt.jinja2 +0 -0
  368. {squad-1.86.3 → squad-1.87}/squad/core/templates/squad/notification/failed_test_jobs.html.jinja2 +0 -0
  369. {squad-1.86.3 → squad-1.87}/squad/core/templates/squad/notification/failed_test_jobs.txt.jinja2 +0 -0
  370. {squad-1.86.3 → squad-1.87}/squad/core/templates/squad/notification/moderation.html.jinja2 +0 -0
  371. {squad-1.86.3 → squad-1.87}/squad/core/templates/squad/notification/moderation.txt.jinja2 +0 -0
  372. {squad-1.86.3 → squad-1.87}/squad/core/templatetags/__init__.py +0 -0
  373. {squad-1.86.3 → squad-1.87}/squad/core/templatetags/squad_notification.py +0 -0
  374. {squad-1.86.3 → squad-1.87}/squad/core/utils.py +0 -0
  375. {squad-1.86.3 → squad-1.87}/squad/frontend/__init__.py +0 -0
  376. {squad-1.86.3 → squad-1.87}/squad/frontend/__main__.py +0 -0
  377. {squad-1.86.3 → squad-1.87}/squad/frontend/admin.py +0 -0
  378. {squad-1.86.3 → squad-1.87}/squad/frontend/apps.py +0 -0
  379. {squad-1.86.3 → squad-1.87}/squad/frontend/badges.py +0 -0
  380. {squad-1.86.3 → squad-1.87}/squad/frontend/build_settings.py +0 -0
  381. {squad-1.86.3 → squad-1.87}/squad/frontend/ci.py +0 -0
  382. {squad-1.86.3 → squad-1.87}/squad/frontend/comparison.py +0 -0
  383. {squad-1.86.3 → squad-1.87}/squad/frontend/extract.py +0 -0
  384. {squad-1.86.3 → squad-1.87}/squad/frontend/forms.py +0 -0
  385. {squad-1.86.3 → squad-1.87}/squad/frontend/group_settings.py +0 -0
  386. {squad-1.86.3 → squad-1.87}/squad/frontend/locale/django.pot +0 -0
  387. {squad-1.86.3 → squad-1.87}/squad/frontend/locale/pl/LC_MESSAGES/django.po +0 -0
  388. {squad-1.86.3 → squad-1.87}/squad/frontend/locale/pt/LC_MESSAGES/django.po +0 -0
  389. {squad-1.86.3 → squad-1.87}/squad/frontend/locale/pt_BR/LC_MESSAGES/django.po +0 -0
  390. {squad-1.86.3 → squad-1.87}/squad/frontend/management/__init__.py +0 -0
  391. {squad-1.86.3 → squad-1.87}/squad/frontend/management/commands/__init__.py +0 -0
  392. {squad-1.86.3 → squad-1.87}/squad/frontend/management/commands/get_token.py +0 -0
  393. {squad-1.86.3 → squad-1.87}/squad/frontend/metrics.py +0 -0
  394. {squad-1.86.3 → squad-1.87}/squad/frontend/project_settings.py +0 -0
  395. {squad-1.86.3 → squad-1.87}/squad/frontend/queries.py +0 -0
  396. {squad-1.86.3 → squad-1.87}/squad/frontend/setup.py +0 -0
  397. {squad-1.86.3 → squad-1.87}/squad/frontend/static/compare.css +0 -0
  398. {squad-1.86.3 → squad-1.87}/squad/frontend/static/download +0 -0
  399. {squad-1.86.3 → squad-1.87}/squad/frontend/static/download.conf +0 -0
  400. {squad-1.86.3 → squad-1.87}/squad/frontend/static/favicon.ico +0 -0
  401. {squad-1.86.3 → squad-1.87}/squad/frontend/static/main.css +0 -0
  402. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/attach_select2.js +0 -0
  403. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/build.js +0 -0
  404. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/build_compare.js +0 -0
  405. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/build_list.js +0 -0
  406. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/charts.js +0 -0
  407. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/common.js +0 -0
  408. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/compare.js +0 -0
  409. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/config.js +0 -0
  410. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/annotation.js +0 -0
  411. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/build_compare.js +0 -0
  412. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/build_list_compare.js +0 -0
  413. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/build_release.js +0 -0
  414. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/cancel.js +0 -0
  415. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/charts.js +0 -0
  416. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/compare.js +0 -0
  417. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/fetch.js +0 -0
  418. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/filter.js +0 -0
  419. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/metricThreshold.js +0 -0
  420. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/project_compare.js +0 -0
  421. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/resubmit.js +0 -0
  422. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/controllers/testjobs_progress.js +0 -0
  423. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/metric.threshold.js +0 -0
  424. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/project_compare.js +0 -0
  425. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/showHide.js +0 -0
  426. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad/table.js +0 -0
  427. {squad-1.86.3 → squad-1.87}/squad/frontend/static/squad_sign.svg +0 -0
  428. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/401.jinja2 +0 -0
  429. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/404.jinja2 +0 -0
  430. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/django/rest_framework/api.html +0 -0
  431. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/django/squad/_user_menu.html +0 -0
  432. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_builds_table.jinja2 +0 -0
  433. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_env_suite_data.jinja2 +0 -0
  434. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_metadata.jinja2 +0 -0
  435. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_pagination.jinja2 +0 -0
  436. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_permissions.jinja2 +0 -0
  437. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_project_list.jinja2 +0 -0
  438. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_regressions_and_fixes.jinja2 +0 -0
  439. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_results_table.jinja2 +0 -0
  440. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_results_transitions_filter.jinja2 +0 -0
  441. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_subscribe.jinja2 +0 -0
  442. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_test_results_envbox.jinja2 +0 -0
  443. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_test_results_suitebox.jinja2 +0 -0
  444. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_test_results_summary.jinja2 +0 -0
  445. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_test_results_table.jinja2 +0 -0
  446. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_test_run_metric.jinja2 +0 -0
  447. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_test_run_test.jinja2 +0 -0
  448. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_unfinished_build.jinja2 +0 -0
  449. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/_user_menu.jinja2 +0 -0
  450. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/base.jinja2 +0 -0
  451. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/build-nav.jinja2 +0 -0
  452. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/build.jinja2 +0 -0
  453. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/build_callbacks.jinja2 +0 -0
  454. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/build_metadata.jinja2 +0 -0
  455. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/build_metrics.jinja2 +0 -0
  456. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/build_settings.jinja2 +0 -0
  457. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/builds.jinja2 +0 -0
  458. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/compare.jinja2 +0 -0
  459. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/compare_builds.jinja2 +0 -0
  460. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/compare_projects.jinja2 +0 -0
  461. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/group-nav.jinja2 +0 -0
  462. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/group.jinja2 +0 -0
  463. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/group_settings/advanced.jinja2 +0 -0
  464. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/group_settings/base.jinja2 +0 -0
  465. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/group_settings/delete.jinja2 +0 -0
  466. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/group_settings/index.jinja2 +0 -0
  467. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/group_settings/members.jinja2 +0 -0
  468. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/group_settings/new_group.jinja2 +0 -0
  469. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/group_settings/new_project.jinja2 +0 -0
  470. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/index.jinja2 +0 -0
  471. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/knownissues.jinja2 +0 -0
  472. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/login.jinja2 +0 -0
  473. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/metrics.jinja2 +0 -0
  474. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/project-nav.jinja2 +0 -0
  475. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/project.jinja2 +0 -0
  476. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/project_settings/_threshold_table.jinja2 +0 -0
  477. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/project_settings/advanced.jinja2 +0 -0
  478. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/project_settings/base.jinja2 +0 -0
  479. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/project_settings/build_confidence.jinja2 +0 -0
  480. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/project_settings/delete.jinja2 +0 -0
  481. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/project_settings/environments.jinja2 +0 -0
  482. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/project_settings/index.jinja2 +0 -0
  483. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/project_settings/thresholds.jinja2 +0 -0
  484. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/test_history.jinja2 +0 -0
  485. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/test_run.jinja2 +0 -0
  486. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/test_run_suite_metrics.jinja2 +0 -0
  487. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/test_run_suite_test_details.jinja2 +0 -0
  488. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/test_run_suite_tests.jinja2 +0 -0
  489. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/testjob.jinja2 +0 -0
  490. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/testjobs.jinja2 +0 -0
  491. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/testjobs_progress.jinja2 +0 -0
  492. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/tests-details-nav.jinja2 +0 -0
  493. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/tests.jinja2 +0 -0
  494. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/user_settings/api_token.jinja2 +0 -0
  495. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/user_settings/base.jinja2 +0 -0
  496. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/user_settings/profile.jinja2 +0 -0
  497. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/user_settings/projects.jinja2 +0 -0
  498. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/user_settings/subscriptions.jinja2 +0 -0
  499. {squad-1.86.3 → squad-1.87}/squad/frontend/templates/squad/user_settings/user_preferences.jinja2 +0 -0
  500. {squad-1.86.3 → squad-1.87}/squad/frontend/templatetags/__init__.py +0 -0
  501. {squad-1.86.3 → squad-1.87}/squad/frontend/templatetags/squad.py +0 -0
  502. {squad-1.86.3 → squad-1.87}/squad/frontend/tests.py +0 -0
  503. {squad-1.86.3 → squad-1.87}/squad/frontend/urls.py +0 -0
  504. {squad-1.86.3 → squad-1.87}/squad/frontend/user_settings.py +0 -0
  505. {squad-1.86.3 → squad-1.87}/squad/frontend/utils.py +0 -0
  506. {squad-1.86.3 → squad-1.87}/squad/frontend/views.py +0 -0
  507. {squad-1.86.3 → squad-1.87}/squad/http.py +0 -0
  508. {squad-1.86.3 → squad-1.87}/squad/jinja2.py +0 -0
  509. {squad-1.86.3 → squad-1.87}/squad/mail.py +0 -0
  510. {squad-1.86.3 → squad-1.87}/squad/manage.py +0 -0
  511. {squad-1.86.3 → squad-1.87}/squad/plugins/__init__.py +0 -0
  512. {squad-1.86.3 → squad-1.87}/squad/plugins/example.py +0 -0
  513. {squad-1.86.3 → squad-1.87}/squad/plugins/gerrit.py +0 -0
  514. {squad-1.86.3 → squad-1.87}/squad/plugins/github.py +0 -0
  515. {squad-1.86.3 → squad-1.87}/squad/run/__init__.py +0 -0
  516. {squad-1.86.3 → squad-1.87}/squad/run/__main__.py +0 -0
  517. {squad-1.86.3 → squad-1.87}/squad/run/listener.py +0 -0
  518. {squad-1.86.3 → squad-1.87}/squad/run/scheduler.py +0 -0
  519. {squad-1.86.3 → squad-1.87}/squad/run/worker.py +0 -0
  520. {squad-1.86.3 → squad-1.87}/squad/socialaccount.py +0 -0
  521. {squad-1.86.3 → squad-1.87}/squad/urls.py +0 -0
  522. {squad-1.86.3 → squad-1.87}/squad/wsgi.py +0 -0
  523. {squad-1.86.3 → squad-1.87}/squad.egg-info/dependency_links.txt +0 -0
  524. {squad-1.86.3 → squad-1.87}/squad.egg-info/entry_points.txt +0 -0
  525. {squad-1.86.3 → squad-1.87}/squad.egg-info/top_level.txt +0 -0
  526. {squad-1.86.3 → squad-1.87}/squad.svg +0 -0
  527. {squad-1.86.3 → squad-1.87}/test/__init__.py +0 -0
  528. {squad-1.86.3 → squad-1.87}/test/api/__init__.py +0 -0
  529. {squad-1.86.3 → squad-1.87}/test/api/benchmarks.csv +0 -0
  530. {squad-1.86.3 → squad-1.87}/test/api/benchmarks.json +0 -0
  531. {squad-1.86.3 → squad-1.87}/test/api/definition.yaml +0 -0
  532. {squad-1.86.3 → squad-1.87}/test/api/metadata.json +0 -0
  533. {squad-1.86.3 → squad-1.87}/test/api/test_ci.py +0 -0
  534. {squad-1.86.3 → squad-1.87}/test/api/test_data.py +0 -0
  535. {squad-1.86.3 → squad-1.87}/test/api/test_rest.py +0 -0
  536. {squad-1.86.3 → squad-1.87}/test/api/test_run.log +0 -0
  537. {squad-1.86.3 → squad-1.87}/test/api/tests.csv +0 -0
  538. {squad-1.86.3 → squad-1.87}/test/api/tests.json +0 -0
  539. {squad-1.86.3 → squad-1.87}/test/api/tests.py +0 -0
  540. {squad-1.86.3 → squad-1.87}/test/api/tests_log.json +0 -0
  541. {squad-1.86.3 → squad-1.87}/test/api/tests_two.json +0 -0
  542. {squad-1.86.3 → squad-1.87}/test/api/twoline_definition.yaml +0 -0
  543. {squad-1.86.3 → squad-1.87}/test/ci/__init__.py +0 -0
  544. {squad-1.86.3 → squad-1.87}/test/ci/backend/__init__.py +0 -0
  545. {squad-1.86.3 → squad-1.87}/test/ci/backend/example-broken-log.yaml +0 -0
  546. {squad-1.86.3 → squad-1.87}/test/ci/backend/example-lava-log.yaml +0 -0
  547. {squad-1.86.3 → squad-1.87}/test/ci/backend/lava.json +0 -0
  548. {squad-1.86.3 → squad-1.87}/test/ci/backend/test_fake.py +0 -0
  549. {squad-1.86.3 → squad-1.87}/test/ci/backend/test_lava.py +0 -0
  550. {squad-1.86.3 → squad-1.87}/test/ci/backend/test_real_lava.py +0 -0
  551. {squad-1.86.3 → squad-1.87}/test/ci/backend/tuxsuite_test_failed_result_sample.json +0 -0
  552. {squad-1.86.3 → squad-1.87}/test/ci/backend/tuxsuite_test_result_sample.json +0 -0
  553. {squad-1.86.3 → squad-1.87}/test/ci/test_listen.py +0 -0
  554. {squad-1.86.3 → squad-1.87}/test/ci/test_models.py +0 -0
  555. {squad-1.86.3 → squad-1.87}/test/ci/test_tasks.py +0 -0
  556. {squad-1.86.3 → squad-1.87}/test/core/__init__.py +0 -0
  557. {squad-1.86.3 → squad-1.87}/test/core/test_attachment.py +0 -0
  558. {squad-1.86.3 → squad-1.87}/test/core/test_build.py +0 -0
  559. {squad-1.86.3 → squad-1.87}/test/core/test_build_summary.py +0 -0
  560. {squad-1.86.3 → squad-1.87}/test/core/test_callback.py +0 -0
  561. {squad-1.86.3 → squad-1.87}/test/core/test_emailtemplate.py +0 -0
  562. {squad-1.86.3 → squad-1.87}/test/core/test_failures.py +0 -0
  563. {squad-1.86.3 → squad-1.87}/test/core/test_group.py +0 -0
  564. {squad-1.86.3 → squad-1.87}/test/core/test_historical_emailtemplate.py +0 -0
  565. {squad-1.86.3 → squad-1.87}/test/core/test_history.py +0 -0
  566. {squad-1.86.3 → squad-1.87}/test/core/test_import_data.py +0 -0
  567. {squad-1.86.3 → squad-1.87}/test/core/test_import_data_input/1/default/1/metadata.json +0 -0
  568. {squad-1.86.3 → squad-1.87}/test/core/test_import_data_input/1/default/1/metrics.json +0 -0
  569. {squad-1.86.3 → squad-1.87}/test/core/test_import_data_input/2/default/2/metadata.json +0 -0
  570. {squad-1.86.3 → squad-1.87}/test/core/test_import_data_input/2/default/2/metrics.json +0 -0
  571. {squad-1.86.3 → squad-1.87}/test/core/test_import_data_input/2/default/2/screenshot.png +0 -0
  572. {squad-1.86.3 → squad-1.87}/test/core/test_import_data_input/2/default/2/tests.json +0 -0
  573. {squad-1.86.3 → squad-1.87}/test/core/test_import_data_missing_metadata/1/1/tests.json +0 -0
  574. {squad-1.86.3 → squad-1.87}/test/core/test_known_issues.py +0 -0
  575. {squad-1.86.3 → squad-1.87}/test/core/test_metric.py +0 -0
  576. {squad-1.86.3 → squad-1.87}/test/core/test_metric_comparison.py +0 -0
  577. {squad-1.86.3 → squad-1.87}/test/core/test_metric_threshold.py +0 -0
  578. {squad-1.86.3 → squad-1.87}/test/core/test_metrics_data.py +0 -0
  579. {squad-1.86.3 → squad-1.87}/test/core/test_metrics_summary.py +0 -0
  580. {squad-1.86.3 → squad-1.87}/test/core/test_notification.py +0 -0
  581. {squad-1.86.3 → squad-1.87}/test/core/test_notification_delivery.py +0 -0
  582. {squad-1.86.3 → squad-1.87}/test/core/test_patch_source.py +0 -0
  583. {squad-1.86.3 → squad-1.87}/test/core/test_project.py +0 -0
  584. {squad-1.86.3 → squad-1.87}/test/core/test_project_status.py +0 -0
  585. {squad-1.86.3 → squad-1.87}/test/core/test_statistics.py +0 -0
  586. {squad-1.86.3 → squad-1.87}/test/core/test_tasks.py +0 -0
  587. {squad-1.86.3 → squad-1.87}/test/core/test_tasks_notification.py +0 -0
  588. {squad-1.86.3 → squad-1.87}/test/core/test_test.py +0 -0
  589. {squad-1.86.3 → squad-1.87}/test/core/test_test_comparison.py +0 -0
  590. {squad-1.86.3 → squad-1.87}/test/core/test_test_data.py +0 -0
  591. {squad-1.86.3 → squad-1.87}/test/core/test_test_run.py +0 -0
  592. {squad-1.86.3 → squad-1.87}/test/core/test_test_summary.py +0 -0
  593. {squad-1.86.3 → squad-1.87}/test/core/test_update_project_statuses.py +0 -0
  594. {squad-1.86.3 → squad-1.87}/test/core/test_user_namespace.py +0 -0
  595. {squad-1.86.3 → squad-1.87}/test/core/test_utils.py +0 -0
  596. {squad-1.86.3 → squad-1.87}/test/frontend/__init__.py +0 -0
  597. {squad-1.86.3 → squad-1.87}/test/frontend/test_basics.py +0 -0
  598. {squad-1.86.3 → squad-1.87}/test/frontend/test_comparison.py +0 -0
  599. {squad-1.86.3 → squad-1.87}/test/frontend/test_get_token_command.py +0 -0
  600. {squad-1.86.3 → squad-1.87}/test/frontend/test_group_settings.py +0 -0
  601. {squad-1.86.3 → squad-1.87}/test/frontend/test_history.py +0 -0
  602. {squad-1.86.3 → squad-1.87}/test/frontend/test_template_tags.py +0 -0
  603. {squad-1.86.3 → squad-1.87}/test/frontend/test_test_job.py +0 -0
  604. {squad-1.86.3 → squad-1.87}/test/frontend/test_tests.py +0 -0
  605. {squad-1.86.3 → squad-1.87}/test/frontend/test_utils.py +0 -0
  606. {squad-1.86.3 → squad-1.87}/test/integration/__init__.py +0 -0
  607. {squad-1.86.3 → squad-1.87}/test/integration/plugins/test_tradefed.py +0 -0
  608. {squad-1.86.3 → squad-1.87}/test/integration/plugins/tradefed-output-20220608105250.tar.xz +0 -0
  609. {squad-1.86.3 → squad-1.87}/test/integration/test_build_notification_from_ci.py +0 -0
  610. {squad-1.86.3 → squad-1.87}/test/javascript.py +0 -0
  611. {squad-1.86.3 → squad-1.87}/test/karma.conf.js +0 -0
  612. {squad-1.86.3 → squad-1.87}/test/mock.py +0 -0
  613. {squad-1.86.3 → squad-1.87}/test/performance.py +0 -0
  614. {squad-1.86.3 → squad-1.87}/test/plugins/__init__.py +0 -0
  615. {squad-1.86.3 → squad-1.87}/test/plugins/linux_log_parser/kasan.log +0 -0
  616. {squad-1.86.3 → squad-1.87}/test/plugins/linux_log_parser/kernelexceptiontrace.log +0 -0
  617. {squad-1.86.3 → squad-1.87}/test/plugins/linux_log_parser/kernelpanic.log +0 -0
  618. {squad-1.86.3 → squad-1.87}/test/plugins/linux_log_parser/kfence.log +0 -0
  619. {squad-1.86.3 → squad-1.87}/test/plugins/linux_log_parser/multiple_issues_dmesg.log +0 -0
  620. {squad-1.86.3 → squad-1.87}/test/plugins/linux_log_parser/rcu_warning.log +0 -0
  621. {squad-1.86.3 → squad-1.87}/test/plugins/test_gerrit.py +0 -0
  622. {squad-1.86.3 → squad-1.87}/test/plugins/test_github.py +0 -0
  623. {squad-1.86.3 → squad-1.87}/test/plugins/test_plugin.py +0 -0
  624. {squad-1.86.3 → squad-1.87}/test/settings.py +0 -0
  625. {squad-1.86.3 → squad-1.87}/test/test_architecture.py +0 -0
  626. {squad-1.86.3 → squad-1.87}/test/test_code_quality.py +0 -0
  627. {squad-1.86.3 → squad-1.87}/test/test_cors.py +0 -0
  628. {squad-1.86.3 → squad-1.87}/test/test_i18n.py +0 -0
  629. {squad-1.86.3 → squad-1.87}/test/test_mail.py +0 -0
  630. {squad-1.86.3 → squad-1.87}/test/test_pending_migrations.py +0 -0
  631. {squad-1.86.3 → squad-1.87}/test/unit/test_annotation.js +0 -0
  632. {squad-1.86.3 → squad-1.87}/test/unit/test_cancel.js +0 -0
  633. {squad-1.86.3 → squad-1.87}/test/unit/test_charts.js +0 -0
  634. {squad-1.86.3 → squad-1.87}/test/unit/test_compare.js +0 -0
  635. {squad-1.86.3 → squad-1.87}/test/unit/test_filter.js +0 -0
  636. {squad-1.86.3 → squad-1.87}/test/unit/test_resubmit.js +0 -0
@@ -1,3 +1,14 @@
1
+ # 1.87
2
+
3
+ This 1.87 release does a bit of Python updates. The github actions have stopped
4
+ working for a while and needed a set of commits to go back working. Part of these
5
+ changes are related to new Python versions. Newer SQUAD releases should start
6
+ supportting Python > 3.10, as older versions are going to be deprecated soon.
7
+
8
+ The release also fetches build metadata for jobs coming from Tuxsuite backend and
9
+ lastly it changes log-parser plugin to optionally fetch kernel panics without
10
+ square braces around `cut-here` (thanks Anders!).
11
+
1
12
  # 1.86.3
2
13
 
3
14
  This 1.86.3 release fixes deprecation warnings regarding imp module
@@ -17,6 +17,7 @@ RUN apt-get update -q=2 && \
17
17
  python3-gunicorn \
18
18
  python3-importlib-metadata \
19
19
  python3-jinja2 \
20
+ python3-jwt \
20
21
  python3-markdown \
21
22
  python3-msgpack \
22
23
  python3-pip \
@@ -59,7 +60,7 @@ RUN apt-get update -q=2 && \
59
60
  django-bootstrap3 \
60
61
  django-cors-headers \
61
62
  drf-extensions \
62
- django-allauth==0.46.0 \
63
+ django-allauth \
63
64
  django-simple-history==3.1.1 \
64
65
  django-health-check==3.16.4 && \
65
66
  pip3 install boto3==1.15 django-storages[google]==1.13.2 asgiref==3.7.2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: squad
3
- Version: 1.86.3
3
+ Version: 1.87
4
4
  Summary: Software Quality Dashboard
5
5
  Home-page: https://github.com/Linaro/squad
6
6
  Author: Antonio Terceiro
@@ -32,8 +32,10 @@ Requires-Dist: Markdown
32
32
  Requires-Dist: msgpack>=0.5.0
33
33
  Requires-Dist: python_dateutil
34
34
  Requires-Dist: PyYAML>=5.1
35
+ Requires-Dist: PyJWT
35
36
  Requires-Dist: pyzmq
36
37
  Requires-Dist: requests
38
+ Requires-Dist: setuptools
37
39
  Requires-Dist: sqlparse
38
40
  Requires-Dist: svgwrite
39
41
  Requires-Dist: whitenoise
@@ -22,8 +22,10 @@ Markdown
22
22
  msgpack>=0.5.0
23
23
  python_dateutil
24
24
  PyYAML>=5.1
25
+ PyJWT
25
26
  pyzmq
26
27
  requests
28
+ setuptools
27
29
  sqlparse
28
30
  svgwrite
29
31
  whitenoise
@@ -240,6 +240,10 @@ class Backend(BaseBackend):
240
240
  # Make metadata
241
241
  metadata_keys = settings.get('BUILD_METADATA_KEYS', [])
242
242
  metadata = {k: results.get(k) for k in metadata_keys}
243
+
244
+ # Add extra metadata from metadata file if it exists
245
+ self.update_metadata_from_file(results=results, metadata=metadata)
246
+
243
247
  metadata['job_url'] = job_url
244
248
  metadata['job_id'] = test_job.job_id
245
249
  metadata['config'] = urljoin(results.get('download_url') + '/', 'config')
@@ -296,10 +300,10 @@ class Backend(BaseBackend):
296
300
  if "download_url" in results:
297
301
  download_url = results["download_url"]
298
302
  try:
299
- test_metadata_response = self.fetch_url(download_url + '/' + 'metadata.json')
303
+ metadata_response = self.fetch_url(download_url + '/' + 'metadata.json')
300
304
  # If fetching the metadata file did not error, decode it as json
301
- if test_metadata_response.ok:
302
- metadata.update(test_metadata_response.json())
305
+ if metadata_response.ok:
306
+ metadata.update(metadata_response.json())
303
307
  except TemporaryFetchIssue:
304
308
  pass
305
309
 
@@ -12,7 +12,7 @@ REGEX_NAME = 0
12
12
  REGEX_BODY = 1
13
13
 
14
14
  MULTILINERS = [
15
- ('check-kernel-exception', r'-+\[ cut here \]-+.*?-+\[ end trace \w* \]-+'),
15
+ ('check-kernel-exception', r'-+\[? cut here \]?-+.*?-+\[? end trace \w* \]?-+'),
16
16
  ('check-kernel-kasan', r'=+\n\[[\s\.\d]+\]\s+BUG: KASAN:.*?=+'),
17
17
  ('check-kernel-kfence', r'=+\n\[[\s\.\d]+\]\s+BUG: KFENCE:.*?=+'),
18
18
  ]
@@ -131,19 +131,6 @@ class Plugin(BasePlugin):
131
131
  matches = regex.findall(log)
132
132
  snippets = self.__join_matches(matches, REGEXES)
133
133
 
134
- # search onliners within multiliners
135
- multiline_matches = []
136
- for regex_id in range(len(MULTILINERS)):
137
- multiline_matches += snippets[regex_id]
138
-
139
- regex = self.__compile_regexes(ONELINERS)
140
- matches = regex.findall('\n'.join(multiline_matches))
141
- onliner_snippets = self.__join_matches(matches, ONELINERS)
142
-
143
- regex_id_offset = len(MULTILINERS)
144
- for regex_id in range(len(ONELINERS)):
145
- snippets[regex_id + regex_id_offset] += onliner_snippets[regex_id]
146
-
147
134
  for regex_id in range(len(REGEXES)):
148
135
  test_name = REGEXES[regex_id][REGEX_NAME]
149
136
  self.__create_tests(testrun, suite, test_name, snippets[regex_id])
@@ -62,8 +62,7 @@ if find_spec('django_extensions'):
62
62
 
63
63
  django_toolbar = None
64
64
  django_toolbar_middleware = None
65
- django_toolbar_module_spec = find_spec('debug_toolbar')
66
- if django_toolbar_module_spec:
65
+ if find_spec('debug_toolbar'):
67
66
  DEBUG_TOOLBAR_CONFIG = {
68
67
  'JQUERY_URL': '',
69
68
  'SHOW_COLLAPSED': True,
@@ -76,11 +75,8 @@ if django_toolbar_module_spec:
76
75
 
77
76
 
78
77
  django_allauth_middleware = None
79
- try:
80
- import allauth.account.middleware # noqa: F401
78
+ if find_spec('allauth'):
81
79
  django_allauth_middleware = 'allauth.account.middleware.AccountMiddleware'
82
- except ImportError:
83
- pass
84
80
 
85
81
 
86
82
  __apps__ = [
@@ -0,0 +1 @@
1
+ __version__ = '1.87'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: squad
3
- Version: 1.86.3
3
+ Version: 1.87
4
4
  Summary: Software Quality Dashboard
5
5
  Home-page: https://github.com/Linaro/squad
6
6
  Author: Antonio Terceiro
@@ -32,8 +32,10 @@ Requires-Dist: Markdown
32
32
  Requires-Dist: msgpack>=0.5.0
33
33
  Requires-Dist: python_dateutil
34
34
  Requires-Dist: PyYAML>=5.1
35
+ Requires-Dist: PyJWT
35
36
  Requires-Dist: pyzmq
36
37
  Requires-Dist: requests
38
+ Requires-Dist: setuptools
37
39
  Requires-Dist: sqlparse
38
40
  Requires-Dist: svgwrite
39
41
  Requires-Dist: whitenoise
@@ -620,6 +620,7 @@ test/plugins/test_plugin.py
620
620
  test/plugins/linux_log_parser/kasan.log
621
621
  test/plugins/linux_log_parser/kernel_bug_and_invalid_opcode.log
622
622
  test/plugins/linux_log_parser/kernelexceptiontrace.log
623
+ test/plugins/linux_log_parser/kernelexceptiontrace_without_squarebraces.log
623
624
  test/plugins/linux_log_parser/kernelpanic.log
624
625
  test/plugins/linux_log_parser/kfence.log
625
626
  test/plugins/linux_log_parser/multiple_issues_dmesg.log
@@ -22,8 +22,10 @@ Markdown
22
22
  msgpack>=0.5.0
23
23
  python_dateutil
24
24
  PyYAML>=5.1
25
+ PyJWT
25
26
  pyzmq
26
27
  requests
28
+ setuptools
27
29
  sqlparse
28
30
  svgwrite
29
31
  whitenoise
@@ -138,6 +138,324 @@ class TuxSuiteTest(TestCase):
138
138
  expected = urljoin(TUXSUITE_URL, endpoint)
139
139
  self.assertEqual(expected, self.tuxsuite.job_url(testjob))
140
140
 
141
+ def test_parse_build_metadata(self):
142
+ results = {
143
+ 'download_url': 'http://builds.tuxbuild.com/123',
144
+ }
145
+
146
+ metadata = {
147
+ "example_metadata": "blah",
148
+ }
149
+
150
+ metadata_file = {
151
+ "build": {
152
+ "environment": {
153
+ "KBUILD_BUILD_HOST": "tuxmake",
154
+ "KBUILD_BUILD_TIMESTAMP": "@1715675769",
155
+ "KBUILD_BUILD_USER": "tuxmake",
156
+ "KCFLAGS": "-ffile-prefix-map=/home/tuxbuild/.cache/tuxmake/builds/2/build/=",
157
+ "SCCACHE_BUCKET": "sccache.tuxbuild.com",
158
+ },
159
+ "jobs": 8,
160
+ "kconfig": "clps711x_defconfig",
161
+ "kconfig_add": [],
162
+ "reproducer_cmdline": [
163
+ "tuxmake",
164
+ "--target-arch=arm",
165
+ "--kconfig=clps711x_defconfig",
166
+ "--toolchain=clang-18",
167
+ "--wrapper=sccache",
168
+ "--environment=KBUILD_BUILD_TIMESTAMP=@1715675769",
169
+ "--environment=KBUILD_BUILD_USER=tuxmake",
170
+ "--environment=KBUILD_BUILD_HOST=tuxmake",
171
+ "--environment=KCFLAGS=-ffile-prefix-map=/home/tuxbuild/.cache/tuxmake/builds/2/build/=",
172
+ "--environment=SCCACHE_BUCKET=sccache.tuxbuild.com",
173
+ "--runtime=podman",
174
+ "--image=855116176053.dkr.ecr.us-east-1.amazonaws.com/tuxmake/arm_clang-18",
175
+ "LLVM=1",
176
+ "LLVM_IAS=1",
177
+ "config",
178
+ "default",
179
+ "kernel",
180
+ "xipkernel",
181
+ "modules",
182
+ "dtbs",
183
+ "dtbs-legacy",
184
+ "debugkernel",
185
+ "headers",
186
+ ],
187
+ "runtime": "podman",
188
+ "target_arch": "arm",
189
+ "targets": [
190
+ "config",
191
+ "default",
192
+ "kernel",
193
+ "xipkernel",
194
+ "modules",
195
+ "dtbs",
196
+ "dtbs-legacy",
197
+ "debugkernel",
198
+ "headers",
199
+ ],
200
+ "toolchain": "clang-18",
201
+ "verbose": False,
202
+ "wrapper": "sccache",
203
+ },
204
+ "compiler": {
205
+ "name": "clang",
206
+ "version": "18.1.4",
207
+ "version_full": "Debian clang version 18.1.4 (++20240416103102+1deeee3f5da4-1~exp1~20240416223224.98)",
208
+ },
209
+ "hardware": {"cores": 8, "free_disk_space": 58738, "ram": 14974},
210
+ "os": {"name": "Debian GNU/Linux", "version": "11"},
211
+ "resources": {"disk_space": 136},
212
+ "results": {
213
+ "artifacts": {
214
+ "config": ["config"],
215
+ "debugkernel": ["vmlinux.xz", "System.map"],
216
+ "default": [],
217
+ "dtbs": ["dtbs.tar.xz"],
218
+ "dtbs-legacy": ["dtbs.tar.xz"],
219
+ "headers": ["headers.tar.xz"],
220
+ "kernel": ["zImage"],
221
+ "log": ["build.log", "build-debug.log"],
222
+ "modules": [],
223
+ "xipkernel": [],
224
+ },
225
+ "duration": {
226
+ "build": 186.54648447036743,
227
+ "cleanup": 1.350804090499878,
228
+ "copy": 0.006262302398681641,
229
+ "metadata": 0.7471709251403809,
230
+ "prepare": 70.95046162605286,
231
+ "validate": 0.00015616416931152344,
232
+ },
233
+ "errors": 0,
234
+ "status": "PASS",
235
+ "targets": {
236
+ "config": {"duration": 4.253992795944214, "status": "PASS"},
237
+ "debugkernel": {
238
+ "duration": 2.8869056701660156,
239
+ "status": "PASS",
240
+ },
241
+ "default": {"duration": 167.16954827308655, "status": "PASS"},
242
+ "dtbs": {"duration": 2.950917959213257, "status": "PASS"},
243
+ "dtbs-legacy": {
244
+ "duration": 0.525646448135376,
245
+ "status": "SKIP",
246
+ },
247
+ "headers": {"duration": 5.598230361938477, "status": "PASS"},
248
+ "kernel": {"duration": 2.525160551071167, "status": "PASS"},
249
+ "modules": {"duration": 0.32180237770080566, "status": "SKIP"},
250
+ "xipkernel": {"duration": 0.314225435256958, "status": "SKIP"},
251
+ },
252
+ "warnings": 0,
253
+ },
254
+ "runtime": {
255
+ "image_digest": "855116176053.dkr.ecr.us-east-1.amazonaws.com/tuxmake/arm_clang-18@sha256:087c232cbeee1d92a541614852bbd298ef8406315c1461b67692b29d4fb2090a",
256
+ "image_name": "855116176053.dkr.ecr.us-east-1.amazonaws.com/tuxmake/arm_clang-18",
257
+ "image_tag": None,
258
+ "version": "podman version 4.6.2",
259
+ },
260
+ "sccache": {"cache_hits": 66, "cache_misses": 0},
261
+ "source": {
262
+ "kernelrelease": "6.9.0-next-20240514",
263
+ "kernelversion": "6.9.0",
264
+ },
265
+ "system_map": {"text_offset": "0xc0008000"},
266
+ "tools": {
267
+ "ar": "GNU ar (GNU Binutils for Debian) 2.35.2",
268
+ "as": "GNU assembler (GNU Binutils for Debian) 2.35.2",
269
+ "bc": "bc 1.07.1",
270
+ "bison": "bison (GNU Bison) 3.7.5",
271
+ "ccache": "ccache version 4.2",
272
+ "clang": "Debian clang version 18.1.4 (++20240416103102+1deeee3f5da4-1~exp1~20240416223224.98)",
273
+ "depmod": "kmod version 28",
274
+ "fdformat": "fdformat from util-linux 2.36.1",
275
+ "flex": "flex 2.6.4",
276
+ "gcc": "gcc (Debian 10.2.1-6) 10.2.1 20210110",
277
+ "ld": "GNU ld (GNU Binutils for Debian) 2.35.2",
278
+ "lld": "Debian LLD 18.1.4 (compatible with GNU linkers)",
279
+ "make": "GNU Make 4.3",
280
+ "openssl": "OpenSSL 1.1.1w 11 Sep 2023",
281
+ "pahole": "v1.25",
282
+ "ps": "ps from procps-ng 3.3.17",
283
+ "sccache": "sccache 0.2.9",
284
+ },
285
+ "tuxmake": {"version": "1.23.2"},
286
+ "uname": {
287
+ "kernel": "Linux",
288
+ "kernel_release": "6.5.0-1014-aws",
289
+ "kernel_version": "#14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024",
290
+ "machine": "x86_64",
291
+ "operating_system": "GNU/Linux",
292
+ },
293
+ "vmlinux": {
294
+ "bss_size": 96144,
295
+ "data_size": 806948,
296
+ "file_size": 6236152,
297
+ "text_size": 4193860,
298
+ },
299
+ }
300
+
301
+ expected = {
302
+ "example_metadata": "blah",
303
+ "build": {
304
+ "environment": {
305
+ "KBUILD_BUILD_HOST": "tuxmake",
306
+ "KBUILD_BUILD_TIMESTAMP": "@1715675769",
307
+ "KBUILD_BUILD_USER": "tuxmake",
308
+ "KCFLAGS": "-ffile-prefix-map=/home/tuxbuild/.cache/tuxmake/builds/2/build/=",
309
+ "SCCACHE_BUCKET": "sccache.tuxbuild.com",
310
+ },
311
+ "jobs": 8,
312
+ "kconfig": "clps711x_defconfig",
313
+ "kconfig_add": [],
314
+ "reproducer_cmdline": [
315
+ "tuxmake",
316
+ "--target-arch=arm",
317
+ "--kconfig=clps711x_defconfig",
318
+ "--toolchain=clang-18",
319
+ "--wrapper=sccache",
320
+ "--environment=KBUILD_BUILD_TIMESTAMP=@1715675769",
321
+ "--environment=KBUILD_BUILD_USER=tuxmake",
322
+ "--environment=KBUILD_BUILD_HOST=tuxmake",
323
+ "--environment=KCFLAGS=-ffile-prefix-map=/home/tuxbuild/.cache/tuxmake/builds/2/build/=",
324
+ "--environment=SCCACHE_BUCKET=sccache.tuxbuild.com",
325
+ "--runtime=podman",
326
+ "--image=855116176053.dkr.ecr.us-east-1.amazonaws.com/tuxmake/arm_clang-18",
327
+ "LLVM=1",
328
+ "LLVM_IAS=1",
329
+ "config",
330
+ "default",
331
+ "kernel",
332
+ "xipkernel",
333
+ "modules",
334
+ "dtbs",
335
+ "dtbs-legacy",
336
+ "debugkernel",
337
+ "headers",
338
+ ],
339
+ "runtime": "podman",
340
+ "target_arch": "arm",
341
+ "targets": [
342
+ "config",
343
+ "default",
344
+ "kernel",
345
+ "xipkernel",
346
+ "modules",
347
+ "dtbs",
348
+ "dtbs-legacy",
349
+ "debugkernel",
350
+ "headers",
351
+ ],
352
+ "toolchain": "clang-18",
353
+ "verbose": False,
354
+ "wrapper": "sccache",
355
+ },
356
+ "compiler": {
357
+ "name": "clang",
358
+ "version": "18.1.4",
359
+ "version_full": "Debian clang version 18.1.4 (++20240416103102+1deeee3f5da4-1~exp1~20240416223224.98)",
360
+ },
361
+ "hardware": {"cores": 8, "free_disk_space": 58738, "ram": 14974},
362
+ "os": {"name": "Debian GNU/Linux", "version": "11"},
363
+ "resources": {"disk_space": 136},
364
+ "results": {
365
+ "artifacts": {
366
+ "config": ["config"],
367
+ "debugkernel": ["vmlinux.xz", "System.map"],
368
+ "default": [],
369
+ "dtbs": ["dtbs.tar.xz"],
370
+ "dtbs-legacy": ["dtbs.tar.xz"],
371
+ "headers": ["headers.tar.xz"],
372
+ "kernel": ["zImage"],
373
+ "log": ["build.log", "build-debug.log"],
374
+ "modules": [],
375
+ "xipkernel": [],
376
+ },
377
+ "duration": {
378
+ "build": 186.54648447036743,
379
+ "cleanup": 1.350804090499878,
380
+ "copy": 0.006262302398681641,
381
+ "metadata": 0.7471709251403809,
382
+ "prepare": 70.95046162605286,
383
+ "validate": 0.00015616416931152344,
384
+ },
385
+ "errors": 0,
386
+ "status": "PASS",
387
+ "targets": {
388
+ "config": {"duration": 4.253992795944214, "status": "PASS"},
389
+ "debugkernel": {
390
+ "duration": 2.8869056701660156,
391
+ "status": "PASS",
392
+ },
393
+ "default": {"duration": 167.16954827308655, "status": "PASS"},
394
+ "dtbs": {"duration": 2.950917959213257, "status": "PASS"},
395
+ "dtbs-legacy": {
396
+ "duration": 0.525646448135376,
397
+ "status": "SKIP",
398
+ },
399
+ "headers": {"duration": 5.598230361938477, "status": "PASS"},
400
+ "kernel": {"duration": 2.525160551071167, "status": "PASS"},
401
+ "modules": {"duration": 0.32180237770080566, "status": "SKIP"},
402
+ "xipkernel": {"duration": 0.314225435256958, "status": "SKIP"},
403
+ },
404
+ "warnings": 0,
405
+ },
406
+ "runtime": {
407
+ "image_digest": "855116176053.dkr.ecr.us-east-1.amazonaws.com/tuxmake/arm_clang-18@sha256:087c232cbeee1d92a541614852bbd298ef8406315c1461b67692b29d4fb2090a",
408
+ "image_name": "855116176053.dkr.ecr.us-east-1.amazonaws.com/tuxmake/arm_clang-18",
409
+ "image_tag": None,
410
+ "version": "podman version 4.6.2",
411
+ },
412
+ "sccache": {"cache_hits": 66, "cache_misses": 0},
413
+ "source": {
414
+ "kernelrelease": "6.9.0-next-20240514",
415
+ "kernelversion": "6.9.0",
416
+ },
417
+ "system_map": {"text_offset": "0xc0008000"},
418
+ "tools": {
419
+ "ar": "GNU ar (GNU Binutils for Debian) 2.35.2",
420
+ "as": "GNU assembler (GNU Binutils for Debian) 2.35.2",
421
+ "bc": "bc 1.07.1",
422
+ "bison": "bison (GNU Bison) 3.7.5",
423
+ "ccache": "ccache version 4.2",
424
+ "clang": "Debian clang version 18.1.4 (++20240416103102+1deeee3f5da4-1~exp1~20240416223224.98)",
425
+ "depmod": "kmod version 28",
426
+ "fdformat": "fdformat from util-linux 2.36.1",
427
+ "flex": "flex 2.6.4",
428
+ "gcc": "gcc (Debian 10.2.1-6) 10.2.1 20210110",
429
+ "ld": "GNU ld (GNU Binutils for Debian) 2.35.2",
430
+ "lld": "Debian LLD 18.1.4 (compatible with GNU linkers)",
431
+ "make": "GNU Make 4.3",
432
+ "openssl": "OpenSSL 1.1.1w 11 Sep 2023",
433
+ "pahole": "v1.25",
434
+ "ps": "ps from procps-ng 3.3.17",
435
+ "sccache": "sccache 0.2.9",
436
+ },
437
+ "tuxmake": {"version": "1.23.2"},
438
+ "uname": {
439
+ "kernel": "Linux",
440
+ "kernel_release": "6.5.0-1014-aws",
441
+ "kernel_version": "#14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024",
442
+ "machine": "x86_64",
443
+ "operating_system": "GNU/Linux",
444
+ },
445
+ "vmlinux": {
446
+ "bss_size": 96144,
447
+ "data_size": 806948,
448
+ "file_size": 6236152,
449
+ "text_size": 4193860,
450
+ },
451
+ }
452
+
453
+ with requests_mock.Mocker() as fake_request:
454
+ fake_request.get(results["download_url"] + '/' + 'metadata.json', json=metadata_file)
455
+ self.tuxsuite.update_metadata_from_file(results=results, metadata=metadata)
456
+
457
+ self.assertEqual(expected, metadata)
458
+
141
459
  def test_parse_test_no_metadata(self):
142
460
  results = {
143
461
  'download_url': 'http://builds.tuxbuild.com/123',
@@ -2898,6 +2898,8 @@ version: 13_ #
2898
2898
  : _ #
2899
2899
  # # futex_wait_wouldblock Test the unexpected futex value in FUTEX_WAIT
2900
2900
  futex_wait_wouldblock: Test_the #
2901
+ -wait-wouldblock[ 347.423535] invalid opcode: 0000 [#1] SMP PTI
2902
+ [ 347.416924] kernel BUG at /usr/src/kernel/arch/x86/kvm/mmu/mmu.c:3722!
2901
2903
  # ok 1 futex[ 347.411307] ------------[ cut here ]------------
2902
2904
  [ 347.416924] kernel BUG at /usr/src/kernel/arch/x86/kvm/mmu/mmu.c:3722!
2903
2905
  -wait-wouldblock[ 347.423535] invalid opcode: 0000 [#1] SMP PTI
@@ -0,0 +1,53 @@
1
+ [ 1.143924] ------------ cut here ------------"}
2
+ [ 1.146063] WARNING: CPU: 0 PID: 1 at kernel/smp.c:912 smp_call_function_many_cond+0x3c4/0x3c8"}
3
+ [ 1.146677] Modules linked in:"}
4
+ [ 1.147156] CPU: 0 PID: 1 Comm: init Not tainted 6.0.0-rc3-next-20220901 #1"}
5
+ [ 1.147363] Hardware name: Generic DT based system"}
6
+ [ 1.147556] unwind_backtrace from show_stack+0x18/0x1c"}
7
+ [ 1.147692] show_stack from dump_stack_lvl+0x58/0x70"}
8
+ [ 1.147776] dump_stack_lvl from __warn+0xd0/0x144"}
9
+ [ 1.147857] __warn from warn_slowpath_fmt+0x64/0xbc"}
10
+ [ 1.147941] warn_slowpath_fmt from smp_call_function_many_cond+0x3c4/0x3c8"}
11
+ [ 1.148071] smp_call_function_many_cond from smp_call_function+0x34/0x3c"}
12
+ [ 1.148177] smp_call_function from set_memory_valid+0x7c/0x9c"}
13
+ [ 1.148278] set_memory_valid from kfence_guarded_free+0x284/0x4b0"}
14
+ [ 1.148400] kfence_guarded_free from __kmem_cache_free+0x228/0x2ec"}
15
+ [ 1.148511] __kmem_cache_free from detach_buf_split+0x130/0x164"}
16
+ [ 1.148614] detach_buf_split from virtqueue_get_buf_ctx_split+0x88/0x170"}
17
+ [ 1.148723] virtqueue_get_buf_ctx_split from virtblk_done+0x70/0xe4"}
18
+ [ 1.148833] virtblk_done from vring_interrupt+0x90/0xfc"}
19
+ [ 1.148943] vring_interrupt from vm_interrupt+0x6c/0xa4"}
20
+ [ 1.149033] vm_interrupt from __handle_irq_event_percpu+0xa0/0x1fc"}
21
+ [ 1.149138] __handle_irq_event_percpu from handle_irq_event+0x4c/0x94"}
22
+ [ 1.149250] handle_irq_event from handle_fasteoi_irq+0xa0/0x194"}
23
+ [ 1.149337] handle_fasteoi_irq from generic_handle_domain_irq+0x30/0x40"}
24
+ [ 1.149448] generic_handle_domain_irq from gic_handle_irq+0x54/0xcc"}
25
+ [ 1.149553] gic_handle_irq from generic_handle_arch_irq+0x34/0x44"}
26
+ [ 1.149653] generic_handle_arch_irq from call_with_stack+0x18/0x20"}
27
+ [ 1.149759] call_with_stack from __irq_svc+0x9c/0xb8"}
28
+ [ 1.149881] Exception stack(0xf0825bd0 to 0xf0825c18)"}
29
+ [ 1.150095] 5bc0: 00000000 00000000 00000000 f0825cac"}
30
+ [ 1.150231] 5be0: 00000000 f0825cac c2f66800 c3891e00 c2f66800 c2f5b2d8 f0825c54 00000000"}
31
+ [ 1.150353] 5c00: 00000000 f0825c20 c0a6298c c079cdac 60000113 ffffffff"}
32
+ [ 1.150466] __irq_svc from blk_mq_dispatch_rq_list+0x424/0x934"}
33
+ [ 1.150563] blk_mq_dispatch_rq_list from blk_mq_do_dispatch_sched+0x2e8/0x340"}
34
+ [ 1.150674] blk_mq_do_dispatch_sched from __blk_mq_sched_dispatch_requests+0xbc/0x164"}
35
+ [ 1.150799] __blk_mq_sched_dispatch_requests from blk_mq_sched_dispatch_requests+0x3c/0x64"}
36
+ [ 1.150931] blk_mq_sched_dispatch_requests from __blk_mq_run_hw_queue+0x50/0xf0"}
37
+ [ 1.151051] __blk_mq_run_hw_queue from blk_mq_sched_insert_requests+0x7c/0x1c8"}
38
+ [ 1.151167] blk_mq_sched_insert_requests from blk_mq_flush_plug_list+0x114/0x2e0"}
39
+ [ 1.151282] blk_mq_flush_plug_list from __blk_flush_plug+0xdc/0x11c"}
40
+ [ 1.151382] __blk_flush_plug from blk_finish_plug+0x24/0x34"}
41
+ [ 1.151472] blk_finish_plug from read_pages+0x1c4/0x2cc"}
42
+ [ 1.151564] read_pages from page_cache_ra_unbounded+0x100/0x1a4"}
43
+ [ 1.151667] page_cache_ra_unbounded from filemap_fault+0x628/0x9dc"}
44
+ [ 1.151766] filemap_fault from __do_fault+0x40/0x170"}
45
+ [ 1.151848] __do_fault from handle_mm_fault+0xa84/0xee0"}
46
+ [ 1.151940] handle_mm_fault from do_page_fault+0x190/0x4a8"}
47
+ [ 1.152035] do_page_fault from do_PrefetchAbort+0x40/0x94"}
48
+ [ 1.152125] do_PrefetchAbort from ret_from_exception+0x0/0x1c"}
49
+ [ 1.152223] Exception stack(0xf0825fb0 to 0xf0825ff8)"}
50
+ [ 1.152309] 5fa0: b6f32600 b6f0a141 b6f0a269 b6f04fa1"}
51
+ [ 1.152442] 5fc0: b6f32010 b6f31d00 b6f32600 be963e88 00000000 b6f02000 b6f024a4 b6f32010"}
52
+ [ 1.152569] 5fe0: 0000000b be963e80 b6f142d9 b6f0e648 60000030 ffffffff"}
53
+ [ 1.152705] ---[ end trace 0000000000000000 ]---"}
@@ -920,11 +920,11 @@ See 'systemctl status systemd-resolved.service' for details.
920
920
  See 'systemctl status systemd-resolved.service' for details.
921
921
  [ OK ] Stopped Network Name Resolution.
922
922
  Starting Network Name Resolution...
923
+ [ 14.461360] Internal error: Oops - BUG: 0 [#0] PREEMPT SMP
923
924
  [ 14.436996] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
924
925
  [ 14.446502] ------------[ cut here ]------------
925
926
  [ 14.451213] kernel BUG at /srv/oe/build/tmp-rpb-glibc/work-shared/hikey/kernel-source/kernel/sched/walt.c:109!
926
- [ 14.461360] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
927
- [ 114.461360] Internal error: Oops - BUG: 1 [#1] PREEMPT SMP
927
+ [ 114.461360] Internal error: Oops - BUG: 99 [#99] PREEMPT SMP
928
928
  [ 14.466921] Modules linked in:
929
929
  [ 14.470030] CPU: 0 PID: 2270 Comm: NetworkManager Not tainted 4.4.89-01529-gb29bace #1
930
930
  [ 14.478057] Hardware name: HiKey Development Board (DT)
@@ -60,6 +60,18 @@ class TestLinuxLogParser(TestCase):
60
60
  self.assertIn('5fe0: 0000000b be963e80 b6f142d9 b6f0e648 60000030 ffffffff"}', test.log)
61
61
  self.assertNotIn('Internal error: Oops', test.log)
62
62
 
63
+ def test_detects_kernel_exception_without_square_braces(self):
64
+ testrun = self.new_testrun('kernelexceptiontrace_without_squarebraces.log')
65
+ self.plugin.postprocess_testrun(testrun)
66
+
67
+ test = testrun.tests.get(suite__slug='log-parser-test', metadata__name='check-kernel-exception')
68
+ self.assertFalse(test.result)
69
+ self.assertIsNotNone(test.log)
70
+ self.assertNotIn('Booting Linux', test.log)
71
+ self.assertIn('WARNING: CPU: 0 PID: 1 at kernel/smp.c:912 smp_call_function_many_cond+0x3c4/0x3c8', test.log)
72
+ self.assertIn('5fe0: 0000000b be963e80 b6f142d9 b6f0e648 60000030 ffffffff"}', test.log)
73
+ self.assertNotIn('Internal error: Oops', test.log)
74
+
63
75
  def test_detects_kernel_kasan(self):
64
76
  testrun = self.new_testrun('kasan.log')
65
77
  self.plugin.postprocess_testrun(testrun)
@@ -232,7 +244,7 @@ class TestLinuxLogParser(TestCase):
232
244
  self.assertFalse(test.result)
233
245
  self.assertIsNotNone(test.log)
234
246
  self.assertNotIn('Linux version 4.4.89-01529-gb29bace', test.log)
235
- self.assertIn('Internal error: Oops - BUG: 0 [#1] PREEMPT SMP', test.log)
247
+ self.assertIn('Internal error: Oops - BUG: 0 [#0] PREEMPT SMP', test.log)
236
248
  self.assertNotIn('Kernel panic', test.log)
237
249
 
238
250
  def test_sha_name(self):
@@ -243,12 +255,12 @@ class TestLinuxLogParser(TestCase):
243
255
  self.assertFalse(test.result)
244
256
  self.assertIsNotNone(test.log)
245
257
  self.assertNotIn('Linux version 4.4.89-01529-gb29bace', test.log)
246
- self.assertIn('Internal error: Oops - BUG: 0 [#1] PREEMPT SMP', test.log)
258
+ self.assertIn('Internal error: Oops - BUG: 0 [#0] PREEMPT SMP', test.log)
247
259
  self.assertNotIn('Kernel panic', test.log)
248
260
 
249
261
  # Now check if a test with sha digest in the name
250
262
  test = testrun.tests.get(suite__slug='log-parser-boot', metadata__name='check-kernel-oops-a1acf2f0467782c9c2f6aeadb1d1d3cec136642b13d7231824a66ef63ee62220')
251
263
  self.assertFalse(test.result)
252
264
  self.assertIsNotNone(test.log)
253
- self.assertIn('Internal error: Oops - BUG: 0 [#1] PREEMPT SMP', test.log)
254
- self.assertIn('Internal error: Oops - BUG: 1 [#1] PREEMPT SMP', test.log)
265
+ self.assertIn('Internal error: Oops - BUG: 0 [#0] PREEMPT SMP', test.log)
266
+ self.assertNotIn('Internal error: Oops - BUG: 99 [#1] PREEMPT SMP', test.log)
@@ -1 +0,0 @@
1
- __version__ = '1.86.3'
File without changes
File without changes
File without changes
File without changes
File without changes