€•heŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ)/translations/zh_CN/gpu/automated_testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/zh_TW/gpu/automated_testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/it_IT/gpu/automated_testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/ja_JP/gpu/automated_testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/ko_KR/gpu/automated_testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/pt_BR/gpu/automated_testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/sp_SP/gpu/automated_testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ!SPDX-License-Identifier: GPL-2.0+”h]”hŒ!SPDX-License-Identifier: GPL-2.0+”…””}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒC/var/lib/git/docbuild/linux/Documentation/gpu/automated_testing.rst”h´KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ&Automated testing of the DRM subsystem”h]”hŒ&Automated testing of the DRM subsystem”…””}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhÉ)”}”(hhh]”(hÎ)”}”(hŒ Introduction”h]”hŒ Introduction”…””}”(hhàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÝh²hh³hÇh´KubhŒ paragraph”“”)”}”(hX?Making sure that changes to the core or drivers don't introduce regressions can be very time-consuming when lots of different hardware configurations need to be tested. Moreover, it isn't practical for each person interested in this testing to have to acquire and maintain what can be a considerable amount of hardware.”h]”hXCMaking sure that changes to the core or drivers don’t introduce regressions can be very time-consuming when lots of different hardware configurations need to be tested. Moreover, it isn’t practical for each person interested in this testing to have to acquire and maintain what can be a considerable amount of hardware.”…””}”(hhðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K hhÝh²hubhï)”}”(hŒ¦Also, it is desirable for developers to check for regressions in their code by themselves, instead of relying on the maintainers to find them and then reporting back.”h]”hŒ¦Also, it is desirable for developers to check for regressions in their code by themselves, instead of relying on the maintainers to find them and then reporting back.”…””}”(hhþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KhhÝh²hubhï)”}”(hXThere are facilities in gitlab.freedesktop.org to automatically test Mesa that can be used as well for testing the DRM subsystem. This document explains how people interested in testing it can use this shared infrastructure to save quite some time and effort.”h]”hXThere are facilities in gitlab.freedesktop.org to automatically test Mesa that can be used as well for testing the DRM subsystem. This document explains how people interested in testing it can use this shared infrastructure to save quite some time and effort.”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KhhÝh²hubeh}”(h]”Œ introduction”ah ]”h"]”Œ introduction”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KubhÉ)”}”(hhh]”(hÎ)”}”(hŒRelevant files”h]”hŒRelevant files”…””}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj"h²hh³hÇh´KubhÉ)”}”(hhh]”(hÎ)”}”(hŒ drivers/gpu/drm/ci/gitlab-ci.yml”h]”hŒ drivers/gpu/drm/ci/gitlab-ci.yml”…””}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj3h²hh³hÇh´Kubhï)”}”(hŒèThis is the root configuration file for GitLab CI. Among other less interesting bits, it specifies the specific version of the scripts to be used. There are some variables that can be modified to change the behavior of the pipeline:”h]”hŒèThis is the root configuration file for GitLab CI. Among other less interesting bits, it specifies the specific version of the scripts to be used. There are some variables that can be modified to change the behavior of the pipeline:”…””}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K hj3h²hubhŒdefinition_list”“”)”}”(hhh]”(hŒdefinition_list_item”“”)”}”(hŒUDRM_CI_PROJECT_PATH Repository that contains the Mesa software infrastructure for CI ”h]”(hŒterm”“”)”}”(hŒDRM_CI_PROJECT_PATH”h]”hŒDRM_CI_PROJECT_PATH”…””}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]h³hÇh´K%hjYubhŒ definition”“”)”}”(hhh]”hï)”}”(hŒ@Repository that contains the Mesa software infrastructure for CI”h]”hŒ@Repository that contains the Mesa software infrastructure for CI”…””}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K%hjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jmhjYubeh}”(h]”h ]”h"]”h$]”h&]”uh1jWh³hÇh´K%hjTubjX)”}”(hŒDDRM_CI_COMMIT_SHA A particular revision to use from that repository ”h]”(j^)”}”(hŒDRM_CI_COMMIT_SHA”h]”hŒDRM_CI_COMMIT_SHA”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]h³hÇh´K(hjŒubjn)”}”(hhh]”hï)”}”(hŒ1A particular revision to use from that repository”h]”hŒ1A particular revision to use from that repository”…””}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K(hjžubah}”(h]”h ]”h"]”h$]”h&]”uh1jmhjŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jWh³hÇh´K(hjTh²hubjX)”}”(hŒAUPSTREAM_REPO URL to git repository containing the target branch ”h]”(j^)”}”(hŒ UPSTREAM_REPO”h]”hŒ UPSTREAM_REPO”…””}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]h³hÇh´K+hj»ubjn)”}”(hhh]”hï)”}”(hŒ2URL to git repository containing the target branch”h]”hŒ2URL to git repository containing the target branch”…””}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K+hjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jmhj»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jWh³hÇh´K+hjTh²hubjX)”}”(hŒ?TARGET_BRANCH Branch to which this branch is to be merged into ”h]”(j^)”}”(hŒ TARGET_BRANCH”h]”hŒ TARGET_BRANCH”…””}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]h³hÇh´K.hjêubjn)”}”(hhh]”hï)”}”(hŒ0Branch to which this branch is to be merged into”h]”hŒ0Branch to which this branch is to be merged into”…””}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K.hjüubah}”(h]”h ]”h"]”h$]”h&]”uh1jmhjêubeh}”(h]”h ]”h"]”h$]”h&]”uh1jWh³hÇh´K.hjTh²hubjX)”}”(hŒhIGT_VERSION Revision of igt-gpu-tools being used, from https://gitlab.freedesktop.org/drm/igt-gpu-tools ”h]”(j^)”}”(hŒ IGT_VERSION”h]”hŒ IGT_VERSION”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]h³hÇh´K2hjubjn)”}”(hhh]”hï)”}”(hŒ[Revision of igt-gpu-tools being used, from https://gitlab.freedesktop.org/drm/igt-gpu-tools”h]”(hŒ+Revision of igt-gpu-tools being used, from ”…””}”(hj.h²hh³Nh´NubhŒ reference”“”)”}”(hŒ0https://gitlab.freedesktop.org/drm/igt-gpu-tools”h]”hŒ0https://gitlab.freedesktop.org/drm/igt-gpu-tools”…””}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j:uh1j6hj.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K1hj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jmhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jWh³hÇh´K2hjTh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jRhj3h²hh³hÇh´Nubeh}”(h]”Œ drivers-gpu-drm-ci-gitlab-ci-yml”ah ]”h"]”Œ drivers/gpu/drm/ci/gitlab-ci.yml”ah$]”h&]”uh1hÈhj"h²hh³hÇh´KubhÉ)”}”(hhh]”(hÎ)”}”(hŒdrivers/gpu/drm/ci/testlist.txt”h]”hŒdrivers/gpu/drm/ci/testlist.txt”…””}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjgh²hh³hÇh´K5ubhï)”}”(hŒaIGT tests to be run on all drivers (unless mentioned in a driver's \*-skips.txt file, see below).”h]”hŒcIGT tests to be run on all drivers (unless mentioned in a driver’s *-skips.txt file, see below).”…””}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K7hjgh²hubeh}”(h]”Œdrivers-gpu-drm-ci-testlist-txt”ah ]”h"]”Œdrivers/gpu/drm/ci/testlist.txt”ah$]”h&]”uh1hÈhj"h²hh³hÇh´K5ubhÉ)”}”(hhh]”(hÎ)”}”(hŒ:drivers/gpu/drm/ci/${DRIVER_NAME}-${HW_REVISION}-fails.txt”h]”hŒ:drivers/gpu/drm/ci/${DRIVER_NAME}-${HW_REVISION}-fails.txt”…””}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjŽh²hh³hÇh´K;ubhï)”}”(hŒLLists the known failures for a given driver on a specific hardware revision.”h]”hŒLLists the known failures for a given driver on a specific hardware revision.”…””}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K=hjŽh²hubeh}”(h]”Œ4drivers-gpu-drm-ci-driver-name-hw-revision-fails-txt”ah ]”h"]”Œ:drivers/gpu/drm/ci/${driver_name}-${hw_revision}-fails.txt”ah$]”h&]”uh1hÈhj"h²hh³hÇh´K;ubhÉ)”}”(hhh]”(hÎ)”}”(hŒ;drivers/gpu/drm/ci/${DRIVER_NAME}-${HW_REVISION}-flakes.txt”h]”hŒ;drivers/gpu/drm/ci/${DRIVER_NAME}-${HW_REVISION}-flakes.txt”…””}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjµh²hh³hÇh´K@ubhï)”}”(hŒ¿Lists the tests that for a given driver on a specific hardware revision are known to behave unreliably. These tests won't cause a job to fail regardless of the result. They will still be run.”h]”hŒÁLists the tests that for a given driver on a specific hardware revision are known to behave unreliably. These tests won’t cause a job to fail regardless of the result. They will still be run.”…””}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KBhjµh²hubhï)”}”(hXBEach new flake entry must be associated with a link to the email reporting the bug to the author of the affected driver or the relevant GitLab issue. The entry must also include the board name or Device Tree name, the first kernel version affected, the IGT version used for tests, and an approximation of the failure rate.”h]”hXBEach new flake entry must be associated with a link to the email reporting the bug to the author of the affected driver or the relevant GitLab issue. The entry must also include the board name or Device Tree name, the first kernel version affected, the IGT version used for tests, and an approximation of the failure rate.”…””}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KFhjµh²hubhï)”}”(hŒ4They should be provided under the following format::”h]”hŒ3They should be provided under the following format:”…””}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KKhjµh²hubhŒ literal_block”“”)”}”(hŒ# Bug Report: $LORE_URL_OR_GITLAB_ISSUE # Board Name: broken-board.dtb # Linux Version: 6.6-rc1 # IGT Version: 1.28-gd2af13d9f # Failure Rate: 100 flaky-test”h]”hŒ# Bug Report: $LORE_URL_OR_GITLAB_ISSUE # Board Name: broken-board.dtb # Linux Version: 6.6-rc1 # IGT Version: 1.28-gd2af13d9f # Failure Rate: 100 flaky-test”…””}”hjòsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jðh³hÇh´KMhjµh²hubhï)”}”(hX9Use the appropriate link below to create a GitLab issue: amdgpu driver: https://gitlab.freedesktop.org/drm/amd/-/issues i915 driver: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues msm driver: https://gitlab.freedesktop.org/drm/msm/-/issues xe driver: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues”h]”(hŒHUse the appropriate link below to create a GitLab issue: amdgpu driver: ”…””}”(hjh²hh³Nh´Nubj7)”}”(hŒ/https://gitlab.freedesktop.org/drm/amd/-/issues”h]”hŒ/https://gitlab.freedesktop.org/drm/amd/-/issues”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j uh1j6hjubhŒ i915 driver: ”…””}”(hjh²hh³Nh´Nubj7)”}”(hŒ7https://gitlab.freedesktop.org/drm/i915/kernel/-/issues”h]”hŒ7https://gitlab.freedesktop.org/drm/i915/kernel/-/issues”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”juh1j6hjubhŒ msm driver: ”…””}”(hjh²hh³Nh´Nubj7)”}”(hŒ/https://gitlab.freedesktop.org/drm/msm/-/issues”h]”hŒ/https://gitlab.freedesktop.org/drm/msm/-/issues”…””}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j0uh1j6hjubhŒ xe driver: ”…””}”(hjh²hh³Nh´Nubj7)”}”(hŒ5https://gitlab.freedesktop.org/drm/xe/kernel/-/issues”h]”hŒ5https://gitlab.freedesktop.org/drm/xe/kernel/-/issues”…””}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jCuh1j6hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KThjµh²hubeh}”(h]”Œ5drivers-gpu-drm-ci-driver-name-hw-revision-flakes-txt”ah ]”h"]”Œ;drivers/gpu/drm/ci/${driver_name}-${hw_revision}-flakes.txt”ah$]”h&]”uh1hÈhj"h²hh³hÇh´K@ubhÉ)”}”(hhh]”(hÎ)”}”(hŒ:drivers/gpu/drm/ci/${DRIVER_NAME}-${HW_REVISION}-skips.txt”h]”hŒ:drivers/gpu/drm/ci/${DRIVER_NAME}-${HW_REVISION}-skips.txt”…””}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj^h²hh³hÇh´K[ubhï)”}”(hŒÝLists the tests that won't be run for a given driver on a specific hardware revision. These are usually tests that interfere with the running of the test list due to hanging the machine, causing OOM, taking too long, etc.”h]”hŒßLists the tests that won’t be run for a given driver on a specific hardware revision. These are usually tests that interfere with the running of the test list due to hanging the machine, causing OOM, taking too long, etc.”…””}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K]hj^h²hubeh}”(h]”Œ4drivers-gpu-drm-ci-driver-name-hw-revision-skips-txt”ah ]”h"]”Œ:drivers/gpu/drm/ci/${driver_name}-${hw_revision}-skips.txt”ah$]”h&]”uh1hÈhj"h²hh³hÇh´K[ubeh}”(h]”Œrelevant-files”ah ]”h"]”Œrelevant files”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KubhÉ)”}”(hhh]”(hÎ)”}”(hŒ,How to enable automated testing on your tree”h]”hŒ,How to enable automated testing on your tree”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjh²hh³hÇh´Kcubhï)”}”(hŒS1. Create a Linux tree in https://gitlab.freedesktop.org/ if you don't have one yet”h]”(hŒ1. Create a Linux tree in ”…””}”(hjžh²hh³Nh´Nubj7)”}”(hŒhttps://gitlab.freedesktop.org/”h]”hŒhttps://gitlab.freedesktop.org/”…””}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j¨uh1j6hjžubhŒ if you don’t have one yet”…””}”(hjžh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kehjh²hubhï)”}”(hŒÈ2. In your kernel repo's configuration (eg. https://gitlab.freedesktop.org/janedoe/linux/-/settings/ci_cd), change the CI/CD configuration file from .gitlab-ci.yml to drivers/gpu/drm/ci/gitlab-ci.yml.”h]”(hŒ.2. In your kernel repo’s configuration (eg. ”…””}”(hj¿h²hh³Nh´Nubj7)”}”(hŒ=https://gitlab.freedesktop.org/janedoe/linux/-/settings/ci_cd”h]”hŒ=https://gitlab.freedesktop.org/janedoe/linux/-/settings/ci_cd”…””}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jÉuh1j6hj¿ubhŒ_), change the CI/CD configuration file from .gitlab-ci.yml to drivers/gpu/drm/ci/gitlab-ci.yml.”…””}”(hj¿h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khhjh²hubhï)”}”(hŒ–3. Request to be added to the drm/ci-ok group so that your user has the necessary privileges to run the CI on https://gitlab.freedesktop.org/drm/ci-ok”h]”(hŒn3. Request to be added to the drm/ci-ok group so that your user has the necessary privileges to run the CI on ”…””}”(hjàh²hh³Nh´Nubj7)”}”(hŒ(https://gitlab.freedesktop.org/drm/ci-ok”h]”hŒ(https://gitlab.freedesktop.org/drm/ci-ok”…””}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jêuh1j6hjàubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kmhjh²hubhï)”}”(hŒ‘4. Next time you push to this repository, you will see a CI pipeline being created (eg. https://gitlab.freedesktop.org/janedoe/linux/-/pipelines)”h]”(hŒX4. Next time you push to this repository, you will see a CI pipeline being created (eg. ”…””}”(hjýh²hh³Nh´Nubj7)”}”(hŒ8https://gitlab.freedesktop.org/janedoe/linux/-/pipelines”h]”hŒ8https://gitlab.freedesktop.org/janedoe/linux/-/pipelines”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”juh1j6hjýubhŒ)”…””}”(hjýh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kphjh²hubhï)”}”(hŒ5. The various jobs will be run and when the pipeline is finished, all jobs should be green unless a regression has been found.”h]”hŒ5. The various jobs will be run and when the pipeline is finished, all jobs should be green unless a regression has been found.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kshjh²hubhï)”}”(hŒŒ6. Warnings in the pipeline indicate that lockdep (see Documentation/locking/lockdep-design.rst) issues have been detected during the tests.”h]”hŒŒ6. Warnings in the pipeline indicate that lockdep (see Documentation/locking/lockdep-design.rst) issues have been detected during the tests.”…””}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kvhjh²hubeh}”(h]”Œ,how-to-enable-automated-testing-on-your-tree”ah ]”h"]”Œ,how to enable automated testing on your tree”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KcubhÉ)”}”(hhh]”(hÎ)”}”(hŒHow to update test expectations”h]”hŒHow to update test expectations”…””}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjBh²hh³hÇh´K|ubhï)”}”(hŒÛIf your changes to the code fix any tests, you will have to remove one or more lines from one or more of the files in drivers/gpu/drm/ci/${DRIVER_NAME}_*_fails.txt, for each of the test platforms affected by the change.”h]”hŒÛIf your changes to the code fix any tests, you will have to remove one or more lines from one or more of the files in drivers/gpu/drm/ci/${DRIVER_NAME}_*_fails.txt, for each of the test platforms affected by the change.”…””}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K~hjBh²hubeh}”(h]”Œhow-to-update-test-expectations”ah ]”h"]”Œhow to update test expectations”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K|ubhÉ)”}”(hhh]”(hÎ)”}”(hŒHow to expand coverage”h]”hŒHow to expand coverage”…””}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjih²hh³hÇh´K…ubhï)”}”(hŒÝIf your code changes make it possible to run more tests (by solving reliability issues, for example), you can remove tests from the flakes and/or skips lists, and then the expected results if there are any known failures.”h]”hŒÝIf your code changes make it possible to run more tests (by solving reliability issues, for example), you can remove tests from the flakes and/or skips lists, and then the expected results if there are any known failures.”…””}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K‡hjih²hubhï)”}”(hŒ¬If there is a need for updating the version of IGT being used (maybe you have added more tests to it), update the IGT_VERSION variable at the top of the gitlab-ci.yml file.”h]”hŒ¬If there is a need for updating the version of IGT being used (maybe you have added more tests to it), update the IGT_VERSION variable at the top of the gitlab-ci.yml file.”…””}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K‹hjih²hubeh}”(h]”Œhow-to-expand-coverage”ah ]”h"]”Œhow to expand coverage”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K…ubhÉ)”}”(hhh]”(hÎ)”}”(hŒ'How to test your changes to the scripts”h]”hŒ'How to test your changes to the scripts”…””}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjžh²hh³hÇh´K‘ubhï)”}”(hX For testing changes to the scripts in the drm-ci repo, change the DRM_CI_PROJECT_PATH and DRM_CI_COMMIT_SHA variables in drivers/gpu/drm/ci/gitlab-ci.yml to match your fork of the project (eg. janedoe/drm-ci). This fork needs to be in https://gitlab.freedesktop.org/.”h]”(hŒëFor testing changes to the scripts in the drm-ci repo, change the DRM_CI_PROJECT_PATH and DRM_CI_COMMIT_SHA variables in drivers/gpu/drm/ci/gitlab-ci.yml to match your fork of the project (eg. janedoe/drm-ci). This fork needs to be in ”…””}”(hj¯h²hh³Nh´Nubj7)”}”(hŒhttps://gitlab.freedesktop.org/”h]”hŒhttps://gitlab.freedesktop.org/”…””}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j¹uh1j6hj¯ubhŒ.”…””}”(hj¯h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K“hjžh²hubeh}”(h]”Œ'how-to-test-your-changes-to-the-scripts”ah ]”h"]”Œ'how to test your changes to the scripts”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K‘ubhÉ)”}”(hhh]”(hÎ)”}”(hŒ1How to incorporate external fixes in your testing”h]”hŒ1How to incorporate external fixes in your testing”…””}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjØh²hh³hÇh´Kšubhï)”}”(hŒñOften, regressions in other trees will prevent testing changes local to the tree under test. These fixes will be automatically merged in during the build jobs from a branch in the target tree that is named as ${TARGET_BRANCH}-external-fixes.”h]”hŒñOften, regressions in other trees will prevent testing changes local to the tree under test. These fixes will be automatically merged in during the build jobs from a branch in the target tree that is named as ${TARGET_BRANCH}-external-fixes.”…””}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KœhjØh²hubhï)”}”(hŒ—If the pipeline is not in a merge request and a branch with the same name exists in the local tree, commits from that branch will be merged in as well.”h]”hŒ—If the pipeline is not in a merge request and a branch with the same name exists in the local tree, commits from that branch will be merged in as well.”…””}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K¡hjØh²hubeh}”(h]”Œ1how-to-incorporate-external-fixes-in-your-testing”ah ]”h"]”Œ1how to incorporate external fixes in your testing”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KšubhÉ)”}”(hhh]”(hÎ)”}”(hŒ8How to deal with automated testing labs that may be down”h]”hŒ8How to deal with automated testing labs that may be down”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj h²hh³hÇh´K¦ubhï)”}”(hŒúIf a hardware farm is down and thus causing pipelines to fail that would otherwise pass, one can disable all jobs that would be submitted to that farm by editing the file at https://gitlab.freedesktop.org/gfx-ci/lab-status/-/blob/main/lab-status.yml.”h]”(hŒ®If a hardware farm is down and thus causing pipelines to fail that would otherwise pass, one can disable all jobs that would be submitted to that farm by editing the file at ”…””}”(hjh²hh³Nh´Nubj7)”}”(hŒKhttps://gitlab.freedesktop.org/gfx-ci/lab-status/-/blob/main/lab-status.yml”h]”hŒKhttps://gitlab.freedesktop.org/gfx-ci/lab-status/-/blob/main/lab-status.yml”…””}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j(uh1j6hjubhŒ.”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K¨hj h²hubeh}”(h]”Œ8how-to-deal-with-automated-testing-labs-that-may-be-down”ah ]”h"]”Œ8how to deal with automated testing labs that may be down”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K¦ubeh}”(h]”Œ&automated-testing-of-the-drm-subsystem”ah ]”h"]”Œ&automated testing of the drm subsystem”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jrŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jLjIjjjŠj‡jdjaj‹jˆj²j¯j[jXj‚jj?j<jfjcj›j˜jÕjÒj jjDjAuŒ nametypes”}”(jL‰j‰jЉjd‰j‹‰j²‰j[‰j‚‰j?‰jf‰j›‰jÕ‰j ‰jD‰uh}”(jIhÊjhÝj‡j"jaj3jˆjgj¯jŽjXjµjj^j<jjcjBj˜jijÒjžjjØjAj uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.