aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci/tracie
Commit message (Collapse)AuthorAgeFilesLines
* ci/tracie: Print the path if the trace isn't found.Eric Anholt2020-06-251-1/+3
| | | | | | | I hit this a few times while setting up CI. Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433>
* ci: Don't call renderdoc's ReplayController.Shutdown()Tomeu Vizoso2020-06-251-1/+0
| | | | | | | | | | If we do, Renderdoc will call eglDestroyContext twice, causing crashes within Mesa. Signed-off-by: Tomeu Vizoso <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433>
* ci: Fix TypoError error when traces in traces.yml is an empty listPablo Saavedra2020-05-182-1/+12
| | | | | | | | | | | | | | | v2: Python's nitpick (Andres) In case of an empty list of traces, the results.yml will contain an empty curly braces. In YAML, an associative array can also be specified by text enclosed in curly braces ({}), This commit also adds the corresponding test to check the behavior of tracie when no traces are added in the traces.yml file. Signed-off-by: Pablo Saavedra <[email protected]> Reviewed-by: Andres Gomez <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>
* ci: Split test_tracie_skips_traces_without_checksum in separate casesPablo Saavedra2020-05-181-1/+18
| | | | | | | | | | | | | | | | | test_tracie_skips_traces_without_checksum does the logic previous to the commit 8546d1dd789b58bd0aff5ca0a231efb35c09c1ac. The traces.yml includes several traces, only the one without checksum is ignored by tracie. As a complementary action, this change adds an new test (test_tracie_only_traces_without_checksum) to verify the behavior for cases where the traces.yml only contains traces without checksum. Finally, test_tracie_skips_traces_without_checksum is renamed as test_tracie_traces_with_and_without_checksum Signed-off-by: Pablo Saavedra <[email protected]> Reviewed-by: Andres Gomez <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>
* ci: Migrate tracie tests done in shell script to pytestPablo Saavedra2020-05-183-154/+186
| | | | | | | | | | | | | | | | | | | | | | | | | v2: Verbatim translation from the original shell script Make the corrections visible in explicit commits (Andres) Remove redundant code (Alexandros) Code style nitpick (Rohan) Reimplementation of the tracie's self-tests using a pythonic test suit (pytest). The new tracie/test.py module is almost a direct translation of the tests defined in the tracie/test.sh. This new implementation of the test provides a more common framework where define the tests. Also allows a better introspection for the tests results and/or resulting errors. This patch also adds python3-pytest as dependency for the built images and adapts the tracie-runner scripts to run the self-test using pytest. Signed-off-by: Pablo Saavedra <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> [v1] Reviewed-by: Andres Gomez <[email protected]> Reviewed-by: Rohan Garg <[email protected]> [v1] Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>
* ci: ArgumentParser receives the args from the main parametersPablo Saavedra2020-05-181-13/+18
| | | | | | | | | | | | | | | Change the main function to receive the args parameter from sys.argv[1:]. The args parameter will be passed to the ArgumentParser.parse_args() function as argument. This change provides an easier main() function signature to use with pythonic testsuites. Signed-off-by: Pablo Saavedra <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Reviewed-by: Andres Gomez <[email protected]> Reviewed-by: Rohan Garg <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>
* ci: TRACES_DB_PATH and RESULTS_PATH defined as relative pathsPablo Saavedra2020-05-181-2/+2
| | | | | | | | | | | | | | | | | RESULTS_PATH and RESULTS_PATH, as variables in the module context, are resolved one single time, only during the first module loading. If the the Python code in execution changes the current dir at some point, those paths are not going to be updated anymore keeping the paths wrongly pointing to the old working dir. This change modify the definition of those variables to use simply relative paths. Signed-off-by: Pablo Saavedra <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Reviewed-by: Andres Gomez <[email protected]> Reviewed-by: Rohan Garg <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>
* gitlab-ci: correct tracie behavior with replay errorsAndres Gomez2020-05-132-2/+4
| | | | | | | | | | | | | | | | | | | [dump_trace_images] Info: Dumping trace /tmp/tracie.test.ap5pshYcsg/traces-db/trace1/magenta.testtrace... ERROR [dump_trace_images] Debug: === Failure log start === invalid literal for int() with base 16: 'in' [dump_trace_images] Debug: === Failure log end === [check_image] Trace /tmp/tracie.test.ap5pshYcsg/traces-db/trace1/magenta.testtrace couldn't be replayed. See above logs for more information. Traceback (most recent call last): File "/tmp/tracie.test.ap5pshYcsg/tracie.py", line 176, in <module> main() File "/tmp/tracie.test.ap5pshYcsg/tracie.py", line 164, in main ok, result = gitlab_check_trace(project_url, commit_id, args.device_name, trace, expectation) TypeError: cannot unpack non-iterable bool object Fixes: efbbf8bb81e ("tracie: Print results in a machine readable format") Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Rohan Garg <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4839>
* gitlab-ci: create always the "results" directory with tracieAndres Gomez2020-05-132-0/+2
| | | | | | | | | | Otherwise, we will fail when the traces description file doesn't contain any checksum for the specified device. Fixes: efbbf8bb81e ("tracie: Print results in a machine readable format") Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Rohan Garg <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4839>
* gitlab-ci: update tracie README after changes in main scriptAndres Gomez2020-04-301-11/+6
| | | | | | | | | | | v2: - Update the default location for the traces when there is no traces-db entry in the traces definition file (Alexandros). Fixes: 90a39af5f65 "(ci: Drop the git dependency in tracie)" Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4640>
* gitlab-ci: adapt query_traces_yaml to gitlab specific changesAndres Gomez2020-04-222-12/+15
| | | | | | | | | | | This change was missing after acf7e73be54 "(gitlab-ci: make explicit tracie is gitlab specific)". Fixes: acf7e73be54 "(gitlab-ci: make explicit tracie is gitlab specific)". Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Reviewed-by: Rohan Garg <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4638>
* gitlab-ci: make explicit tracie is gitlab specificAndres Gomez2020-04-141-20/+12
| | | | | | | | | | | | Tracie main script and traces.yml file talk about repo(sitory) when it actually means GitLab's project. Since the script is GitLab's API specific, make it clear. Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Reviewed-by: Rohan Garg <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4496>
* tracie: Reformat code to fix indentationRohan Garg2020-04-071-8/+8
| | | | | | | Signed-off-by: Rohan Garg <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4435> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4435>
* tracie: Print results in a machine readable formatRohan Garg2020-04-072-6/+37
| | | | | | Signed-off-by: Rohan Garg <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4435>
* tracie: Switch to using shutil.move for cross filesystem movesRohan Garg2020-04-021-2/+3
| | | | | | | | | | | | | | When running tracie in a docker container, renaming files from inside the container to a bind-mounted folder on the host causes a invalid cross-device link due to os.rename limitations. Switching to shutil allows us to overcome this. Signed-off-by: Rohan Garg <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4377> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4377>
* gitlab-ci: replay apitrace traces in headless modeAndres Gomez2020-03-271-1/+2
| | | | | | | Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4238>
* gitlab-ci: add apitrace's DXGI traces supportAndres Gomez2020-03-273-9/+18
| | | | | | | | | | v2: - Pass the whole retrace command for apitrace traces (Alexandros). Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4238>
* gitlab-ci: Fix traces caching in tracieAlexandros Frantzis2020-03-261-1/+1
| | | | | | | | | | | | We are currently comparing a hex string representation of the git lfs OID with a byte array representation of the locally calculated OID, causing detection of valid cached traces to fail. Ensure we are comparing compatible representations (in this case hex strings). Signed-off-by: Alexandros Frantzis <[email protected]> Reviewed-by: Tomeu Vizoso <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4300> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4300>
* ci: Drop the git dependency in tracieRohan Garg2020-03-174-214/+196
| | | | | | | | | | | | | Instead of using git, use python and the Gitlab API to fetch traces. This helps us slim down our ramdisks in preparation for integrating trace replay on LAVA devices. Signed-off-by: Rohan Garg <[email protected]> Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4000> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4000>
* gitlab-ci: Use surfaceless platform also for apitraceTomeu Vizoso2020-03-171-2/+2
| | | | | | | | | | | In preparation for using apitrace to replay traces in LAVA jobs, build a newer waffle so apitrace can use the surfaceless EGL platform. As things were before this commit, Xvfb would have been needed in the LAVA images. Signed-off-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4000>
* gitlab-ci: Update renderdocTomeu Vizoso2020-03-171-2/+4
| | | | | | | Get closer to upstream to avoid accumulating changes. Signed-off-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4000>
* gitlab-ci: Add jobs to be able to test VulkanAndres Gomez2020-03-041-10/+38
| | | | | | | | Also, adds an example job for radv. Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]>
* gitlab-ci: Add gfxreconstruct traces supportAndres Gomez2020-03-042-4/+50
| | | | | | Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]>
* gitlab-ci: Change devices format to <api-vendor-deviceId>Andres Gomez2020-03-043-19/+21
| | | | | | | | | | | In preparation to having "vk" (Vulkan) along "gl" (OpenGL/ES). This is so it is clearer which traces belong to which API and also for the build jobs. Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]>
* tracie: correct typoAndres Gomez2020-03-041-1/+1
| | | | | | Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]>
* gitlab-ci: Automated testing with OpenGL tracesAlexandros Frantzis2020-02-2011-0/+918
Introduce automated testing of Mesa by replaying traces with Renderdoc or Apitrace. For now only LLVMPipe is tested, but other drivers can be tested if there's runners with the necessary hardware. Signed-off-by: Alexandros Frantzis <[email protected]> Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2935> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2935>