Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 0/7] igt: Help out coccinelle
@ 2025-11-20 19:14 Ville Syrjala
  2025-11-20 19:14 ` [PATCH i-g-t 1/7] igt: Make igt_fixture look like an iterator Ville Syrjala
                   ` (16 more replies)
  0 siblings, 17 replies; 29+ messages in thread
From: Ville Syrjala @ 2025-11-20 19:14 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Coccinelle has trouble parsing a lot of the magic macros
used throughout igt. Convert some of the macros to a form
coccinelle understands, and provide a pre-made iterators.cocci
script that people can include in their own scripts to help
coccinelle with the iterator macros.

Ville Syrjälä (7):
  igt: Make igt_fixture look like an iterator
  igt: Make igt_subtest_group look like an iterator
  igt: Make igt_main look more like a function
  igt: Make igt_simple_main look more like a function
  igt: Make igt_main*() look like normal function definition
  igt: Make igt_simple_main*() look like normal function definition
  scripts/cocci: Add iterators.cocci

 benchmarks/gem_userptr_benchmark.c            |   6 +-
 benchmarks/kms_fb_stress.c                    |   2 +-
 lib/igt_aux.c                                 |   6 +-
 lib/igt_core.c                                |  42 ++--
 lib/igt_core.h                                |  42 ++--
 lib/igt_dir.c                                 |   8 +-
 lib/igt_gt.c                                  |   2 +-
 lib/igt_kmod.c                                |  12 +-
 lib/igt_types.h                               |   2 +-
 lib/intel_batchbuffer.c                       |   2 +-
 lib/tests/bad_subtest_type.c                  |   2 +-
 lib/tests/i915_perf_data_alignment.c          |   2 +-
 lib/tests/igt_abort.c                         |   2 +-
 lib/tests/igt_assert.c                        |   2 +-
 lib/tests/igt_audio.c                         |   8 +-
 lib/tests/igt_can_fail.c                      |   4 +-
 lib/tests/igt_can_fail_simple.c               |   2 +-
 lib/tests/igt_describe.c                      |   8 +-
 lib/tests/igt_edid.c                          |   2 +-
 lib/tests/igt_exit_handler.c                  |   2 +-
 lib/tests/igt_facts.c                         |   2 +-
 lib/tests/igt_hook.c                          |   6 +-
 lib/tests/igt_ktap_parser.c                   |   2 +-
 lib/tests/igt_nesting.c                       |  16 +-
 lib/tests/igt_runnercomms_packets.c           |   2 +-
 lib/tests/igt_simple_test_subtests.c          |   2 +-
 lib/tests/igt_simulation.c                    |   2 +-
 lib/tests/igt_stats.c                         |   2 +-
 lib/tests/igt_subtest_group.c                 |  18 +-
 lib/tests/igt_timeout.c                       |   2 +-
 lib/tests/igt_types.c                         |  22 +--
 runner/resultgen.c                            |   2 +-
 runner/runner_json_tests.c                    |   2 +-
 runner/runner_kmemleak_test.c                 |  10 +-
 runner/runner_tests.c                         | 184 +++++++++---------
 runner/testdata/abort-dynamic.c               |   2 +-
 runner/testdata/abort-fixture.c               |   4 +-
 runner/testdata/abort-simple.c                |   2 +-
 runner/testdata/abort.c                       |   2 +-
 runner/testdata/dynamic.c                     |   2 +-
 runner/testdata/no-subtests.c                 |   2 +-
 runner/testdata/skippers.c                    |   4 +-
 runner/testdata/successtest.c                 |   2 +-
 scripts/iterators.cocci                       |  53 +++++
 tests/amdgpu/amd_abm.c                        |   6 +-
 tests/amdgpu/amd_assr.c                       |   6 +-
 tests/amdgpu/amd_basic.c                      |   6 +-
 tests/amdgpu/amd_basic_ex.c                   |   6 +-
 tests/amdgpu/amd_basic_multi_gpu.c            |   6 +-
 tests/amdgpu/amd_bo.c                         |   6 +-
 tests/amdgpu/amd_bypass.c                     |   6 +-
 tests/amdgpu/amd_color.c                      |   6 +-
 tests/amdgpu/amd_cp_dma_misc.c                |   6 +-
 tests/amdgpu/amd_cs_nop.c                     |   6 +-
 tests/amdgpu/amd_deadlock.c                   |   6 +-
 tests/amdgpu/amd_dispatch.c                   |   6 +-
 tests/amdgpu/amd_dp_dsc.c                     |   6 +-
 tests/amdgpu/amd_freesync_video_mode.c        |   6 +-
 tests/amdgpu/amd_fuzzing.c                    |   6 +-
 tests/amdgpu/amd_gang_cs.c                    |   6 +-
 tests/amdgpu/amd_hotplug.c                    |   6 +-
 tests/amdgpu/amd_ilr.c                        |   6 +-
 tests/amdgpu/amd_info.c                       |   6 +-
 tests/amdgpu/amd_jpeg_dec.c                   |   6 +-
 tests/amdgpu/amd_jpeg_queue.c                 |   6 +-
 tests/amdgpu/amd_link_settings.c              |   6 +-
 tests/amdgpu/amd_mall.c                       |   6 +-
 tests/amdgpu/amd_max_bpc.c                    |   6 +-
 tests/amdgpu/amd_mem_leak.c                   |   6 +-
 tests/amdgpu/amd_mode_switch.c                |   6 +-
 tests/amdgpu/amd_module_load.c                |   4 +-
 tests/amdgpu/amd_multidisplay_modeset.c       |   6 +-
 tests/amdgpu/amd_odm.c                        |   6 +-
 tests/amdgpu/amd_pci_unplug.c                 |   6 +-
 tests/amdgpu/amd_plane.c                      |   6 +-
 tests/amdgpu/amd_prime.c                      |   6 +-
 tests/amdgpu/amd_psr.c                        |   6 +-
 tests/amdgpu/amd_pstate.c                     |   6 +-
 tests/amdgpu/amd_queue_reset.c                |   6 +-
 tests/amdgpu/amd_ras.c                        |   6 +-
 tests/amdgpu/amd_replay.c                     |   6 +-
 tests/amdgpu/amd_security.c                   |   6 +-
 tests/amdgpu/amd_subvp.c                      |   6 +-
 tests/amdgpu/amd_syncobj.c                    |   6 +-
 tests/amdgpu/amd_uvd_dec.c                    |   6 +-
 tests/amdgpu/amd_uvd_enc.c                    |   6 +-
 tests/amdgpu/amd_vce_enc.c                    |   6 +-
 tests/amdgpu/amd_vcn.c                        |   6 +-
 tests/amdgpu/amd_vcn_queue.c                  |   6 +-
 tests/amdgpu/amd_vm.c                         |   6 +-
 tests/amdgpu/amd_vpe.c                        |   6 +-
 tests/amdgpu/amd_vrr_range.c                  |   6 +-
 tests/chamelium/kms_chamelium_audio.c         |  14 +-
 tests/chamelium/kms_chamelium_color.c         |   8 +-
 tests/chamelium/kms_chamelium_edid.c          |  18 +-
 tests/chamelium/kms_chamelium_frames.c        |  18 +-
 tests/chamelium/kms_chamelium_hpd.c           |  22 +--
 .../kms_chamelium_sharpness_filter.c          |   6 +-
 tests/core_auth.c                             |   6 +-
 tests/core_debugfs.c                          |   6 +-
 tests/core_getclient.c                        |   6 +-
 tests/core_getstats.c                         |   6 +-
 tests/core_getversion.c                       |   6 +-
 tests/core_hotunplug.c                        |  52 ++---
 tests/core_setmaster.c                        |  10 +-
 tests/core_setmaster_vs_auth.c                |   2 +-
 tests/core_sysfs.c                            |   6 +-
 tests/device_reset.c                          |   8 +-
 tests/dmabuf.c                                |   2 +-
 tests/dmabuf_sync_file.c                      |   6 +-
 tests/drm_buddy.c                             |   2 +-
 tests/drm_mm.c                                |   2 +-
 tests/drm_read.c                              |   4 +-
 tests/drm_virtgpu.c                           |   6 +-
 tests/dumb_buffer.c                           |   6 +-
 tests/fbdev.c                                 |  18 +-
 tests/intel/api_intel_allocator.c             |   6 +-
 tests/intel/api_intel_bb.c                    |   6 +-
 tests/intel/gem_bad_reloc.c                   |   6 +-
 tests/intel/gem_barrier_race.c                |   6 +-
 tests/intel/gem_basic.c                       |   4 +-
 tests/intel/gem_blits.c                       |   6 +-
 tests/intel/gem_busy.c                        |  36 ++--
 tests/intel/gem_caching.c                     |   6 +-
 tests/intel/gem_ccs.c                         |   6 +-
 tests/intel/gem_close.c                       |   4 +-
 tests/intel/gem_close_race.c                  |   6 +-
 tests/intel/gem_compute.c                     |   6 +-
 tests/intel/gem_concurrent_all.c              |  52 ++---
 tests/intel/gem_create.c                      |  10 +-
 tests/intel/gem_cs_tlb.c                      |   6 +-
 tests/intel/gem_ctx_bad_destroy.c             |   6 +-
 tests/intel/gem_ctx_create.c                  |   6 +-
 tests/intel/gem_ctx_engines.c                 |   6 +-
 tests/intel/gem_ctx_exec.c                    |  12 +-
 tests/intel/gem_ctx_freq.c                    |   6 +-
 tests/intel/gem_ctx_isolation.c               |   8 +-
 tests/intel/gem_ctx_param.c                   |  10 +-
 tests/intel/gem_ctx_persistence.c             |  20 +-
 tests/intel/gem_ctx_shared.c                  |  20 +-
 tests/intel/gem_ctx_sseu.c                    |  10 +-
 tests/intel/gem_ctx_switch.c                  |  18 +-
 tests/intel/gem_eio.c                         |  18 +-
 tests/intel/gem_evict_alignment.c             |   8 +-
 tests/intel/gem_evict_everything.c            |  10 +-
 tests/intel/gem_exec_alignment.c              |   4 +-
 tests/intel/gem_exec_async.c                  |  12 +-
 tests/intel/gem_exec_await.c                  |   6 +-
 tests/intel/gem_exec_balancer.c               |  28 +--
 tests/intel/gem_exec_basic.c                  |   6 +-
 tests/intel/gem_exec_big.c                    |   6 +-
 tests/intel/gem_exec_capture.c                |   6 +-
 tests/intel/gem_exec_create.c                 |   6 +-
 tests/intel/gem_exec_endless.c                |  10 +-
 tests/intel/gem_exec_fair.c                   |   6 +-
 tests/intel/gem_exec_fence.c                  |  50 ++---
 tests/intel/gem_exec_flush.c                  |  10 +-
 tests/intel/gem_exec_gttfill.c                |   8 +-
 tests/intel/gem_exec_latency.c                |  14 +-
 tests/intel/gem_exec_lut_handle.c             |   2 +-
 tests/intel/gem_exec_nop.c                    |  14 +-
 tests/intel/gem_exec_parallel.c               |   6 +-
 tests/intel/gem_exec_params.c                 |   6 +-
 tests/intel/gem_exec_reloc.c                  |  18 +-
 tests/intel/gem_exec_schedule.c               |  46 ++---
 tests/intel/gem_exec_store.c                  |   6 +-
 tests/intel/gem_exec_suspend.c                |   8 +-
 tests/intel/gem_exec_whisper.c                |  10 +-
 tests/intel/gem_exercise_blt.c                |   6 +-
 tests/intel/gem_fd_exhaustion.c               |   2 +-
 tests/intel/gem_fence_thrash.c                |   2 +-
 tests/intel/gem_fence_upload.c                |   2 +-
 tests/intel/gem_fenced_exec_thrash.c          |   6 +-
 tests/intel/gem_flink_basic.c                 |   4 +-
 tests/intel/gem_flink_race.c                  |   2 +-
 tests/intel/gem_gpgpu_fill.c                  |   6 +-
 tests/intel/gem_gtt_cpu_tlb.c                 |   2 +-
 tests/intel/gem_gtt_hog.c                     |   2 +-
 tests/intel/gem_gtt_speed.c                   |   2 +-
 tests/intel/gem_huc_copy.c                    |   6 +-
 tests/intel/gem_linear_blits.c                |  10 +-
 tests/intel/gem_lmem_evict.c                  |   6 +-
 tests/intel/gem_lmem_swapping.c               |   6 +-
 tests/intel/gem_lut_handle.c                  |   2 +-
 tests/intel/gem_madvise.c                     |   2 +-
 tests/intel/gem_media_fill.c                  |   6 +-
 tests/intel/gem_media_vme.c                   |   2 +-
 tests/intel/gem_mmap.c                        |   6 +-
 tests/intel/gem_mmap_gtt.c                    |   8 +-
 tests/intel/gem_mmap_offset.c                 |   6 +-
 tests/intel/gem_mmap_wc.c                     |  10 +-
 tests/intel/gem_partial_pwrite_pread.c        |   8 +-
 tests/intel/gem_pipe_control_store_loop.c     |   6 +-
 tests/intel/gem_ppgtt.c                       |   6 +-
 tests/intel/gem_pread.c                       |   6 +-
 tests/intel/gem_pread_after_blit.c            |   8 +-
 tests/intel/gem_pwrite.c                      |   8 +-
 tests/intel/gem_pwrite_snooped.c              |   2 +-
 tests/intel/gem_pxp.c                         |  16 +-
 tests/intel/gem_read_read_speed.c             |   6 +-
 tests/intel/gem_readwrite.c                   |   6 +-
 tests/intel/gem_reg_read.c                    |   6 +-
 tests/intel/gem_render_copy.c                 |   6 +-
 tests/intel/gem_render_copy_redux.c           |   6 +-
 tests/intel/gem_render_linear_blits.c         |   4 +-
 tests/intel/gem_render_tiled_blits.c          |   4 +-
 tests/intel/gem_request_retire.c              |   4 +-
 tests/intel/gem_reset_stats.c                 |  12 +-
 tests/intel/gem_ringfill.c                    |   6 +-
 tests/intel/gem_set_tiling_vs_blt.c           |   6 +-
 tests/intel/gem_set_tiling_vs_gtt.c           |   2 +-
 tests/intel/gem_set_tiling_vs_pwrite.c        |   2 +-
 tests/intel/gem_shrink.c                      |   4 +-
 tests/intel/gem_softpin.c                     |  16 +-
 tests/intel/gem_spin_batch.c                  |  12 +-
 tests/intel/gem_streaming_writes.c            |   6 +-
 tests/intel/gem_stress.c                      |   2 +-
 tests/intel/gem_sync.c                        |  10 +-
 tests/intel/gem_tiled_blits.c                 |  12 +-
 tests/intel/gem_tiled_fence_blits.c           |  12 +-
 tests/intel/gem_tiled_partial_pwrite_pread.c  |   6 +-
 tests/intel/gem_tiled_pread_basic.c           |   2 +-
 tests/intel/gem_tiled_pread_pwrite.c          |   2 +-
 tests/intel/gem_tiled_swapping.c              |   6 +-
 tests/intel/gem_tiled_wb.c                    |   2 +-
 tests/intel/gem_tiled_wc.c                    |   2 +-
 tests/intel/gem_tiling_max_stride.c           |   2 +-
 tests/intel/gem_unfence_active_buffers.c      |   2 +-
 tests/intel/gem_unref_active_buffers.c        |   2 +-
 tests/intel/gem_userptr_blits.c               |  24 +--
 tests/intel/gem_vm_create.c                   |  10 +-
 tests/intel/gem_wait.c                        |  18 +-
 tests/intel/gem_watchdog.c                    |   8 +-
 tests/intel/gem_workarounds.c                 |  10 +-
 tests/intel/gen3_mixed_blits.c                |   2 +-
 tests/intel/gen3_render_linear_blits.c        |   2 +-
 tests/intel/gen3_render_mixed_blits.c         |   2 +-
 tests/intel/gen3_render_tiledx_blits.c        |   2 +-
 tests/intel/gen3_render_tiledy_blits.c        |   2 +-
 tests/intel/gen7_exec_parse.c                 |  12 +-
 tests/intel/gen9_exec_parse.c                 |   6 +-
 tests/intel/i915_drm_fdinfo.c                 |  12 +-
 tests/intel/i915_fb_tiling.c                  |   6 +-
 tests/intel/i915_getparams_basic.c            |   4 +-
 tests/intel/i915_hangman.c                    |   8 +-
 tests/intel/i915_module_load.c                |   2 +-
 tests/intel/i915_pciid.c                      |   2 +-
 tests/intel/i915_pm_freq_api.c                |   4 +-
 tests/intel/i915_pm_freq_mult.c               |   6 +-
 tests/intel/i915_pm_rc6_residency.c           |  12 +-
 tests/intel/i915_pm_rpm.c                     |   6 +-
 tests/intel/i915_pm_rps.c                     |   6 +-
 tests/intel/i915_pm_sseu.c                    |   4 +-
 tests/intel/i915_power.c                      |   6 +-
 tests/intel/i915_query.c                      |  10 +-
 tests/intel/i915_selftest.c                   |   2 +-
 tests/intel/i915_suspend.c                    |   6 +-
 tests/intel/intel_hwmon.c                     |   6 +-
 tests/intel/kms_big_fb.c                      |  10 +-
 tests/intel/kms_busy.c                        |  10 +-
 tests/intel/kms_ccs.c                         |  10 +-
 tests/intel/kms_cdclk.c                       |   6 +-
 tests/intel/kms_dirtyfb.c                     |   6 +-
 tests/intel/kms_dp_link_training.c            |   6 +-
 tests/intel/kms_dp_linktrain_fallback.c       |   6 +-
 tests/intel/kms_draw_crc.c                    |   6 +-
 tests/intel/kms_dsc.c                         |   6 +-
 tests/intel/kms_fb_coherency.c                |   6 +-
 tests/intel/kms_fbc_dirty_rect.c              |   6 +-
 tests/intel/kms_fbcon_fbt.c                   |   6 +-
 tests/intel/kms_fence_pin_leak.c              |   2 +-
 tests/intel/kms_flip_scaled_crc.c             |   6 +-
 tests/intel/kms_flip_tiling.c                 |   6 +-
 tests/intel/kms_frontbuffer_tracking.c        |  10 +-
 tests/intel/kms_joiner.c                      |  22 +--
 tests/intel/kms_legacy_colorkey.c             |   6 +-
 tests/intel/kms_mmap_write_crc.c              |   6 +-
 tests/intel/kms_pipe_b_c_ivb.c                |   6 +-
 tests/intel/kms_pipe_stress.c                 |   6 +-
 tests/intel/kms_pm_backlight.c                |   6 +-
 tests/intel/kms_pm_dc.c                       |   6 +-
 tests/intel/kms_pm_lpsp.c                     |   6 +-
 tests/intel/kms_pm_rpm.c                      |   6 +-
 tests/intel/kms_psr.c                         |   6 +-
 tests/intel/kms_psr2_sf.c                     |   6 +-
 tests/intel/kms_psr2_su.c                     |   6 +-
 tests/intel/kms_psr_stress_test.c             |   6 +-
 tests/intel/kms_pwrite_crc.c                  |   2 +-
 tests/intel/perf.c                            |  14 +-
 tests/intel/perf_pmu.c                        |  18 +-
 tests/intel/prime_busy.c                      |  10 +-
 tests/intel/prime_mmap.c                      |   6 +-
 tests/intel/prime_mmap_coherency.c            |   6 +-
 tests/intel/prime_mmap_kms.c                  |   6 +-
 tests/intel/prime_self_import.c               |   2 +-
 tests/intel/sysfs_defaults.c                  |   6 +-
 tests/intel/sysfs_heartbeat_interval.c        |   6 +-
 tests/intel/sysfs_preempt_timeout.c           |   6 +-
 tests/intel/sysfs_timeslice_duration.c        |   6 +-
 tests/intel/xe_ccs.c                          |   6 +-
 tests/intel/xe_compute.c                      |   8 +-
 tests/intel/xe_compute_preempt.c              |   6 +-
 tests/intel/xe_configfs.c                     |   6 +-
 tests/intel/xe_copy_basic.c                   |   6 +-
 tests/intel/xe_create.c                       |   6 +-
 tests/intel/xe_debugfs.c                      |   6 +-
 tests/intel/xe_dma_buf_sync.c                 |   6 +-
 tests/intel/xe_drm_fdinfo.c                   |   6 +-
 tests/intel/xe_eu_stall.c                     |   6 +-
 tests/intel/xe_eudebug.c                      |  14 +-
 tests/intel/xe_eudebug_online.c               |  10 +-
 tests/intel/xe_eudebug_sriov.c                |   6 +-
 tests/intel/xe_evict.c                        |   6 +-
 tests/intel/xe_evict_ccs.c                    |   8 +-
 tests/intel/xe_exec_atomic.c                  |   6 +-
 tests/intel/xe_exec_balancer.c                |   6 +-
 tests/intel/xe_exec_basic.c                   |   6 +-
 tests/intel/xe_exec_capture.c                 |   6 +-
 tests/intel/xe_exec_compute_mode.c            |   6 +-
 tests/intel/xe_exec_fault_mode.c              |   6 +-
 tests/intel/xe_exec_mix_modes.c               |   6 +-
 tests/intel/xe_exec_queue_property.c          |  10 +-
 tests/intel/xe_exec_reset.c                   |   6 +-
 tests/intel/xe_exec_sip.c                     |   6 +-
 tests/intel/xe_exec_sip_eudebug.c             |  18 +-
 tests/intel/xe_exec_store.c                   |   6 +-
 tests/intel/xe_exec_system_allocator.c        |   6 +-
 tests/intel/xe_exec_threads.c                 |   6 +-
 tests/intel/xe_exercise_blt.c                 |   6 +-
 tests/intel/xe_fault_injection.c              |   8 +-
 tests/intel/xe_gpgpu_fill.c                   |   6 +-
 tests/intel/xe_gt_freq.c                      |   6 +-
 tests/intel/xe_huc_copy.c                     |   6 +-
 tests/intel/xe_intel_bb.c                     |   6 +-
 tests/intel/xe_live_ktest.c                   |   2 +-
 tests/intel/xe_media_fill.c                   |   6 +-
 tests/intel/xe_mmap.c                         |  10 +-
 tests/intel/xe_module_load.c                  |   2 +-
 tests/intel/xe_noexec_ping_pong.c             |   6 +-
 tests/intel/xe_oa.c                           |  22 +--
 tests/intel/xe_pat.c                          |   6 +-
 tests/intel/xe_peer2peer.c                    |   6 +-
 tests/intel/xe_pm.c                           |   8 +-
 tests/intel/xe_pm_residency.c                 |   6 +-
 tests/intel/xe_pmu.c                          |  26 +--
 tests/intel/xe_prime_self_import.c            |   6 +-
 tests/intel/xe_pxp.c                          |  14 +-
 tests/intel/xe_query.c                        |   6 +-
 tests/intel/xe_render_copy.c                  |   6 +-
 tests/intel/xe_spin_batch.c                   |   6 +-
 tests/intel/xe_sriov_auto_provisioning.c      |   6 +-
 tests/intel/xe_sriov_flr.c                    |   6 +-
 tests/intel/xe_sriov_scheduling.c             |   6 +-
 tests/intel/xe_sriov_vram.c                   |   6 +-
 tests/intel/xe_survivability.c                |   6 +-
 tests/intel/xe_sysfs_defaults.c               |   6 +-
 tests/intel/xe_sysfs_preempt_timeout.c        |   6 +-
 tests/intel/xe_sysfs_scheduler.c              |   6 +-
 tests/intel/xe_sysfs_timeslice_duration.c     |   6 +-
 tests/intel/xe_tlb.c                          |   6 +-
 tests/intel/xe_vm.c                           |   6 +-
 tests/intel/xe_waitfence.c                    |   6 +-
 tests/intel/xe_wedged.c                       |   6 +-
 tests/kms_3d.c                                |   6 +-
 tests/kms_addfb_basic.c                       |  68 +++----
 tests/kms_async_flips.c                       |  10 +-
 tests/kms_atomic.c                            |   6 +-
 tests/kms_atomic_interruptible.c              |   6 +-
 tests/kms_atomic_transition.c                 |   6 +-
 tests/kms_bw.c                                |   6 +-
 tests/kms_color.c                             |  12 +-
 tests/kms_concurrent.c                        |   6 +-
 tests/kms_content_protection.c                |  14 +-
 tests/kms_cursor_crc.c                        |  24 +--
 tests/kms_cursor_edge_walk.c                  |   8 +-
 tests/kms_cursor_legacy.c                     |  40 ++--
 tests/kms_debugfs.c                           |   6 +-
 tests/kms_display_modes.c                     |   6 +-
 tests/kms_dither.c                            |   6 +-
 tests/kms_dp_aux_dev.c                        |   2 +-
 tests/kms_feature_discovery.c                 |  12 +-
 tests/kms_flip.c                              |   6 +-
 tests/kms_flip_event_leak.c                   |   6 +-
 tests/kms_force_connector_basic.c             |   6 +-
 tests/kms_getfb.c                             |  30 +--
 tests/kms_hdmi_inject.c                       |   6 +-
 tests/kms_hdr.c                               |   6 +-
 tests/kms_invalid_mode.c                      |   6 +-
 tests/kms_lease.c                             |  12 +-
 tests/kms_multipipe_modeset.c                 |   6 +-
 tests/kms_panel_fitting.c                     |   8 +-
 tests/kms_pipe_crc_basic.c                    |   6 +-
 tests/kms_plane.c                             |   6 +-
 tests/kms_plane_alpha_blend.c                 |   6 +-
 tests/kms_plane_cursor.c                      |   6 +-
 tests/kms_plane_lowres.c                      |   6 +-
 tests/kms_plane_multiple.c                    |   6 +-
 tests/kms_plane_scaling.c                     |  14 +-
 tests/kms_prime.c                             |  18 +-
 tests/kms_prop_blob.c                         |  10 +-
 tests/kms_properties.c                        |  14 +-
 tests/kms_rmfb.c                              |   6 +-
 tests/kms_rotation_crc.c                      |   8 +-
 tests/kms_scaling_modes.c                     |   6 +-
 tests/kms_selftest.c                          |   2 +-
 tests/kms_sequence.c                          |   6 +-
 tests/kms_setmode.c                           |   6 +-
 tests/kms_sharpness_filter.c                  |   6 +-
 tests/kms_sysfs_edid_timing.c                 |   2 +-
 tests/kms_tiled_display.c                     |   6 +-
 tests/kms_tv_load_detect.c                    |   6 +-
 tests/kms_universal_plane.c                   |   6 +-
 tests/kms_vblank.c                            |   6 +-
 tests/kms_vrr.c                               |  10 +-
 tests/kms_writeback.c                         |   6 +-
 tests/meta_test.c                             |   4 +-
 tests/msm/msm_mapping.c                       |   6 +-
 tests/msm/msm_recovery.c                      |   6 +-
 tests/msm/msm_shrink.c                        |   6 +-
 tests/msm/msm_submit.c                        |   6 +-
 tests/msm/msm_submitoverhead.c                |   6 +-
 tests/nouveau_crc.c                           |  10 +-
 tests/panfrost/panfrost_gem_new.c             |   6 +-
 tests/panfrost/panfrost_get_param.c           |   6 +-
 tests/panfrost/panfrost_prime.c               |   6 +-
 tests/panfrost/panfrost_submit.c              |   6 +-
 tests/panthor/panthor_gem.c                   |   6 +-
 tests/panthor/panthor_group.c                 |   6 +-
 tests/panthor/panthor_query.c                 |   6 +-
 tests/panthor/panthor_vm.c                    |   6 +-
 tests/prime_nv_api.c                          |   6 +-
 tests/prime_nv_pcopy.c                        |   6 +-
 tests/prime_nv_test.c                         |   6 +-
 tests/prime_udl.c                             |   2 +-
 tests/prime_vgem.c                            |  24 +--
 tests/sriov_basic.c                           |   6 +-
 tests/sw_sync.c                               |   4 +-
 tests/syncobj_basic.c                         |   6 +-
 tests/syncobj_eventfd.c                       |   6 +-
 tests/syncobj_timeline.c                      |   6 +-
 tests/syncobj_wait.c                          |   6 +-
 tests/template.c                              |   8 +-
 tests/testdisplay.c                           |   2 +-
 tests/tools_test.c                            |   4 +-
 tests/v3d/v3d_create_bo.c                     |   6 +-
 tests/v3d/v3d_get_bo_offset.c                 |   6 +-
 tests/v3d/v3d_get_param.c                     |   6 +-
 tests/v3d/v3d_job_submission.c                |   6 +-
 tests/v3d/v3d_mmap.c                          |   6 +-
 tests/v3d/v3d_perfmon.c                       |   6 +-
 tests/v3d/v3d_submit_cl.c                     |   6 +-
 tests/v3d/v3d_submit_csd.c                    |   6 +-
 tests/v3d/v3d_wait_bo.c                       |   6 +-
 tests/vc4/vc4_create_bo.c                     |   6 +-
 tests/vc4/vc4_dmabuf_poll.c                   |   6 +-
 tests/vc4/vc4_label_bo.c                      |   6 +-
 tests/vc4/vc4_lookup_fail.c                   |   6 +-
 tests/vc4/vc4_mmap.c                          |   6 +-
 tests/vc4/vc4_perfmon.c                       |   6 +-
 tests/vc4/vc4_purgeable_bo.c                  |   6 +-
 tests/vc4/vc4_tiling.c                        |   6 +-
 tests/vc4/vc4_wait_bo.c                       |   6 +-
 tests/vc4/vc4_wait_seqno.c                    |   6 +-
 tests/vgem_basic.c                            |  14 +-
 tests/vgem_slow.c                             |   6 +-
 tests/vkms/vkms_configfs.c                    |   6 +-
 tests/vmwgfx/vmw_execution_buffer.c           |   6 +-
 tests/vmwgfx/vmw_mob_stress.c                 |   6 +-
 tests/vmwgfx/vmw_prime.c                      |  12 +-
 tests/vmwgfx/vmw_ref_count.c                  |   6 +-
 tests/vmwgfx/vmw_surface_copy.c               |   6 +-
 tests/vmwgfx/vmw_tri.c                        |   6 +-
 472 files changed, 1930 insertions(+), 1875 deletions(-)
 create mode 100644 scripts/iterators.cocci

-- 
2.49.1


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [PATCH i-g-t 1/7] igt: Make igt_fixture look like an iterator
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
@ 2025-11-20 19:14 ` Ville Syrjala
  2025-12-03 17:26   ` Kamil Konieczny
  2025-11-20 19:14 ` [PATCH i-g-t 2/7] igt: Make igt_subtest_group " Ville Syrjala
                   ` (15 subsequent siblings)
  16 siblings, 1 reply; 29+ messages in thread
From: Ville Syrjala @ 2025-11-20 19:14 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Turn igt_fixture into igt_fixture(). This allows coccinelle
to parse it when given a helping hand with the
'iterator name igt_fixture' directive.

Conversion done via:
$ find -type f -name \*.[ch] -exec sed -i 's/\([^_]\)igt_fixture/\1igt_fixture()/g' {} +

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 benchmarks/gem_userptr_benchmark.c            |   4 +-
 lib/igt_aux.c                                 |   6 +-
 lib/igt_core.c                                |  18 +--
 lib/igt_core.h                                |   8 +-
 lib/igt_dir.c                                 |   8 +-
 lib/igt_gt.c                                  |   2 +-
 lib/igt_kmod.c                                |   8 +-
 lib/igt_types.h                               |   2 +-
 lib/intel_batchbuffer.c                       |   2 +-
 lib/tests/igt_abort.c                         |   2 +-
 lib/tests/igt_audio.c                         |   4 +-
 lib/tests/igt_can_fail.c                      |   2 +-
 lib/tests/igt_describe.c                      |   2 +-
 lib/tests/igt_exit_handler.c                  |   2 +-
 lib/tests/igt_hook.c                          |   2 +-
 lib/tests/igt_nesting.c                       |  10 +-
 lib/tests/igt_simulation.c                    |   2 +-
 lib/tests/igt_subtest_group.c                 |   8 +-
 lib/tests/igt_types.c                         |  12 +-
 runner/resultgen.c                            |   2 +-
 runner/runner_kmemleak_test.c                 |   6 +-
 runner/runner_tests.c                         | 126 +++++++++---------
 runner/testdata/abort-fixture.c               |   2 +-
 runner/testdata/skippers.c                    |   2 +-
 tests/amdgpu/amd_abm.c                        |   4 +-
 tests/amdgpu/amd_assr.c                       |   4 +-
 tests/amdgpu/amd_basic.c                      |   4 +-
 tests/amdgpu/amd_basic_ex.c                   |   4 +-
 tests/amdgpu/amd_basic_multi_gpu.c            |   4 +-
 tests/amdgpu/amd_bo.c                         |   4 +-
 tests/amdgpu/amd_bypass.c                     |   4 +-
 tests/amdgpu/amd_color.c                      |   4 +-
 tests/amdgpu/amd_cp_dma_misc.c                |   4 +-
 tests/amdgpu/amd_cs_nop.c                     |   4 +-
 tests/amdgpu/amd_deadlock.c                   |   4 +-
 tests/amdgpu/amd_dispatch.c                   |   4 +-
 tests/amdgpu/amd_dp_dsc.c                     |   4 +-
 tests/amdgpu/amd_freesync_video_mode.c        |   4 +-
 tests/amdgpu/amd_fuzzing.c                    |   4 +-
 tests/amdgpu/amd_gang_cs.c                    |   4 +-
 tests/amdgpu/amd_hotplug.c                    |   4 +-
 tests/amdgpu/amd_ilr.c                        |   4 +-
 tests/amdgpu/amd_info.c                       |   4 +-
 tests/amdgpu/amd_jpeg_dec.c                   |   4 +-
 tests/amdgpu/amd_jpeg_queue.c                 |   4 +-
 tests/amdgpu/amd_link_settings.c              |   4 +-
 tests/amdgpu/amd_mall.c                       |   4 +-
 tests/amdgpu/amd_max_bpc.c                    |   4 +-
 tests/amdgpu/amd_mem_leak.c                   |   4 +-
 tests/amdgpu/amd_mode_switch.c                |   4 +-
 tests/amdgpu/amd_module_load.c                |   2 +-
 tests/amdgpu/amd_multidisplay_modeset.c       |   4 +-
 tests/amdgpu/amd_odm.c                        |   4 +-
 tests/amdgpu/amd_pci_unplug.c                 |   4 +-
 tests/amdgpu/amd_plane.c                      |   4 +-
 tests/amdgpu/amd_prime.c                      |   4 +-
 tests/amdgpu/amd_psr.c                        |   4 +-
 tests/amdgpu/amd_pstate.c                     |   4 +-
 tests/amdgpu/amd_queue_reset.c                |   4 +-
 tests/amdgpu/amd_ras.c                        |   4 +-
 tests/amdgpu/amd_replay.c                     |   4 +-
 tests/amdgpu/amd_security.c                   |   4 +-
 tests/amdgpu/amd_subvp.c                      |   4 +-
 tests/amdgpu/amd_syncobj.c                    |   4 +-
 tests/amdgpu/amd_uvd_dec.c                    |   4 +-
 tests/amdgpu/amd_uvd_enc.c                    |   4 +-
 tests/amdgpu/amd_vce_enc.c                    |   4 +-
 tests/amdgpu/amd_vcn.c                        |   4 +-
 tests/amdgpu/amd_vcn_queue.c                  |   4 +-
 tests/amdgpu/amd_vm.c                         |   4 +-
 tests/amdgpu/amd_vpe.c                        |   4 +-
 tests/amdgpu/amd_vrr_range.c                  |   4 +-
 tests/chamelium/kms_chamelium_audio.c         |   8 +-
 tests/chamelium/kms_chamelium_color.c         |   4 +-
 tests/chamelium/kms_chamelium_edid.c          |  10 +-
 tests/chamelium/kms_chamelium_frames.c        |  10 +-
 tests/chamelium/kms_chamelium_hpd.c           |  12 +-
 .../kms_chamelium_sharpness_filter.c          |   4 +-
 tests/core_auth.c                             |   2 +-
 tests/core_debugfs.c                          |   4 +-
 tests/core_getclient.c                        |   4 +-
 tests/core_getstats.c                         |   4 +-
 tests/core_getversion.c                       |   4 +-
 tests/core_hotunplug.c                        |  34 ++---
 tests/core_setmaster.c                        |   6 +-
 tests/core_sysfs.c                            |   4 +-
 tests/device_reset.c                          |   4 +-
 tests/dmabuf_sync_file.c                      |   4 +-
 tests/drm_read.c                              |   2 +-
 tests/drm_virtgpu.c                           |   4 +-
 tests/dumb_buffer.c                           |   4 +-
 tests/fbdev.c                                 |  12 +-
 tests/intel/api_intel_allocator.c             |   4 +-
 tests/intel/api_intel_bb.c                    |   4 +-
 tests/intel/gem_bad_reloc.c                   |   4 +-
 tests/intel/gem_barrier_race.c                |   4 +-
 tests/intel/gem_basic.c                       |   2 +-
 tests/intel/gem_blits.c                       |   4 +-
 tests/intel/gem_busy.c                        |  22 +--
 tests/intel/gem_caching.c                     |   4 +-
 tests/intel/gem_ccs.c                         |   4 +-
 tests/intel/gem_close.c                       |   2 +-
 tests/intel/gem_close_race.c                  |   4 +-
 tests/intel/gem_compute.c                     |   4 +-
 tests/intel/gem_concurrent_all.c              |  32 ++---
 tests/intel/gem_create.c                      |   6 +-
 tests/intel/gem_cs_tlb.c                      |   4 +-
 tests/intel/gem_ctx_bad_destroy.c             |   4 +-
 tests/intel/gem_ctx_create.c                  |   4 +-
 tests/intel/gem_ctx_engines.c                 |   4 +-
 tests/intel/gem_ctx_exec.c                    |   8 +-
 tests/intel/gem_ctx_freq.c                    |   4 +-
 tests/intel/gem_ctx_isolation.c               |   6 +-
 tests/intel/gem_ctx_param.c                   |   6 +-
 tests/intel/gem_ctx_persistence.c             |  12 +-
 tests/intel/gem_ctx_shared.c                  |  12 +-
 tests/intel/gem_ctx_sseu.c                    |   6 +-
 tests/intel/gem_ctx_switch.c                  |  10 +-
 tests/intel/gem_eio.c                         |  10 +-
 tests/intel/gem_evict_alignment.c             |   6 +-
 tests/intel/gem_evict_everything.c            |   8 +-
 tests/intel/gem_exec_alignment.c              |   2 +-
 tests/intel/gem_exec_async.c                  |   8 +-
 tests/intel/gem_exec_await.c                  |   4 +-
 tests/intel/gem_exec_balancer.c               |  16 +--
 tests/intel/gem_exec_basic.c                  |   4 +-
 tests/intel/gem_exec_big.c                    |   4 +-
 tests/intel/gem_exec_capture.c                |   4 +-
 tests/intel/gem_exec_create.c                 |   4 +-
 tests/intel/gem_exec_endless.c                |   6 +-
 tests/intel/gem_exec_fair.c                   |   4 +-
 tests/intel/gem_exec_fence.c                  |  32 ++---
 tests/intel/gem_exec_flush.c                  |   6 +-
 tests/intel/gem_exec_gttfill.c                |   6 +-
 tests/intel/gem_exec_latency.c                |   8 +-
 tests/intel/gem_exec_nop.c                    |   8 +-
 tests/intel/gem_exec_parallel.c               |   4 +-
 tests/intel/gem_exec_params.c                 |   4 +-
 tests/intel/gem_exec_reloc.c                  |  12 +-
 tests/intel/gem_exec_schedule.c               |  26 ++--
 tests/intel/gem_exec_store.c                  |   4 +-
 tests/intel/gem_exec_suspend.c                |   6 +-
 tests/intel/gem_exec_whisper.c                |   6 +-
 tests/intel/gem_exercise_blt.c                |   4 +-
 tests/intel/gem_fenced_exec_thrash.c          |   4 +-
 tests/intel/gem_flink_basic.c                 |   2 +-
 tests/intel/gem_gpgpu_fill.c                  |   4 +-
 tests/intel/gem_huc_copy.c                    |   4 +-
 tests/intel/gem_linear_blits.c                |   6 +-
 tests/intel/gem_lmem_evict.c                  |   4 +-
 tests/intel/gem_lmem_swapping.c               |   4 +-
 tests/intel/gem_media_fill.c                  |   4 +-
 tests/intel/gem_mmap.c                        |   4 +-
 tests/intel/gem_mmap_gtt.c                    |   4 +-
 tests/intel/gem_mmap_offset.c                 |   4 +-
 tests/intel/gem_mmap_wc.c                     |   6 +-
 tests/intel/gem_partial_pwrite_pread.c        |   6 +-
 tests/intel/gem_pipe_control_store_loop.c     |   4 +-
 tests/intel/gem_ppgtt.c                       |   2 +-
 tests/intel/gem_pread.c                       |   4 +-
 tests/intel/gem_pread_after_blit.c            |   6 +-
 tests/intel/gem_pwrite.c                      |   6 +-
 tests/intel/gem_pxp.c                         |   4 +-
 tests/intel/gem_read_read_speed.c             |   4 +-
 tests/intel/gem_readwrite.c                   |   4 +-
 tests/intel/gem_reg_read.c                    |   4 +-
 tests/intel/gem_render_copy.c                 |   4 +-
 tests/intel/gem_render_copy_redux.c           |   4 +-
 tests/intel/gem_render_linear_blits.c         |   2 +-
 tests/intel/gem_render_tiled_blits.c          |   2 +-
 tests/intel/gem_request_retire.c              |   2 +-
 tests/intel/gem_reset_stats.c                 |   8 +-
 tests/intel/gem_ringfill.c                    |   4 +-
 tests/intel/gem_set_tiling_vs_blt.c           |   4 +-
 tests/intel/gem_shrink.c                      |   2 +-
 tests/intel/gem_softpin.c                     |  10 +-
 tests/intel/gem_spin_batch.c                  |   8 +-
 tests/intel/gem_streaming_writes.c            |   4 +-
 tests/intel/gem_sync.c                        |   6 +-
 tests/intel/gem_tiled_blits.c                 |   8 +-
 tests/intel/gem_tiled_fence_blits.c           |   8 +-
 tests/intel/gem_tiled_partial_pwrite_pread.c  |   4 +-
 tests/intel/gem_tiled_swapping.c              |   4 +-
 tests/intel/gem_userptr_blits.c               |  14 +-
 tests/intel/gem_vm_create.c                   |   6 +-
 tests/intel/gem_wait.c                        |  12 +-
 tests/intel/gem_watchdog.c                    |   4 +-
 tests/intel/gem_workarounds.c                 |   6 +-
 tests/intel/gen7_exec_parse.c                 |   8 +-
 tests/intel/gen9_exec_parse.c                 |   4 +-
 tests/intel/i915_drm_fdinfo.c                 |   8 +-
 tests/intel/i915_fb_tiling.c                  |   4 +-
 tests/intel/i915_getparams_basic.c            |   2 +-
 tests/intel/i915_hangman.c                    |   6 +-
 tests/intel/i915_pm_freq_api.c                |   2 +-
 tests/intel/i915_pm_freq_mult.c               |   4 +-
 tests/intel/i915_pm_rc6_residency.c           |   8 +-
 tests/intel/i915_pm_rpm.c                     |   4 +-
 tests/intel/i915_pm_rps.c                     |   4 +-
 tests/intel/i915_pm_sseu.c                    |   2 +-
 tests/intel/i915_power.c                      |   4 +-
 tests/intel/i915_query.c                      |   6 +-
 tests/intel/i915_suspend.c                    |   4 +-
 tests/intel/intel_hwmon.c                     |   4 +-
 tests/intel/kms_big_fb.c                      |   8 +-
 tests/intel/kms_busy.c                        |   8 +-
 tests/intel/kms_ccs.c                         |   8 +-
 tests/intel/kms_cdclk.c                       |   4 +-
 tests/intel/kms_dirtyfb.c                     |   4 +-
 tests/intel/kms_dp_link_training.c            |   4 +-
 tests/intel/kms_dp_linktrain_fallback.c       |   4 +-
 tests/intel/kms_draw_crc.c                    |   4 +-
 tests/intel/kms_dsc.c                         |   4 +-
 tests/intel/kms_fb_coherency.c                |   4 +-
 tests/intel/kms_fbc_dirty_rect.c              |   4 +-
 tests/intel/kms_fbcon_fbt.c                   |   4 +-
 tests/intel/kms_flip_scaled_crc.c             |   4 +-
 tests/intel/kms_flip_tiling.c                 |   4 +-
 tests/intel/kms_frontbuffer_tracking.c        |   6 +-
 tests/intel/kms_joiner.c                      |  12 +-
 tests/intel/kms_legacy_colorkey.c             |   4 +-
 tests/intel/kms_mmap_write_crc.c              |   4 +-
 tests/intel/kms_pipe_b_c_ivb.c                |   4 +-
 tests/intel/kms_pipe_stress.c                 |   4 +-
 tests/intel/kms_pm_backlight.c                |   4 +-
 tests/intel/kms_pm_dc.c                       |   4 +-
 tests/intel/kms_pm_lpsp.c                     |   4 +-
 tests/intel/kms_pm_rpm.c                      |   4 +-
 tests/intel/kms_psr.c                         |   4 +-
 tests/intel/kms_psr2_sf.c                     |   4 +-
 tests/intel/kms_psr2_su.c                     |   4 +-
 tests/intel/kms_psr_stress_test.c             |   4 +-
 tests/intel/perf.c                            |   6 +-
 tests/intel/perf_pmu.c                        |  10 +-
 tests/intel/prime_busy.c                      |   6 +-
 tests/intel/prime_mmap.c                      |   4 +-
 tests/intel/prime_mmap_coherency.c            |   4 +-
 tests/intel/prime_mmap_kms.c                  |   4 +-
 tests/intel/sysfs_defaults.c                  |   4 +-
 tests/intel/sysfs_heartbeat_interval.c        |   4 +-
 tests/intel/sysfs_preempt_timeout.c           |   4 +-
 tests/intel/sysfs_timeslice_duration.c        |   4 +-
 tests/intel/xe_ccs.c                          |   4 +-
 tests/intel/xe_compute.c                      |   6 +-
 tests/intel/xe_compute_preempt.c              |   4 +-
 tests/intel/xe_configfs.c                     |   4 +-
 tests/intel/xe_copy_basic.c                   |   4 +-
 tests/intel/xe_create.c                       |   4 +-
 tests/intel/xe_debugfs.c                      |   4 +-
 tests/intel/xe_dma_buf_sync.c                 |   4 +-
 tests/intel/xe_drm_fdinfo.c                   |   4 +-
 tests/intel/xe_eu_stall.c                     |   4 +-
 tests/intel/xe_eudebug.c                      |   8 +-
 tests/intel/xe_eudebug_online.c               |   6 +-
 tests/intel/xe_eudebug_sriov.c                |   4 +-
 tests/intel/xe_evict.c                        |   4 +-
 tests/intel/xe_evict_ccs.c                    |   6 +-
 tests/intel/xe_exec_atomic.c                  |   4 +-
 tests/intel/xe_exec_balancer.c                |   4 +-
 tests/intel/xe_exec_basic.c                   |   4 +-
 tests/intel/xe_exec_capture.c                 |   4 +-
 tests/intel/xe_exec_compute_mode.c            |   4 +-
 tests/intel/xe_exec_fault_mode.c              |   4 +-
 tests/intel/xe_exec_mix_modes.c               |   4 +-
 tests/intel/xe_exec_queue_property.c          |   6 +-
 tests/intel/xe_exec_reset.c                   |   4 +-
 tests/intel/xe_exec_sip.c                     |   4 +-
 tests/intel/xe_exec_sip_eudebug.c             |  12 +-
 tests/intel/xe_exec_store.c                   |   4 +-
 tests/intel/xe_exec_system_allocator.c        |   4 +-
 tests/intel/xe_exec_threads.c                 |   4 +-
 tests/intel/xe_exercise_blt.c                 |   4 +-
 tests/intel/xe_fault_injection.c              |   6 +-
 tests/intel/xe_gpgpu_fill.c                   |   4 +-
 tests/intel/xe_gt_freq.c                      |   4 +-
 tests/intel/xe_huc_copy.c                     |   4 +-
 tests/intel/xe_intel_bb.c                     |   4 +-
 tests/intel/xe_media_fill.c                   |   4 +-
 tests/intel/xe_mmap.c                         |   6 +-
 tests/intel/xe_noexec_ping_pong.c             |   4 +-
 tests/intel/xe_oa.c                           |  10 +-
 tests/intel/xe_pat.c                          |   4 +-
 tests/intel/xe_peer2peer.c                    |   4 +-
 tests/intel/xe_pm.c                           |   6 +-
 tests/intel/xe_pm_residency.c                 |   4 +-
 tests/intel/xe_pmu.c                          |  16 +--
 tests/intel/xe_prime_self_import.c            |   4 +-
 tests/intel/xe_pxp.c                          |   4 +-
 tests/intel/xe_query.c                        |   4 +-
 tests/intel/xe_render_copy.c                  |   4 +-
 tests/intel/xe_spin_batch.c                   |   4 +-
 tests/intel/xe_sriov_auto_provisioning.c      |   4 +-
 tests/intel/xe_sriov_flr.c                    |   4 +-
 tests/intel/xe_sriov_scheduling.c             |   4 +-
 tests/intel/xe_sriov_vram.c                   |   4 +-
 tests/intel/xe_survivability.c                |   4 +-
 tests/intel/xe_sysfs_defaults.c               |   4 +-
 tests/intel/xe_sysfs_preempt_timeout.c        |   4 +-
 tests/intel/xe_sysfs_scheduler.c              |   4 +-
 tests/intel/xe_sysfs_timeslice_duration.c     |   4 +-
 tests/intel/xe_tlb.c                          |   4 +-
 tests/intel/xe_vm.c                           |   4 +-
 tests/intel/xe_waitfence.c                    |   4 +-
 tests/intel/xe_wedged.c                       |   4 +-
 tests/kms_3d.c                                |   4 +-
 tests/kms_addfb_basic.c                       |  50 +++----
 tests/kms_async_flips.c                       |   6 +-
 tests/kms_atomic.c                            |   4 +-
 tests/kms_atomic_interruptible.c              |   4 +-
 tests/kms_atomic_transition.c                 |   4 +-
 tests/kms_bw.c                                |   4 +-
 tests/kms_color.c                             |   6 +-
 tests/kms_concurrent.c                        |   4 +-
 tests/kms_content_protection.c                |   8 +-
 tests/kms_cursor_crc.c                        |  16 +--
 tests/kms_cursor_edge_walk.c                  |   6 +-
 tests/kms_cursor_legacy.c                     |  20 +--
 tests/kms_debugfs.c                           |   4 +-
 tests/kms_display_modes.c                     |   4 +-
 tests/kms_dither.c                            |   4 +-
 tests/kms_feature_discovery.c                 |   6 +-
 tests/kms_flip.c                              |   4 +-
 tests/kms_flip_event_leak.c                   |   4 +-
 tests/kms_force_connector_basic.c             |   4 +-
 tests/kms_getfb.c                             |  20 +--
 tests/kms_hdmi_inject.c                       |   4 +-
 tests/kms_hdr.c                               |   4 +-
 tests/kms_invalid_mode.c                      |   4 +-
 tests/kms_lease.c                             |   6 +-
 tests/kms_multipipe_modeset.c                 |   4 +-
 tests/kms_panel_fitting.c                     |   6 +-
 tests/kms_pipe_crc_basic.c                    |   4 +-
 tests/kms_plane.c                             |   4 +-
 tests/kms_plane_alpha_blend.c                 |   4 +-
 tests/kms_plane_cursor.c                      |   4 +-
 tests/kms_plane_lowres.c                      |   4 +-
 tests/kms_plane_multiple.c                    |   4 +-
 tests/kms_plane_scaling.c                     |   8 +-
 tests/kms_prime.c                             |  12 +-
 tests/kms_prop_blob.c                         |   8 +-
 tests/kms_properties.c                        |   6 +-
 tests/kms_rmfb.c                              |   4 +-
 tests/kms_rotation_crc.c                      |   6 +-
 tests/kms_scaling_modes.c                     |   4 +-
 tests/kms_sequence.c                          |   4 +-
 tests/kms_setmode.c                           |   4 +-
 tests/kms_sharpness_filter.c                  |   4 +-
 tests/kms_tiled_display.c                     |   4 +-
 tests/kms_tv_load_detect.c                    |   4 +-
 tests/kms_universal_plane.c                   |   4 +-
 tests/kms_vblank.c                            |   4 +-
 tests/kms_vrr.c                               |   6 +-
 tests/kms_writeback.c                         |   4 +-
 tests/meta_test.c                             |   2 +-
 tests/msm/msm_mapping.c                       |   4 +-
 tests/msm/msm_recovery.c                      |   4 +-
 tests/msm/msm_shrink.c                        |   4 +-
 tests/msm/msm_submit.c                        |   4 +-
 tests/msm/msm_submitoverhead.c                |   4 +-
 tests/nouveau_crc.c                           |   8 +-
 tests/panfrost/panfrost_gem_new.c             |   4 +-
 tests/panfrost/panfrost_get_param.c           |   4 +-
 tests/panfrost/panfrost_prime.c               |   4 +-
 tests/panfrost/panfrost_submit.c              |   4 +-
 tests/panthor/panthor_gem.c                   |   4 +-
 tests/panthor/panthor_group.c                 |   4 +-
 tests/panthor/panthor_query.c                 |   4 +-
 tests/panthor/panthor_vm.c                    |   4 +-
 tests/prime_nv_api.c                          |   4 +-
 tests/prime_nv_pcopy.c                        |   4 +-
 tests/prime_nv_test.c                         |   4 +-
 tests/prime_vgem.c                            |  16 +--
 tests/sriov_basic.c                           |   4 +-
 tests/sw_sync.c                               |   2 +-
 tests/syncobj_basic.c                         |   4 +-
 tests/syncobj_eventfd.c                       |   4 +-
 tests/syncobj_timeline.c                      |   4 +-
 tests/syncobj_wait.c                          |   4 +-
 tests/template.c                              |   6 +-
 tests/tools_test.c                            |   2 +-
 tests/v3d/v3d_create_bo.c                     |   4 +-
 tests/v3d/v3d_get_bo_offset.c                 |   4 +-
 tests/v3d/v3d_get_param.c                     |   4 +-
 tests/v3d/v3d_job_submission.c                |   4 +-
 tests/v3d/v3d_mmap.c                          |   4 +-
 tests/v3d/v3d_perfmon.c                       |   4 +-
 tests/v3d/v3d_submit_cl.c                     |   4 +-
 tests/v3d/v3d_submit_csd.c                    |   4 +-
 tests/v3d/v3d_wait_bo.c                       |   4 +-
 tests/vc4/vc4_create_bo.c                     |   4 +-
 tests/vc4/vc4_dmabuf_poll.c                   |   4 +-
 tests/vc4/vc4_label_bo.c                      |   4 +-
 tests/vc4/vc4_lookup_fail.c                   |   4 +-
 tests/vc4/vc4_mmap.c                          |   4 +-
 tests/vc4/vc4_perfmon.c                       |   4 +-
 tests/vc4/vc4_purgeable_bo.c                  |   4 +-
 tests/vc4/vc4_tiling.c                        |   4 +-
 tests/vc4/vc4_wait_bo.c                       |   4 +-
 tests/vc4/vc4_wait_seqno.c                    |   4 +-
 tests/vgem_basic.c                            |   8 +-
 tests/vgem_slow.c                             |   4 +-
 tests/vkms/vkms_configfs.c                    |   4 +-
 tests/vmwgfx/vmw_execution_buffer.c           |   4 +-
 tests/vmwgfx/vmw_mob_stress.c                 |   4 +-
 tests/vmwgfx/vmw_prime.c                      |   8 +-
 tests/vmwgfx/vmw_ref_count.c                  |   4 +-
 tests/vmwgfx/vmw_surface_copy.c               |   4 +-
 tests/vmwgfx/vmw_tri.c                        |   4 +-
 408 files changed, 1146 insertions(+), 1146 deletions(-)

diff --git a/benchmarks/gem_userptr_benchmark.c b/benchmarks/gem_userptr_benchmark.c
index 3b5894321934..cfd50252438a 100644
--- a/benchmarks/gem_userptr_benchmark.c
+++ b/benchmarks/gem_userptr_benchmark.c
@@ -454,7 +454,7 @@ igt_main
 {
 	int fd = -1, ret;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_assert(fd >= 0);
 
@@ -472,7 +472,7 @@ igt_main
 	igt_subtest("userptr-impact-sync-overlap")
 		test_impact_overlap(fd, "sync-");
 
-	igt_fixture {
+	igt_fixture() {
 		close(fd);
 	}
 }
diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index 5c26798129fc..39c66395a33c 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -313,7 +313,7 @@ static void sig_handler(int i)
  * helper can also be used from children spawned with #igt_fork.
  *
  * In tests with subtests this function can be called outside of failure
- * catching code blocks like #igt_fixture or #igt_subtest.
+ * catching code blocks like #igt_fixture() or #igt_subtest.
  *
  * Note that this just spews signals at the current process unconditionally and
  * hence incurs quite a bit of overhead. For a more focused approach, with less
@@ -350,7 +350,7 @@ void igt_fork_signal_helper(void)
  * Stops the child process spawned with igt_fork_signal_helper() again.
  *
  * In tests with subtests this function can be called outside of failure
- * catching code blocks like #igt_fixture or #igt_subtest.
+ * catching code blocks like #igt_fixture() or #igt_subtest.
  */
 void igt_stop_signal_helper(void)
 {
@@ -419,7 +419,7 @@ __noreturn static void shrink_helper_process(int fd, pid_t pid)
  *
  * This is useful to exercise swapping paths, without requiring us to hit swap.
  *
- * This should only be used from an igt_fixture.
+ * This should only be used from an igt_fixture().
  */
 void igt_fork_shrink_helper(int drm_fd)
 {
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 4477cfef157a..190f59c3411a 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -118,10 +118,10 @@
  * never run any code which might fail (like trying to do privileged operations
  * or opening device driver nodes).
  *
- * To allow this i-g-t provides #igt_fixture code blocks for setup code outside
+ * To allow this i-g-t provides #igt_fixture() code blocks for setup code outside
  * of subtests and automatically skips the subtest code blocks themselves. For
  * special cases igt_only_list_subtests() is also provided. For setup code only
- * shared by a group of subtest encapsulate the #igt_fixture block and all the
+ * shared by a group of subtest encapsulate the #igt_fixture() block and all the
  * subtestest in a #igt_subtest_group block.
  *
  * # Magic Control Blocks
@@ -141,7 +141,7 @@
  *   issues.
  *
  * - Code blocks with magic control flow are implemented with setjmp()
- *   and longjmp(). This applies to #igt_fixture, #igt_subtest,
+ *   and longjmp(). This applies to #igt_fixture(), #igt_subtest,
  *   #igt_subtest_with_dynamic and #igt_dynamic
  *   blocks and all the three variants to finish test: igt_success(),
  *   igt_skip() and igt_fail(). Mostly this is of no concern, except
@@ -768,11 +768,11 @@ void __igt_assert_in_outer_scope(void)
 bool __igt_fixture(void)
 {
 	internal_assert(!in_fixture,
-			"nesting multiple igt_fixtures is invalid\n");
+			"nesting multiple igt_fixture()s is invalid\n");
 	internal_assert(!in_subtest,
-			"nesting igt_fixture in igt_subtest is invalid\n");
+			"nesting igt_fixture() in igt_subtest is invalid\n");
 	internal_assert(test_with_subtests,
-			"igt_fixture in igt_simple_main is invalid\n");
+			"igt_fixture() in igt_simple_main is invalid\n");
 
 	if (igt_only_list_subtests())
 		return false;
@@ -1974,7 +1974,7 @@ void igt_fatal_error(void)
 /**
  * igt_can_fail:
  *
- * Returns true if called from either an #igt_fixture, #igt_subtest or a
+ * Returns true if called from either an #igt_fixture(), #igt_subtest or a
  * testcase without subtests, i.e. #igt_simple_main. Returns false otherwise. In
  * other words, it checks whether it's legal to call igt_fail(), igt_skip_on()
  * and all the convenience macros build around those.
@@ -3119,7 +3119,7 @@ bool igt_run_in_simulation(void)
  * igt_skip() internally and hence is fully subtest aware.
  *
  * Note that in contrast to all other functions which use igt_skip() internally
- * it is allowed to use this outside of an #igt_fixture block in a test with
+ * it is allowed to use this outside of an #igt_fixture() block in a test with
  * subtests. This is because in contrast to most other test requirements,
  * checking for simulation mode doesn't depend upon the present hardware and it
  * so makes a lot of sense to have this check in the outermost #igt_main block.
@@ -3130,7 +3130,7 @@ void igt_skip_on_simulation(void)
 		return;
 
 	if (!igt_can_fail()) {
-		igt_fixture
+		igt_fixture()
 			igt_require(!igt_run_in_simulation());
 	} else
 		igt_require(!igt_run_in_simulation());
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 6f462205facf..e03df8888453 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -149,16 +149,16 @@ bool __igt_fixture(void);
 void __igt_fixture_complete(void);
 __noreturn void __igt_fixture_end(void);
 /**
- * igt_fixture:
+ * igt_fixture():
  *
  * Annotate global test fixture code
  *
  * Testcase with subtests often need to set up a bunch of global state as the
  * common test fixture. To avoid such code interfering with the subtest
  * enumeration (e.g. when enumerating on systems without an intel gpu) such
- * blocks should be annotated with igt_fixture.
+ * blocks should be annotated with igt_fixture().
  */
-#define igt_fixture for (volatile int igt_unique(__tmpint) = 0; \
+#define igt_fixture() for (volatile int igt_unique(__tmpint) = 0; \
 			 igt_unique(__tmpint) < 1 && \
 			 (STATIC_ANALYSIS_BUILD || \
 			 (__igt_fixture() && \
@@ -398,7 +398,7 @@ void __igt_subtest_group_restore(int, int);
  * e.g. igt_require() would result in all subsequent tests skipping. Even those
  * from a different group.
  *
- * This macro allows to group together a set of #igt_fixture and #igt_subtest
+ * This macro allows to group together a set of #igt_fixture() and #igt_subtest
  * clauses. If any common setup in a fixture fails, only the subtests in this
  * group will fail or skip. Subtest groups can be arbitrarily nested.
  */
diff --git a/lib/igt_dir.c b/lib/igt_dir.c
index e232dbda9c8e..560c0e89a0ea 100644
--- a/lib/igt_dir.c
+++ b/lib/igt_dir.c
@@ -18,7 +18,7 @@
  * Utilities to facilitate reading and processing files within a directory.
  * For example, to read and discard all files from debugfs:
  *
- * igt_fixture {
+ * igt_fixture() {
  *	fd = drm_open_driver_master(DRIVER_ANY);
  *	debugfs = igt_debugfs_dir(fd);
  * }
@@ -27,7 +27,7 @@
  * igt_dir_scan_dirfd(igt_dir, -1); // -1 means unlimited scan depth
  * igt_dir_process_files(igt_dir, NULL, NULL);
  *
- * igt_fixture {
+ * igt_fixture() {
  *	igt_dir_destroy(igt_dir);
  *	closedir(debugfs);
  *	drm_close_driver(fd);
@@ -47,14 +47,14 @@
  * igt_dir_process_files(), and igt_dir_destroy(). For using the "_simple"
  * interface:
  *
- * igt_fixture {
+ * igt_fixture() {
  *	fd = drm_open_driver_master(DRIVER_ANY);
  *	debugfs = igt_debugfs_dir(fd);
  * }
  *
  * igt_dir_process_files_simple(debugfs);
  *
- * igt_fixture {
+ * igt_fixture() {
  *	igt_dir_destroy(igt_dir);
  *	closedir(debugfs);
  *	drm_close_driver(fd);
diff --git a/lib/igt_gt.c b/lib/igt_gt.c
index bec50e38833c..d8cccb800273 100644
--- a/lib/igt_gt.c
+++ b/lib/igt_gt.c
@@ -483,7 +483,7 @@ void igt_fork_hang_helper(void)
  * Stops the child process spawned with igt_fork_hang_helper().
  *
  * In tests with subtests this function can be called outside of failure
- * catching code blocks like #igt_fixture or #igt_subtest.
+ * catching code blocks like #igt_fixture() or #igt_subtest.
  */
 void igt_stop_hang_helper(void)
 {
diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c
index 68ab4dbd575f..dd223a0f8ca6 100644
--- a/lib/igt_kmod.c
+++ b/lib/igt_kmod.c
@@ -1199,7 +1199,7 @@ void igt_kunit(const char *module_name, const char *suite, const char *opts)
 	igt_ignore_warn(igt_kmod_load("kunit", NULL));
 	kunit_debugfs_path(debugfs_path);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_require(subtest);
 		igt_require(*debugfs_path);
 
@@ -1222,7 +1222,7 @@ void igt_kunit(const char *module_name, const char *suite, const char *opts)
 		__igt_kunit(&tst, subtest, opts, debugfs_path, &tests, &ktap);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		char *suite_name = NULL, *case_name = NULL;
 
 		igt_ktap_free(&ktap);
@@ -1365,7 +1365,7 @@ void igt_kselftests(const char *module_name,
 	if (igt_ktest_init(&tst, module_name) != 0)
 		return;
 
-	igt_fixture
+	igt_fixture()
 		igt_require(igt_ktest_begin(&tst) == 0);
 
 	igt_kselftest_get_tests(tst.kmod, filter, &tests);
@@ -1390,7 +1390,7 @@ void igt_kselftests(const char *module_name,
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_ktest_end(&tst);
 		igt_require(!igt_list_empty(&tests));
 	}
diff --git a/lib/igt_types.h b/lib/igt_types.h
index c4bc01ecdb3b..6f020e65c470 100644
--- a/lib/igt_types.h
+++ b/lib/igt_types.h
@@ -23,7 +23,7 @@
  * 	igt_subtest_group() {
  * 		igt_fd_t(fd);
  *
- * 		igt_fixture {
+ * 		igt_fixture() {
  * 			fd = drm_open_driver();
  * 		}
  *
diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
index 4bc1cf5b65c1..3b25a385b78c 100644
--- a/lib/intel_batchbuffer.c
+++ b/lib/intel_batchbuffer.c
@@ -1110,7 +1110,7 @@ static bool has_ctx_cfg(struct intel_bb *ibb)
  *
  * Notes:
  *
- * intel_bb must not be created in igt_fixture. The reason is intel_bb
+ * intel_bb must not be created in igt_fixture(). The reason is intel_bb
  * "opens" connection to the allocator and when test completes it can
  * leave the allocator in unknown state (mostly for failed tests).
  * As igt_core was armed to reset the allocator infrastructure
diff --git a/lib/tests/igt_abort.c b/lib/tests/igt_abort.c
index 356e41679451..9947caa2a1b7 100644
--- a/lib/tests/igt_abort.c
+++ b/lib/tests/igt_abort.c
@@ -44,7 +44,7 @@ __noreturn static void fake_fixture_test(void)
 {
 	igt_subtest_init(fake_argc, fake_argv);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_abort_on_f(true, "I'm out!\n");
 	}
 
diff --git a/lib/tests/igt_audio.c b/lib/tests/igt_audio.c
index c0727673cb1e..7716ef28c9f4 100644
--- a/lib/tests/igt_audio.c
+++ b/lib/tests/igt_audio.c
@@ -181,7 +181,7 @@ igt_main
 	size_t i;
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			signal = audio_signal_init(CHANNELS, SAMPLING_RATE);
 
 			for (i = 0; i < test_freqs_len; i++) {
@@ -215,7 +215,7 @@ igt_main
 		igt_subtest("signal-detect-phaseshift")
 			test_signal_detect_phaseshift(signal);
 
-		igt_fixture {
+		igt_fixture() {
 			audio_signal_fini(signal);
 		}
 	}
diff --git a/lib/tests/igt_can_fail.c b/lib/tests/igt_can_fail.c
index 1e3d9558728f..2f145412ad67 100644
--- a/lib/tests/igt_can_fail.c
+++ b/lib/tests/igt_can_fail.c
@@ -30,7 +30,7 @@ igt_main
 {
 	internal_assert(igt_can_fail() == false);
 
-	igt_fixture {
+	igt_fixture() {
 		internal_assert(igt_can_fail());
 	}
 
diff --git a/lib/tests/igt_describe.c b/lib/tests/igt_describe.c
index d71e051e7667..54bd729ad1f4 100644
--- a/lib/tests/igt_describe.c
+++ b/lib/tests/igt_describe.c
@@ -42,7 +42,7 @@ __noreturn static void fake_main(void)
 	igt_subtest("A")
 		;
 
-	igt_fixture
+	igt_fixture()
 		printf("should not be executed!\n");
 
 	igt_describe("Group with B, C & D");
diff --git a/lib/tests/igt_exit_handler.c b/lib/tests/igt_exit_handler.c
index 892a7f141e90..873acbf91b59 100644
--- a/lib/tests/igt_exit_handler.c
+++ b/lib/tests/igt_exit_handler.c
@@ -76,7 +76,7 @@ static int testfunc(enum test_type test_type)
 	if (pid == 0) {
 		igt_subtest_init(fake_argc, fake_argv);
 
-		igt_fixture {
+		igt_fixture() {
 			/* register twice, should only be called once */
 			igt_install_exit_handler(exit_handler1);
 			igt_install_exit_handler(exit_handler1);
diff --git a/lib/tests/igt_hook.c b/lib/tests/igt_hook.c
index 420a19c721ae..90b4657af3cb 100644
--- a/lib/tests/igt_hook.c
+++ b/lib/tests/igt_hook.c
@@ -157,7 +157,7 @@ igt_main
 		test_print_help();
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require_f(system(NULL), "Shell seems not to be available\n");
 		}
 
diff --git a/lib/tests/igt_nesting.c b/lib/tests/igt_nesting.c
index 6b209af8299c..16ffbaf6ebd1 100644
--- a/lib/tests/igt_nesting.c
+++ b/lib/tests/igt_nesting.c
@@ -44,14 +44,14 @@ __noreturn static void all_valid(void)
 {
 	igt_subtest_init(fake_argc, fake_argv);
 
-	igt_fixture {
+	igt_fixture() {
 	}
 
 	igt_subtest_group {
 		igt_subtest_group {
 		}
 
-		igt_fixture {
+		igt_fixture() {
 		}
 
 		igt_subtest("a")
@@ -131,8 +131,8 @@ __noreturn static void invalid_fixture_in_fixture(void)
 {
 	igt_subtest_init(fake_argc, fake_argv);
 
-	igt_fixture {
-		igt_fixture {
+	igt_fixture() {
+		igt_fixture() {
 		}
 	}
 
@@ -178,7 +178,7 @@ __noreturn static void invalid_fixture_in_subtest(void)
 	igt_subtest_init(fake_argc, fake_argv);
 
 	igt_subtest("a") {
-		igt_fixture {
+		igt_fixture() {
 		}
 	}
 
diff --git a/lib/tests/igt_simulation.c b/lib/tests/igt_simulation.c
index 9a2cf2aae12e..069f8128f5f4 100644
--- a/lib/tests/igt_simulation.c
+++ b/lib/tests/igt_simulation.c
@@ -65,7 +65,7 @@ __noreturn static void fake_test(void)
 		}
 
 		if (in_fixture) {
-			igt_fixture
+			igt_fixture()
 				igt_skip_on_simulation();
 		} if (in_subtest) {
 			igt_subtest("sim")
diff --git a/lib/tests/igt_subtest_group.c b/lib/tests/igt_subtest_group.c
index 973a30e4e128..e42b1ef1305e 100644
--- a/lib/tests/igt_subtest_group.c
+++ b/lib/tests/igt_subtest_group.c
@@ -37,12 +37,12 @@ igt_main
 	volatile int t2 = 0;
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(true);
 		}
 
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				igt_require(false);
 			}
 
@@ -67,7 +67,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			internal_assert(t2 == 0);
 			t2 = 1;
 		}
@@ -77,7 +77,7 @@ igt_main
 			t2 = 2;
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			internal_assert(t2 == 2);
 			t2 = 3;
 
diff --git a/lib/tests/igt_types.c b/lib/tests/igt_types.c
index 75dd58b9c042..eb05393616bf 100644
--- a/lib/tests/igt_types.c
+++ b/lib/tests/igt_types.c
@@ -24,14 +24,14 @@ static void delegate(void)
 {
 	scoped_int_t(x);
 
-	igt_fixture
+	igt_fixture()
 		x = 1;
 
 	igt_describe("Pretend to be doing a subtest");
 	igt_subtest("empty-subtest")
 		x = 2;
 
-	igt_fixture {
+	igt_fixture() {
 		/* Check that we went through both blocks without cleanup */
 		igt_assert(!cleanup_called);
 		igt_assert(x == 2);
@@ -42,7 +42,7 @@ static void skip_delegate(void)
 {
 	scoped_int_t(x);
 
-	igt_fixture
+	igt_fixture()
 		x = 1;
 
 	igt_describe("Check if skipping a test will not update a scoped variable");
@@ -52,7 +52,7 @@ static void skip_delegate(void)
 		x = 2; /* not reached due to lonjmp from igt_skip */
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		/* Check that we went through both blocks without cleanup */
 		igt_assert(!cleanup_called);
 		igt_assert(x == 1);
@@ -63,7 +63,7 @@ igt_main
 {
 	/* Basic check that scopes will call their destructor */
 	cleanup_called = 0;
-	igt_fixture {
+	igt_fixture() {
 		scoped_int_t(x);
 	}
 
@@ -76,7 +76,7 @@ igt_main
 	igt_subtest_group {
 		scoped_int_t(x);
 
-		igt_fixture {
+		igt_fixture() {
 			x = 0xdeadbeef;
 		}
 
diff --git a/runner/resultgen.c b/runner/resultgen.c
index c96aa67414f8..1f7e79f24694 100644
--- a/runner/resultgen.c
+++ b/runner/resultgen.c
@@ -524,7 +524,7 @@ static const char *find_subtest_begin_limit_limited(struct matches matches,
 	if (begin_idx < first_idx) {
 		/*
 		 * Subtest didn't start, but we have the
-		 * result. Probably because an igt_fixture
+		 * result. Probably because an igt_fixture()
 		 * made it fail/skip.
 		 *
 		 * We go backwards one match from the result match,
diff --git a/runner/runner_kmemleak_test.c b/runner/runner_kmemleak_test.c
index ae3ebe113418..8030ff621c62 100644
--- a/runner/runner_kmemleak_test.c
+++ b/runner/runner_kmemleak_test.c
@@ -220,7 +220,7 @@ igt_main
 	int resdirfd;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		/* resdirfd is used by runner_kmemleak() to store results */
 		igt_assert(resdirfd = open(runner_kmemleak_unit_testing_resdir,
 					   O_DIRECTORY | O_RDONLY));
@@ -258,10 +258,10 @@ igt_main
 			igt_assert(runner_kmemleak("test_name_3", resdirfd,
 						   true, false));
 		}
-		igt_fixture {
+		igt_fixture() {
 			close(resdirfd);
 		}
 	}
-	igt_fixture
+	igt_fixture()
 		unlinkat(resdirfd, KMEMLEAK_RESFILENAME, 0);
 }
diff --git a/runner/runner_tests.c b/runner/runner_tests.c
index e62e7b34d4f9..b360cdd8bfcf 100644
--- a/runner/runner_tests.c
+++ b/runner/runner_tests.c
@@ -15,7 +15,7 @@
 #include "resultgen.h"
 
 /*
- * NOTE: this test is using a lot of variables that are changed in igt_fixture,
+ * NOTE: this test is using a lot of variables that are changed in igt_fixture(),
  * igt_subtest_group and igt_subtests blocks but defined outside of them.
  *
  * Such variables have to be either non-local or volatile, otherwise their
@@ -106,7 +106,7 @@ static void job_list_filter_test(const char *name, const char *filterarg1, const
 	int multiple;
 	struct settings *settings = malloc(sizeof(*settings));
 
-	igt_fixture
+	igt_fixture()
 		init_settings(settings);
 
 	for (multiple = 0; multiple < 2; multiple++) {
@@ -139,7 +139,7 @@ static void job_list_filter_test(const char *name, const char *filterarg1, const
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		clear_settings(settings);
 		free(settings);
 	}
@@ -265,7 +265,7 @@ igt_main
 {
 	struct settings *settings = malloc(sizeof(*settings));
 
-	igt_fixture {
+	igt_fixture() {
 		int i;
 
 		/*
@@ -327,7 +327,7 @@ igt_main
 		char *cwd;
 		char *path;
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require((cwd = realpath(".", NULL)) != NULL);
 			path = NULL;
 		}
@@ -349,7 +349,7 @@ igt_main
 			}
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			free(cwd);
 			free(path);
 		}
@@ -361,7 +361,7 @@ igt_main
 		char pathtotestlist[64];
 		volatile char *path;
 
-		igt_fixture {
+		igt_fixture() {
 			int dirfd, fd;
 
 			path = NULL;
@@ -400,7 +400,7 @@ igt_main
 			igt_assert_eqstr(settings->test_list, (char*)path);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			int dirfd;
 
 			igt_require((dirfd = open(dirname, O_DIRECTORY | O_RDONLY)) >= 0);
@@ -443,7 +443,7 @@ igt_main
 		igt_assert(!settings->piglit_style_dmesg);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		unsetenv("IGT_TEST_ROOT");
 	}
 
@@ -760,7 +760,7 @@ igt_main
 	igt_subtest_group {
 		char filename[] = "tmplistXXXXXX";
 
-		igt_fixture {
+		igt_fixture() {
 			int fd;
 			igt_require((fd = mkstemp(filename)) >= 0);
 			close(fd);
@@ -779,7 +779,7 @@ igt_main
 			igt_assert(validate_settings(settings));
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			unlink(filename);
 		}
 	}
@@ -802,7 +802,7 @@ igt_main
 		char dirname[] = "tmpdirXXXXXX";
 		struct job_list *list = malloc(sizeof(*list));
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(mkdtemp(dirname) != NULL);
 			init_job_list(list);
 		}
@@ -818,7 +818,7 @@ igt_main
 			igt_assert(!create_job_list(list, settings));
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			rmdir(dirname);
 			free_job_list(list);
 			free(list);
@@ -841,7 +841,7 @@ igt_main
 		int multiple;
 		struct job_list *list = malloc(sizeof(*list));
 
-		igt_fixture {
+		igt_fixture() {
 			int fd;
 			igt_require((fd = mkstemp(filename)) >= 0);
 			igt_require(write(fd, testlisttext, strlen(testlisttext)) == strlen(testlisttext));
@@ -896,7 +896,7 @@ igt_main
 			}
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			unlink(filename);
 			free_job_list(list);
 			free(list);
@@ -911,7 +911,7 @@ igt_main
 		int multiple;
 		struct job_list *list = malloc(sizeof(*list));
 
-		igt_fixture {
+		igt_fixture() {
 			int fd;
 			igt_require((fd = mkstemp(filename)) >= 0);
 			igt_require(write(fd, testlisttext, strlen(testlisttext)) == strlen(testlisttext));
@@ -956,7 +956,7 @@ igt_main
 			}
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			unlink(filename);
 			free_job_list(list);
 			free(list);
@@ -968,7 +968,7 @@ igt_main
 		volatile int dirfd = -1, fd = -1;
 		struct settings *cmp_settings = malloc(sizeof(*cmp_settings));
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(mkdtemp(dirname) != NULL);
 			rmdir(dirname);
 			init_settings(cmp_settings);
@@ -1019,7 +1019,7 @@ igt_main
 			assert_settings_equal(settings, cmp_settings);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			close(fd);
 			close(dirfd);
 			clear_directory(dirname);
@@ -1037,7 +1037,7 @@ igt_main
 		list = malloc(sizeof(*list));
 		cmp_list = malloc(sizeof(*cmp_list));
 
-		igt_fixture {
+		igt_fixture() {
 			init_job_list(list);
 			init_job_list(cmp_list);
 			igt_require(mkdtemp(dirname) != NULL);
@@ -1071,7 +1071,7 @@ igt_main
 				assert_job_list_equal(list, cmp_list);
 			}
 
-			igt_fixture {
+			igt_fixture() {
 				close(fd);
 				close(dirfd);
 				clear_directory(dirname);
@@ -1080,7 +1080,7 @@ igt_main
 			}
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			free(cmp_list);
 			free(list);
 		}
@@ -1091,7 +1091,7 @@ igt_main
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
 
-		igt_fixture {
+		igt_fixture() {
 			init_job_list(list);
 			igt_require(mkdtemp(dirname) != NULL);
 			rmdir(dirname);
@@ -1160,7 +1160,7 @@ igt_main
 			igt_assert_eqstr(env_var->value, "ENV_VARS");
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			close(fd);
 			close(dirfd);
 			close(subdirfd);
@@ -1175,7 +1175,7 @@ igt_main
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, fd = -1;
 
-		igt_fixture {
+		igt_fixture() {
 			init_job_list(list);
 			igt_require(mkdtemp(dirname) != NULL);
 			rmdir(dirname);
@@ -1210,7 +1210,7 @@ igt_main
 				     "Execute state initialization created uname.txt.\n");
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			close(fd);
 			close(dirfd);
 			clear_directory(dirname);
@@ -1224,7 +1224,7 @@ igt_main
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
 
-		igt_fixture {
+		igt_fixture() {
 			init_job_list(list);
 			igt_require(mkdtemp(dirname) != NULL);
 		}
@@ -1266,7 +1266,7 @@ igt_main
 			igt_assert_eqstr(list->entries[0].subtests[1], excludestring);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			close(fd);
 			close(subdirfd);
 			close(dirfd);
@@ -1281,7 +1281,7 @@ igt_main
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
 
-		igt_fixture {
+		igt_fixture() {
 			init_job_list(list);
 			igt_require(mkdtemp(dirname) != NULL);
 		}
@@ -1322,7 +1322,7 @@ igt_main
 			igt_assert_eqstr(list->entries[0].subtests[1], excludestring);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			close(fd);
 			close(subdirfd);
 			close(dirfd);
@@ -1337,7 +1337,7 @@ igt_main
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
 
-		igt_fixture {
+		igt_fixture() {
 			init_job_list(list);
 			igt_require(mkdtemp(dirname) != NULL);
 		}
@@ -1378,7 +1378,7 @@ igt_main
 			igt_assert_eq(list->entries[0].subtest_count, 4);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			close(fd);
 			close(subdirfd);
 			close(dirfd);
@@ -1393,7 +1393,7 @@ igt_main
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
 
-		igt_fixture {
+		igt_fixture() {
 			init_job_list(list);
 			igt_require(mkdtemp(dirname) != NULL);
 		}
@@ -1434,7 +1434,7 @@ igt_main
 			igt_assert_eq(list->entries[0].subtest_count, 4);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			close(fd);
 			close(subdirfd);
 			close(dirfd);
@@ -1449,7 +1449,7 @@ igt_main
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
 
-		igt_fixture {
+		igt_fixture() {
 			init_job_list(list);
 			igt_require(mkdtemp(dirname) != NULL);
 		}
@@ -1493,7 +1493,7 @@ igt_main
 			igt_assert_eq(list->size, NUM_TESTDATA_BINARIES);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			close(fd);
 			close(subdirfd);
 			close(dirfd);
@@ -1508,7 +1508,7 @@ igt_main
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
 
-		igt_fixture {
+		igt_fixture() {
 			init_job_list(list);
 			igt_require(mkdtemp(dirname) != NULL);
 		}
@@ -1553,7 +1553,7 @@ igt_main
 			igt_assert_eq(list->size, NUM_TESTDATA_BINARIES);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			close(fd);
 			close(subdirfd);
 			close(dirfd);
@@ -1568,14 +1568,14 @@ igt_main
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
 		int multiple;
 
-		igt_fixture {
+		igt_fixture() {
 			init_job_list(list);
 		}
 
 		for (multiple = 0; multiple < 2; multiple++) {
 			char dirname[] = "tmpdirXXXXXX";
 
-			igt_fixture {
+			igt_fixture() {
 				igt_require(mkdtemp(dirname) != NULL);
 				rmdir(dirname);
 			}
@@ -1620,7 +1620,7 @@ igt_main
 					     "Execute created too many directories\n");
 			}
 
-			igt_fixture {
+			igt_fixture() {
 				close(fd);
 				close(subdirfd);
 				close(dirfd);
@@ -1629,7 +1629,7 @@ igt_main
 			}
 		}
 
-		igt_fixture
+		igt_fixture()
 			free(list);
 	}
 
@@ -1704,14 +1704,14 @@ igt_main
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
 		int multiple;
 
-		igt_fixture {
+		igt_fixture() {
 			init_job_list(list);
 		}
 
 		for (multiple = 0; multiple < 2; multiple++) {
 			char dirname[] = "tmpdirXXXXXX";
 
-			igt_fixture {
+			igt_fixture() {
 				/* This test checks that the stdout parsing for result without time data works, so use that */
 				setenv("IGT_RUNNER_DISABLE_SOCKET_COMMUNICATION", "1", 1);
 				igt_require(mkdtemp(dirname) != NULL);
@@ -1772,7 +1772,7 @@ igt_main
 				}
 			}
 
-			igt_fixture {
+			igt_fixture() {
 				close(fd);
 				close(subdirfd);
 				close(dirfd);
@@ -1782,7 +1782,7 @@ igt_main
 			}
 		}
 
-		igt_fixture
+		igt_fixture()
 			free(list);
 	}
 
@@ -1794,7 +1794,7 @@ igt_main
 		volatile int fd;
 		char filename[] = "tmplistXXXXXX";
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(mkdtemp(dirname) != NULL);
 			rmdir(dirname);
 
@@ -1840,7 +1840,7 @@ igt_main
 			igt_assert_eq(json_object_put(results), 1);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			unlink(filename);
 			close(dirfd);
 			clear_directory(dirname);
@@ -1863,7 +1863,7 @@ igt_main
 		char blockfilename[] = "tmpblockXXXXXX";
 		char blockfilename_upper[] = "tmpBLOCKXXXXXX";
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(mkdtemp(dirname) != NULL);
 			rmdir(dirname);
 
@@ -1933,7 +1933,7 @@ igt_main
 			igt_assert_eqstr(list->entries[0].subtests[0], "second-subtest");
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			unlink(listfilename);
 			unlink(blockfilename);
 			unlink(blockfilename_upper);
@@ -1949,7 +1949,7 @@ igt_main
 		volatile int dirfd = -1;
 		char dirname[] = "tmpdirXXXXXX";
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(mkdtemp(dirname) != NULL);
 			rmdir(dirname);
 
@@ -1983,7 +1983,7 @@ igt_main
 			igt_assert_eq(json_object_put(results), 1);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			close(dirfd);
 			clear_directory(dirname);
 			free_job_list(list);
@@ -1995,7 +1995,7 @@ igt_main
 		volatile int dirfd = -1;
 		char dirname[] = "tmpdirXXXXXX";
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(mkdtemp(dirname) != NULL);
 			rmdir(dirname);
 
@@ -2029,7 +2029,7 @@ igt_main
 			igt_assert_eq(json_object_put(results), 1);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			close(dirfd);
 			clear_directory(dirname);
 			free_job_list(list);
@@ -2043,7 +2043,7 @@ igt_main
 		for (int multiple = 0; multiple <= 1; ++multiple) {
 			char dirname[] = "tmpdirXXXXXX";
 
-			igt_fixture {
+			igt_fixture() {
 				igt_require(mkdtemp(dirname) != NULL);
 				rmdir(dirname);
 
@@ -2084,7 +2084,7 @@ igt_main
 				igt_assert_eq(json_object_put(results), 1);
 			}
 
-			igt_fixture {
+			igt_fixture() {
 				close(dirfd);
 				clear_directory(dirname);
 				free_job_list(list);
@@ -2099,7 +2099,7 @@ igt_main
 		for (int multiple = 0; multiple <= 1; ++multiple) {
 			char dirname[] = "tmpdirXXXXXX";
 
-			igt_fixture {
+			igt_fixture() {
 				igt_require(mkdtemp(dirname) != NULL);
 				rmdir(dirname);
 
@@ -2144,7 +2144,7 @@ igt_main
 				igt_assert_eq(json_object_put(results), 1);
 			}
 
-			igt_fixture {
+			igt_fixture() {
 				close(dirfd);
 				clear_directory(dirname);
 				free_job_list(list);
@@ -2162,7 +2162,7 @@ igt_main
 			const char testlisttext[] = "igt@abort-fixture@b-subtest\n"
 				"igt@abort-fixture@a-subtest\n";
 
-			igt_fixture {
+			igt_fixture() {
 				int fd;
 				igt_require((fd = mkstemp(filename)) >= 0);
 				igt_require(write(fd, testlisttext, strlen(testlisttext)) == strlen(testlisttext));
@@ -2206,7 +2206,7 @@ igt_main
 				igt_assert_eq(json_object_put(results), 1);
 			}
 
-			igt_fixture {
+			igt_fixture() {
 				unlink(filename);
 				close(dirfd);
 				clear_directory(dirname);
@@ -2222,7 +2222,7 @@ igt_main
 		for (int multiple = 0; multiple <= 1; ++multiple) {
 			char dirname[] = "tmpdirXXXXXX";
 
-			igt_fixture {
+			igt_fixture() {
 				igt_require(mkdtemp(dirname) != NULL);
 				rmdir(dirname);
 
@@ -2265,7 +2265,7 @@ igt_main
 				igt_assert_eq(json_object_put(results), 1);
 			}
 
-			igt_fixture {
+			igt_fixture() {
 				close(dirfd);
 				clear_directory(dirname);
 				free_job_list(list);
@@ -2291,7 +2291,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		clear_settings(settings);
 		free(settings);
 	}
diff --git a/runner/testdata/abort-fixture.c b/runner/testdata/abort-fixture.c
index 6a1cb9866468..f0ff5d678211 100644
--- a/runner/testdata/abort-fixture.c
+++ b/runner/testdata/abort-fixture.c
@@ -25,7 +25,7 @@
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		igt_abort_on_f(true, "I'm out!\n");
 	}
 
diff --git a/runner/testdata/skippers.c b/runner/testdata/skippers.c
index be4a31b423e6..1d58e418fab1 100644
--- a/runner/testdata/skippers.c
+++ b/runner/testdata/skippers.c
@@ -2,7 +2,7 @@
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		igt_require_f(false, "Skipping from fixture\n");
 	}
 
diff --git a/tests/amdgpu/amd_abm.c b/tests/amdgpu/amd_abm.c
index 97813d80fc8c..b4bcd76d8c9c 100644
--- a/tests/amdgpu/amd_abm.c
+++ b/tests/amdgpu/amd_abm.c
@@ -503,7 +503,7 @@ igt_main
 	data_t data = {0};
 	igt_skip_on_simulation();
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_AMDGPU);
 
 		if (data.drm_fd == -1)
@@ -527,7 +527,7 @@ igt_main
 	igt_subtest("abm_gradual")
 		abm_gradual(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		test_fini(&data);
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
diff --git a/tests/amdgpu/amd_assr.c b/tests/amdgpu/amd_assr.c
index fc2367f99e9e..133e8cb097c5 100644
--- a/tests/amdgpu/amd_assr.c
+++ b/tests/amdgpu/amd_assr.c
@@ -275,7 +275,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_ANY);
 
@@ -296,7 +296,7 @@ igt_main
 	igt_subtest("assr-links-suspend")
 		test_assr_links(&data, TEST_SUSPEND);
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 		drm_close_driver(data.fd);
diff --git a/tests/amdgpu/amd_basic.c b/tests/amdgpu/amd_basic.c
index 9bb84221e774..06562cde0bf0 100644
--- a/tests/amdgpu/amd_basic.c
+++ b/tests/amdgpu/amd_basic.c
@@ -678,7 +678,7 @@ igt_main
 	enable_test = env && atoi(env);
 #endif
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -811,7 +811,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_basic_ex.c b/tests/amdgpu/amd_basic_ex.c
index ff8e75a0bd6f..e1cda3e9b6f5 100644
--- a/tests/amdgpu/amd_basic_ex.c
+++ b/tests/amdgpu/amd_basic_ex.c
@@ -29,7 +29,7 @@ igt_main
 	int r;
 	bool arr_cap[AMD_IP_MAX] = {0};
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -56,7 +56,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_basic_multi_gpu.c b/tests/amdgpu/amd_basic_multi_gpu.c
index b41111dce46d..03a4a719138d 100644
--- a/tests/amdgpu/amd_basic_multi_gpu.c
+++ b/tests/amdgpu/amd_basic_multi_gpu.c
@@ -168,7 +168,7 @@ igt_main
 	enable_test = env && atoi(env);
 #endif
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -416,7 +416,7 @@ igt_main
 		igt_waitchildren();
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_bo.c b/tests/amdgpu/amd_bo.c
index 93e04f046725..09fc7b496d6f 100644
--- a/tests/amdgpu/amd_bo.c
+++ b/tests/amdgpu/amd_bo.c
@@ -254,7 +254,7 @@ igt_main
 	struct bo_data bo;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -285,7 +285,7 @@ igt_main
 	igt_subtest("amdgpu_bo_find_by_cpu_mapping")
 	amdgpu_bo_find_by_cpu_mapping(device);
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_bo_clean(device, &bo);
 		amdgpu_device_deinitialize(device);
 		close(fd);
diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
index 01946de24998..03ec30648abc 100644
--- a/tests/amdgpu/amd_bypass.c
+++ b/tests/amdgpu/amd_bypass.c
@@ -404,7 +404,7 @@ igt_main
 
 	igt_skip_on_simulation();
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_AMDGPU);
 		if (data.drm_fd == -1)
 			igt_skip("Not an amdgpu driver.\n");
@@ -420,7 +420,7 @@ igt_main
 	igt_subtest("8bpc-bypass-mode")
 		bypass_8bpc_test(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 	}
 }
diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
index 4a98df3be099..d2f3e9c659bc 100644
--- a/tests/amdgpu/amd_color.c
+++ b/tests/amdgpu/amd_color.c
@@ -400,7 +400,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
 
@@ -418,7 +418,7 @@ igt_main
 	igt_describe("Tests color accuracy of CRTC degamma and regamma");
 	igt_subtest("crtc-lut-accuracy") test_crtc_lut_accuracy(&data);
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/amdgpu/amd_cp_dma_misc.c b/tests/amdgpu/amd_cp_dma_misc.c
index a5a61530198e..e86d580c29c1 100644
--- a/tests/amdgpu/amd_cp_dma_misc.c
+++ b/tests/amdgpu/amd_cp_dma_misc.c
@@ -41,7 +41,7 @@ igt_main
 	}, *e;
 
 
-	igt_fixture {
+	igt_fixture() {
 		num_devices = amdgpu_open_devices(true, MAX_CARDS_SUPPORTED, drm_amdgpu_fds);
 		igt_require(num_devices > 0);
 		r = amdgpu_device_initialize(drm_amdgpu_fds[0], &major,
@@ -97,7 +97,7 @@ igt_main
 				gpu_info2.family_id);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		close(drm_amdgpu_fds[0]);
 		if (num_devices > 1) {
diff --git a/tests/amdgpu/amd_cs_nop.c b/tests/amdgpu/amd_cs_nop.c
index 0f2c3316854f..4d6b5aaf267a 100644
--- a/tests/amdgpu/amd_cs_nop.c
+++ b/tests/amdgpu/amd_cs_nop.c
@@ -179,7 +179,7 @@ igt_main
 	enable_test = env && atoi(env);
 #endif
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -222,7 +222,7 @@ igt_main
 	}
 #endif
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_cs_ctx_free(context);
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
diff --git a/tests/amdgpu/amd_deadlock.c b/tests/amdgpu/amd_deadlock.c
index 41b3aa15e75c..ea7c546cf797 100644
--- a/tests/amdgpu/amd_deadlock.c
+++ b/tests/amdgpu/amd_deadlock.c
@@ -50,7 +50,7 @@ igt_main
 	enable_test = env && atoi(env);
 #endif
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -246,7 +246,7 @@ igt_main
 	}
 #endif
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_dispatch.c b/tests/amdgpu/amd_dispatch.c
index 06bfebd143a4..bbd4761c7eb3 100644
--- a/tests/amdgpu/amd_dispatch.c
+++ b/tests/amdgpu/amd_dispatch.c
@@ -92,7 +92,7 @@ igt_main
 	enable_test = env && atoi(env);
 #endif
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -215,7 +215,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c
index 13c4452da326..68d774ffbeb3 100644
--- a/tests/amdgpu/amd_dp_dsc.c
+++ b/tests/amdgpu/amd_dp_dsc.c
@@ -542,7 +542,7 @@ igt_main {
 
 	igt_skip_on_simulation();
 
-	igt_fixture {
+	igt_fixture() {
 		data.fd = drm_open_driver_master(DRIVER_ANY);
 
 		igt_display_require(&data.display, data.fd);
@@ -569,7 +569,7 @@ igt_main {
 	igt_subtest("dsc-bpc")
 	    test_dsc_bpc(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_reset_connectors();
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
index adfc8a8106ba..fbc770311f30 100644
--- a/tests/amdgpu/amd_freesync_video_mode.c
+++ b/tests/amdgpu/amd_freesync_video_mode.c
@@ -865,7 +865,7 @@ igt_main {
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_AMDGPU);
 		if (data.drm_fd == -1) {
 			igt_skip("Not an amdgpu driver.\n");
@@ -898,7 +898,7 @@ igt_main {
 
 	igt_info("end of test\n");
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 		if (data.modes)
diff --git a/tests/amdgpu/amd_fuzzing.c b/tests/amdgpu/amd_fuzzing.c
index b2bba83fa1fe..e9109c5b8076 100644
--- a/tests/amdgpu/amd_fuzzing.c
+++ b/tests/amdgpu/amd_fuzzing.c
@@ -164,7 +164,7 @@ igt_main
 			AMD_IP_VCN_JPEG, AMD_IP_VPE
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_AMDGPU);
 		igt_require(fd != -1);
 	}
@@ -181,7 +181,7 @@ igt_main
 	igt_subtest("gem-create-fuzzing")
 		amd_gem_create_fuzzing(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/amdgpu/amd_gang_cs.c b/tests/amdgpu/amd_gang_cs.c
index cd36f08ad563..242a331feb91 100644
--- a/tests/amdgpu/amd_gang_cs.c
+++ b/tests/amdgpu/amd_gang_cs.c
@@ -246,7 +246,7 @@ igt_main
 	int r;
 	bool arr_cap[AMD_IP_MAX] = {0};
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -282,7 +282,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c
index bbd50452b253..47c066349596 100644
--- a/tests/amdgpu/amd_hotplug.c
+++ b/tests/amdgpu/amd_hotplug.c
@@ -208,7 +208,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
 
@@ -227,7 +227,7 @@ igt_main
 	igt_describe("Tests HPD on each connected output after a suspend sequence");
 	igt_subtest("basic-suspend") test_hotplug_basic(&data, true);
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/amdgpu/amd_ilr.c b/tests/amdgpu/amd_ilr.c
index b09980a154c0..ee9695f9eba4 100644
--- a/tests/amdgpu/amd_ilr.c
+++ b/tests/amdgpu/amd_ilr.c
@@ -322,7 +322,7 @@ igt_main
 
 	igt_skip_on_simulation();
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.drm_fd = drm_open_driver_master(DRIVER_AMDGPU);
 		if (data.drm_fd == -1)
@@ -342,7 +342,7 @@ igt_main
 	igt_subtest("ilr-policy")
 		test_flow(&data, ILR_POLICY);
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/amdgpu/amd_info.c b/tests/amdgpu/amd_info.c
index ace739da4d6a..2fc9b8e81083 100644
--- a/tests/amdgpu/amd_info.c
+++ b/tests/amdgpu/amd_info.c
@@ -124,7 +124,7 @@ igt_main
 	int fd = -1;
 	int r = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -155,7 +155,7 @@ igt_main
 		query_timestamp_test(device, 7000000, 1);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_jpeg_dec.c b/tests/amdgpu/amd_jpeg_dec.c
index 4431dd8e4bd4..6ff2ad68d865 100644
--- a/tests/amdgpu/amd_jpeg_dec.c
+++ b/tests/amdgpu/amd_jpeg_dec.c
@@ -223,7 +223,7 @@ igt_main
 	struct mmd_shared_context shared_context = {};
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -240,7 +240,7 @@ igt_main
 	igt_subtest("amdgpu_cs_jpeg_decode")
 	amdgpu_cs_jpeg_decode(device, &shared_context);
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_jpeg_queue.c b/tests/amdgpu/amd_jpeg_queue.c
index 82d8679cc713..4a3146e0f3a3 100644
--- a/tests/amdgpu/amd_jpeg_queue.c
+++ b/tests/amdgpu/amd_jpeg_queue.c
@@ -85,7 +85,7 @@ igt_main
 	int err;
 	struct pci_addr pci;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_AMDGPU);
 		err = amdgpu_device_initialize(fd, &major, &minor, &device);
 		igt_require(err == 0);
@@ -107,7 +107,7 @@ igt_main
 		mm_queue_test_helper(device, &shared_context, jpeg_queue_decode, err, &pci);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_link_settings.c b/tests/amdgpu/amd_link_settings.c
index 226c94d73820..351d36fd81dd 100644
--- a/tests/amdgpu/amd_link_settings.c
+++ b/tests/amdgpu/amd_link_settings.c
@@ -253,7 +253,7 @@ igt_main
 
 	igt_skip_on_simulation();
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.drm_fd = drm_open_driver_master(DRIVER_AMDGPU);
 		if (data.drm_fd == -1)
@@ -272,7 +272,7 @@ igt_main
 	igt_subtest("link-training-configs")
 		test_link_training_configs(&data);
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/amdgpu/amd_mall.c b/tests/amdgpu/amd_mall.c
index c21fcc27f706..36b9271d7295 100644
--- a/tests/amdgpu/amd_mall.c
+++ b/tests/amdgpu/amd_mall.c
@@ -136,7 +136,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
 
@@ -151,7 +151,7 @@ igt_main
 		     "of GPU VRAM when screen contents are idle");
 	igt_subtest("static-screen") test_mall_ss(&data);
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
index effe830a29d0..51e6eb7cd1c9 100644
--- a/tests/amdgpu/amd_max_bpc.c
+++ b/tests/amdgpu/amd_max_bpc.c
@@ -126,7 +126,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
 
@@ -140,7 +140,7 @@ igt_main
 	igt_describe("Tests overly high 'max bpc' should not affect 4K modes on HDMI");
 	igt_subtest("4k-mode-max-bpc") test_4k_mode_max_bpc(&data);
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/amdgpu/amd_mem_leak.c b/tests/amdgpu/amd_mem_leak.c
index 74f887bf93db..4ea1243a731c 100644
--- a/tests/amdgpu/amd_mem_leak.c
+++ b/tests/amdgpu/amd_mem_leak.c
@@ -135,7 +135,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
 
@@ -151,7 +151,7 @@ igt_main
 	igt_describe("Test memroy leaks after connector hotplug");
 	igt_subtest("connector-hotplug") test_hotplug(&data);
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 		drm_close_driver(data.fd);
diff --git a/tests/amdgpu/amd_mode_switch.c b/tests/amdgpu/amd_mode_switch.c
index 270b1b9f64f9..bd89b7f338e5 100644
--- a/tests/amdgpu/amd_mode_switch.c
+++ b/tests/amdgpu/amd_mode_switch.c
@@ -185,7 +185,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
 
@@ -203,7 +203,7 @@ igt_main
 			run_mode_switch_first_last(&data, i + 1);
 	}
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/amdgpu/amd_module_load.c b/tests/amdgpu/amd_module_load.c
index cbc9106f6013..aef7ec786791 100644
--- a/tests/amdgpu/amd_module_load.c
+++ b/tests/amdgpu/amd_module_load.c
@@ -75,7 +75,7 @@ igt_main
 		igt_amdgpu_driver_unload();
 	}
 
-	igt_fixture
+	igt_fixture()
 	{
 		/* load the module back in */
 		igt_amdgpu_driver_load(NULL);
diff --git a/tests/amdgpu/amd_multidisplay_modeset.c b/tests/amdgpu/amd_multidisplay_modeset.c
index f940973525b0..b7434b089e88 100644
--- a/tests/amdgpu/amd_multidisplay_modeset.c
+++ b/tests/amdgpu/amd_multidisplay_modeset.c
@@ -414,7 +414,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
 
@@ -433,7 +433,7 @@ igt_main
 		multiple_display_test(&data, DISPLAY_ENABLE_DISABLE);
 
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 		drm_close_driver(data.fd);
diff --git a/tests/amdgpu/amd_odm.c b/tests/amdgpu/amd_odm.c
index 839f2de3f52b..9514c08fede2 100644
--- a/tests/amdgpu/amd_odm.c
+++ b/tests/amdgpu/amd_odm.c
@@ -166,7 +166,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_ANY);
 
@@ -181,7 +181,7 @@ igt_main
 	igt_subtest_f("odm-combine-2-to-1-%s", test_mode[TEST_MODE_IDX_ODMC_2_TO_1].name)
 		run_test_odmc(&data, ODMC_2_TO_1, &test_mode[TEST_MODE_IDX_ODMC_2_TO_1]);
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/amdgpu/amd_pci_unplug.c b/tests/amdgpu/amd_pci_unplug.c
index cb88185a01e5..ad8c1fd1d003 100644
--- a/tests/amdgpu/amd_pci_unplug.c
+++ b/tests/amdgpu/amd_pci_unplug.c
@@ -37,7 +37,7 @@ igt_main
 	struct amd_pci_unplug_setup setup = {0};
 	struct amd_pci_unplug unplug = {0};
 
-	igt_fixture {
+	igt_fixture() {
 		setup.minor_version_req = 46;
 	}
 
@@ -53,5 +53,5 @@ igt_main
 	igt_subtest("amdgpu_hotunplug_with_exported_fence")
 		amdgpu_hotunplug_with_exported_fence(&setup, &unplug);
 
-	igt_fixture { }
+	igt_fixture() { }
 }
diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
index ee7de5778031..130d4231a680 100644
--- a/tests/amdgpu/amd_plane.c
+++ b/tests/amdgpu/amd_plane.c
@@ -904,7 +904,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
 
@@ -980,7 +980,7 @@ igt_main
 	igt_subtest("mpo-scale-p010-multihead")
 		test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_P010, DISPLAYS_TO_TEST);
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/amdgpu/amd_prime.c b/tests/amdgpu/amd_prime.c
index 6bcf11198d42..57fdfe8c61ed 100644
--- a/tests/amdgpu/amd_prime.c
+++ b/tests/amdgpu/amd_prime.c
@@ -435,7 +435,7 @@ igt_main
 
 	igt_skip_on_simulation();
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -459,7 +459,7 @@ igt_main
 	igt_subtest("shrink")
 		shrink(i915, amd, device);
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(amd);
 		drm_close_driver(i915);
diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
index 9da161a0949b..fca68ba0162d 100644
--- a/tests/amdgpu/amd_psr.c
+++ b/tests/amdgpu/amd_psr.c
@@ -707,7 +707,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	igt_skip_on_simulation();
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
 		if (data.fd == -1) igt_skip("Not an amdgpu driver.\n");
@@ -757,7 +757,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 		     "and to validate PSR SU disable/re-enable w/ primary scaling ratio 0.75");
 	igt_subtest("psr_su_mpo_scaling_0_75") run_check_psr_su_mpo(&data, true, .75);
 
-	igt_fixture
+	igt_fixture()
 	{
 		if (opt.visual_confirm) {
 			igt_require_f(igt_amd_set_visual_confirm(data.fd, VISUAL_CONFIRM_DISABLE),
diff --git a/tests/amdgpu/amd_pstate.c b/tests/amdgpu/amd_pstate.c
index 2bc7942521e6..448a5618f6d9 100644
--- a/tests/amdgpu/amd_pstate.c
+++ b/tests/amdgpu/amd_pstate.c
@@ -45,7 +45,7 @@ igt_main
 	amdgpu_device_handle device;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -61,7 +61,7 @@ igt_main
 	igt_subtest("amdgpu_pstate")
 	amdgpu_stable_pstate_test(device);
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_queue_reset.c b/tests/amdgpu/amd_queue_reset.c
index 0e33e44a2c86..bb406324010f 100644
--- a/tests/amdgpu/amd_queue_reset.c
+++ b/tests/amdgpu/amd_queue_reset.c
@@ -1162,7 +1162,7 @@ igt_main
 
 	int const_num_of_tests;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -1255,7 +1255,7 @@ igt_main
 	if (sh_mem && (!sh_mem->sub_test_is_existed))
 		set_next_test_to_skip(sh_mem);
 
-	igt_fixture {
+	igt_fixture() {
 		if (process == PROCESS_TEST)
 			waitpid(test_child, &testExitMethod, 0);
 		waitpid(pid_background, &backgrounExitMethod, 0);
diff --git a/tests/amdgpu/amd_ras.c b/tests/amdgpu/amd_ras.c
index fdf1bc27d40f..70ebed630180 100644
--- a/tests/amdgpu/amd_ras.c
+++ b/tests/amdgpu/amd_ras.c
@@ -993,7 +993,7 @@ igt_main
 	struct amd_ras_setup setup = {};
 	bool render_mode = true;
 
-	igt_fixture {
+	igt_fixture() {
 
 		igt_skip_on(!amdgpu_open_devices(render_mode, MAX_CARDS_SUPPORTED,
 				setup.drm_amdgpu));
@@ -1035,7 +1035,7 @@ igt_main
 			amdgpu_ras_enable_test(&setup);
 		}
 	}
-	igt_fixture {
+	igt_fixture() {
 		ras_tests_cleanup(&setup);
 	}
 }
diff --git a/tests/amdgpu/amd_replay.c b/tests/amdgpu/amd_replay.c
index 500e8253e809..6755ec3521a2 100644
--- a/tests/amdgpu/amd_replay.c
+++ b/tests/amdgpu/amd_replay.c
@@ -414,7 +414,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	igt_skip_on_simulation();
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
 
@@ -449,7 +449,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	igt_describe("Test whether Panel Replay can be enabled after resume from suspend");
 	igt_subtest("replay_suspend") run_check_replay_suspend(&data);
 
-	igt_fixture
+	igt_fixture()
 	{
 		if (opt.visual_confirm) {
 			igt_skip_on(!igt_amd_has_visual_confirm(data.fd));
diff --git a/tests/amdgpu/amd_security.c b/tests/amdgpu/amd_security.c
index ce448a806e27..65b527fd38f3 100644
--- a/tests/amdgpu/amd_security.c
+++ b/tests/amdgpu/amd_security.c
@@ -324,7 +324,7 @@ igt_main
 	enable_test = env && atoi(env);
 #endif
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -379,7 +379,7 @@ igt_main
 							is_secure, true);
 #endif
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_subvp.c b/tests/amdgpu/amd_subvp.c
index f9915784b224..8a7268b8a33e 100644
--- a/tests/amdgpu/amd_subvp.c
+++ b/tests/amdgpu/amd_subvp.c
@@ -160,7 +160,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
 		igt_display_require(&data.display, data.fd);
@@ -173,7 +173,7 @@ igt_main
 	igt_describe("Tests whether system enables sub-viewport when a specific mode is committed");
 	igt_subtest("dual-4k60") test_subvp(&data);
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/amdgpu/amd_syncobj.c b/tests/amdgpu/amd_syncobj.c
index e1d80758e8b9..a5e53d9f42ad 100644
--- a/tests/amdgpu/amd_syncobj.c
+++ b/tests/amdgpu/amd_syncobj.c
@@ -239,7 +239,7 @@ igt_main
 	amdgpu_device_handle device;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -255,7 +255,7 @@ igt_main
 	igt_subtest("amdgpu_syncobj_timeline")
 	amdgpu_syncobj_timeline(device);
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		close(fd);
 	}
diff --git a/tests/amdgpu/amd_uvd_dec.c b/tests/amdgpu/amd_uvd_dec.c
index 559092768b01..6151a59adc1b 100644
--- a/tests/amdgpu/amd_uvd_dec.c
+++ b/tests/amdgpu/amd_uvd_dec.c
@@ -301,7 +301,7 @@ igt_main
 	struct mmd_shared_context shared_context = {};
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -329,7 +329,7 @@ igt_main
 	igt_subtest("amdgpu_uvd_dec_destroy")
 	amdgpu_uvd_dec_destroy(device, &context, &shared_context);
 
-	igt_fixture {
+	igt_fixture() {
 		mmd_context_clean(device, &context);
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
diff --git a/tests/amdgpu/amd_uvd_enc.c b/tests/amdgpu/amd_uvd_enc.c
index 15fb11fa3b53..53d82c0e92d3 100644
--- a/tests/amdgpu/amd_uvd_enc.c
+++ b/tests/amdgpu/amd_uvd_enc.c
@@ -315,7 +315,7 @@ igt_main
 	struct mmd_shared_context shared_context = {};
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -335,7 +335,7 @@ igt_main
 	igt_subtest("uvd_encoder")
 		amdgpu_uvd_enc_test(device, &shared_context);
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_vce_enc.c b/tests/amdgpu/amd_vce_enc.c
index de7cb8d04064..b6dee0467dc2 100644
--- a/tests/amdgpu/amd_vce_enc.c
+++ b/tests/amdgpu/amd_vce_enc.c
@@ -593,7 +593,7 @@ igt_main
 	int fd = -1;
 	bool is_mv_supported = false;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -611,7 +611,7 @@ igt_main
 	igt_subtest("amdgpu_vce_encoder")
 		amdgpu_vce_enc_test(device, &shared_context, is_mv_supported);
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_vcn.c b/tests/amdgpu/amd_vcn.c
index f696d4164a82..da8050640238 100644
--- a/tests/amdgpu/amd_vcn.c
+++ b/tests/amdgpu/amd_vcn.c
@@ -1239,7 +1239,7 @@ igt_main
 	struct mmd_shared_context shared_context = {};
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -1280,7 +1280,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		mmd_context_clean(device, &context);
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
diff --git a/tests/amdgpu/amd_vcn_queue.c b/tests/amdgpu/amd_vcn_queue.c
index 7d95567a2df6..45cf78c087cf 100644
--- a/tests/amdgpu/amd_vcn_queue.c
+++ b/tests/amdgpu/amd_vcn_queue.c
@@ -67,7 +67,7 @@ igt_main
 	struct pci_addr pci;
 	int err;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_AMDGPU);
 		err = amdgpu_device_initialize(fd, &major, &minor, &device);
 		igt_require(err == 0);
@@ -92,7 +92,7 @@ igt_main
 		mm_queue_test_helper(device, &shared_context, vcn_queue_test, err, &pci);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		mmd_context_clean(device, &context);
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
diff --git a/tests/amdgpu/amd_vm.c b/tests/amdgpu/amd_vm.c
index 9cd56e2b5597..88f58f078902 100644
--- a/tests/amdgpu/amd_vm.c
+++ b/tests/amdgpu/amd_vm.c
@@ -203,7 +203,7 @@ igt_main
 	struct amdgpu_gpu_info gpu_info = {};
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int err;
 
@@ -230,7 +230,7 @@ igt_main
 	igt_subtest("amdgpu-vm-mapping-test")
 	amdgpu_vm_mapping_test(device);
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_vpe.c b/tests/amdgpu/amd_vpe.c
index e79ea133145b..93d91ffc565a 100644
--- a/tests/amdgpu/amd_vpe.c
+++ b/tests/amdgpu/amd_vpe.c
@@ -221,7 +221,7 @@ igt_main
 	amdgpu_device_handle device;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t major, minor;
 		int r;
 
@@ -249,7 +249,7 @@ igt_main
 	igt_subtest("vpe-blit-test")
 	amdgpu_cs_vpe_blit(device, &context);
 
-	igt_fixture {
+	igt_fixture() {
 		amdgpu_device_deinitialize(device);
 		drm_close_driver(fd);
 	}
diff --git a/tests/amdgpu/amd_vrr_range.c b/tests/amdgpu/amd_vrr_range.c
index 38ef1d27fe7d..f7aa43d6e8ef 100644
--- a/tests/amdgpu/amd_vrr_range.c
+++ b/tests/amdgpu/amd_vrr_range.c
@@ -464,7 +464,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
 
@@ -487,7 +487,7 @@ igt_main
 	igt_describe("Freesync range from display after suspend");
 	igt_subtest("freesync-range-suspend") test_freesync_range_suspend(&data);
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 		drm_close_driver(data.fd);
diff --git a/tests/chamelium/kms_chamelium_audio.c b/tests/chamelium/kms_chamelium_audio.c
index 4feae6a93db6..c7eabdf4f367 100644
--- a/tests/chamelium/kms_chamelium_audio.c
+++ b/tests/chamelium/kms_chamelium_audio.c
@@ -854,13 +854,13 @@ igt_main
 	struct chamelium_port *port;
 	int p;
 
-	igt_fixture {
+	igt_fixture() {
 		chamelium_init_test(&data);
 	}
 
 	igt_describe("DisplayPort tests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_DisplayPort,
 				data.port_count, 1);
@@ -878,7 +878,7 @@ igt_main
 
 	igt_describe("HDMI tests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_HDMIA,
 				data.port_count, 1);
@@ -894,7 +894,7 @@ igt_main
 						IGT_CUSTOM_EDID_HDMI_AUDIO);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/chamelium/kms_chamelium_color.c b/tests/chamelium/kms_chamelium_color.c
index 1d4f16da40ce..3d5be31c3de7 100644
--- a/tests/chamelium/kms_chamelium_color.c
+++ b/tests/chamelium/kms_chamelium_color.c
@@ -718,7 +718,7 @@ igt_main
 	int i;
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		if (is_intel_device(data.drm_fd))
 			data.devid = intel_get_drm_devid(data.drm_fd);
@@ -766,7 +766,7 @@ igt_main
 	igt_subtest_group
 		run_tests_for_pipe(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 	}
 }
diff --git a/tests/chamelium/kms_chamelium_edid.c b/tests/chamelium/kms_chamelium_edid.c
index 9a7915566cca..44ddd302db71 100644
--- a/tests/chamelium/kms_chamelium_edid.c
+++ b/tests/chamelium/kms_chamelium_edid.c
@@ -525,13 +525,13 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	struct chamelium_port *port;
 	int p;
 
-	igt_fixture {
+	igt_fixture() {
 		chamelium_init_test(&data);
 	}
 
 	igt_describe("DisplayPort tests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_DisplayPort,
 				data.port_count, 1);
@@ -585,7 +585,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 
 	igt_describe("HDMI tests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_HDMIA,
 				data.port_count, 1);
@@ -633,7 +633,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 
 	igt_describe("VGA tests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_VGA,
 				data.port_count, 1);
@@ -649,7 +649,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/chamelium/kms_chamelium_frames.c b/tests/chamelium/kms_chamelium_frames.c
index b9a8eb46d9ee..e16a2eb58f07 100644
--- a/tests/chamelium/kms_chamelium_frames.c
+++ b/tests/chamelium/kms_chamelium_frames.c
@@ -990,13 +990,13 @@ igt_main
 	struct chamelium_port *port;
 	int p;
 
-	igt_fixture {
+	igt_fixture() {
 		chamelium_init_test(&data);
 	}
 
 	igt_describe("DisplayPort tests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_DisplayPort,
 				data.port_count, 1);
@@ -1024,7 +1024,7 @@ igt_main
 
 	igt_describe("HDMI tests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_HDMIA,
 				data.port_count, 1);
@@ -1137,7 +1137,7 @@ igt_main
 
 	igt_describe("VGA tests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_VGA,
 				data.port_count, 1);
@@ -1149,7 +1149,7 @@ igt_main
 					       CHAMELIUM_CHECK_ANALOG, 1);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/chamelium/kms_chamelium_hpd.c b/tests/chamelium/kms_chamelium_hpd.c
index 161f494e9579..f475e0ed8f14 100644
--- a/tests/chamelium/kms_chamelium_hpd.c
+++ b/tests/chamelium/kms_chamelium_hpd.c
@@ -466,13 +466,13 @@ igt_main
 	struct chamelium_port *port;
 	int p;
 
-	igt_fixture {
+	igt_fixture() {
 		chamelium_init_test(&data);
 	}
 
 	igt_describe("DisplayPort tests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_DisplayPort,
 				data.port_count, 1);
@@ -524,7 +524,7 @@ igt_main
 
 	igt_describe("HDMI tests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_HDMIA,
 				data.port_count, 1);
@@ -576,7 +576,7 @@ igt_main
 
 	igt_describe("VGA tests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_VGA,
 				data.port_count, 1);
@@ -617,7 +617,7 @@ igt_main
 
 	igt_describe("Tests that operate on all connectors");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(data.port_count);
 		}
 
@@ -637,7 +637,7 @@ igt_main
 	connector_subtest("vga-hpd-for-each-pipe", VGA)
 		test_hotplug_for_each_pipe(&data, port);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/chamelium/kms_chamelium_sharpness_filter.c b/tests/chamelium/kms_chamelium_sharpness_filter.c
index fa397415dcc4..b11c4a21f5a7 100644
--- a/tests/chamelium/kms_chamelium_sharpness_filter.c
+++ b/tests/chamelium/kms_chamelium_sharpness_filter.c
@@ -245,7 +245,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_XE);
 
 		igt_display_require(&data.display, data.drm_fd);
@@ -289,7 +289,7 @@ igt_main
 
 	run_sharpness_filter_test(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/core_auth.c b/tests/core_auth.c
index 3c00d7925800..ef9cd2c1c3d5 100644
--- a/tests/core_auth.c
+++ b/tests/core_auth.c
@@ -244,7 +244,7 @@ igt_main
 	igt_subtest_group {
 		igt_fd_t(master);
 
-		igt_fixture
+		igt_fixture()
 			master = drm_open_driver_master(DRIVER_ANY);
 	
 		igt_describe("Test magic numbers for master and slave.");
diff --git a/tests/core_debugfs.c b/tests/core_debugfs.c
index 8ce305c407aa..cf2e128f3927 100644
--- a/tests/core_debugfs.c
+++ b/tests/core_debugfs.c
@@ -28,7 +28,7 @@ igt_main
 	int debugfs = -1;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_ANY);
 		debugfs = igt_debugfs_dir(fd);
 		igt_require(debugfs >= 0);
@@ -41,7 +41,7 @@ igt_main
 		igt_dir_process_files_simple(debugfs);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		close(debugfs);
 		drm_close_driver(fd);
 	}
diff --git a/tests/core_getclient.c b/tests/core_getclient.c
index 594c86a6f314..7d34265908ea 100644
--- a/tests/core_getclient.c
+++ b/tests/core_getclient.c
@@ -52,7 +52,7 @@ igt_main
 	int fd, ret;
 	drm_client_t client;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_ANY);
 
 	igt_describe("Check GET_CLIENT ioctl of the first drm device.");
@@ -75,6 +75,6 @@ igt_main
 		igt_assert(ret == -1 && errno == EINVAL);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/core_getstats.c b/tests/core_getstats.c
index 06fbbf0cf21c..f1bb134772d3 100644
--- a/tests/core_getstats.c
+++ b/tests/core_getstats.c
@@ -60,7 +60,7 @@ igt_main
 	int fd, ret;
 	drm_stats_t stats;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_ANY);
 
 	igt_describe("Check DRM_IOCTL_GET_STATS ioctl of the first drm device.");
@@ -69,6 +69,6 @@ igt_main
 		igt_assert(ret == 0);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/core_getversion.c b/tests/core_getversion.c
index 158133da742c..6ce53fe01c4d 100644
--- a/tests/core_getversion.c
+++ b/tests/core_getversion.c
@@ -86,7 +86,7 @@ igt_main
 	char info[256];
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = __drm_open_driver(DRIVER_ANY);
 		igt_assert_fd(fd);
 	}
@@ -101,6 +101,6 @@ igt_main
 	igt_subtest("all-cards")
 		check_all_drm();
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
index 18e9dfc346f7..fe8cefd1769c 100644
--- a/tests/core_hotunplug.c
+++ b/tests/core_hotunplug.c
@@ -683,7 +683,7 @@ igt_main
 		.chipset	= DRIVER_ANY,
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		int fd_drm;
 		char driver[32] = {};
 
@@ -720,11 +720,11 @@ igt_main
 		igt_subtest("unbind-rebind")
 			unbind_rebind(&priv);
 
-		igt_fixture
+		igt_fixture()
 			recover(&priv);
 	}
 
-	igt_fixture
+	igt_fixture()
 		post_healthcheck(&priv);
 
 	igt_subtest_group {
@@ -732,11 +732,11 @@ igt_main
 		igt_subtest("unplug-rescan")
 			unplug_rescan(&priv);
 
-		igt_fixture
+		igt_fixture()
 			recover(&priv);
 	}
 
-	igt_fixture
+	igt_fixture()
 		post_healthcheck(&priv);
 
 	igt_subtest_group {
@@ -744,11 +744,11 @@ igt_main
 		igt_subtest("hotunbind-rebind")
 			hotunbind_rebind(&priv);
 
-		igt_fixture
+		igt_fixture()
 			recover(&priv);
 	}
 
-	igt_fixture
+	igt_fixture()
 		post_healthcheck(&priv);
 
 	igt_subtest_group {
@@ -756,11 +756,11 @@ igt_main
 		igt_subtest("hotunplug-rescan")
 			hotunplug_rescan(&priv);
 
-		igt_fixture
+		igt_fixture()
 			recover(&priv);
 	}
 
-	igt_fixture
+	igt_fixture()
 		post_healthcheck(&priv);
 
 	igt_subtest_group {
@@ -768,11 +768,11 @@ igt_main
 		igt_subtest("hotrebind")
 			hotrebind(&priv);
 
-		igt_fixture
+		igt_fixture()
 			recover(&priv);
 	}
 
-	igt_fixture
+	igt_fixture()
 		post_healthcheck(&priv);
 
 	igt_subtest_group {
@@ -780,11 +780,11 @@ igt_main
 		igt_subtest("hotreplug")
 			hotreplug(&priv);
 
-		igt_fixture
+		igt_fixture()
 			recover(&priv);
 	}
 
-	igt_fixture
+	igt_fixture()
 		post_healthcheck(&priv);
 
 	igt_subtest_group {
@@ -792,11 +792,11 @@ igt_main
 		igt_subtest("hotrebind-lateclose")
 			hotrebind_lateclose(&priv);
 
-		igt_fixture
+		igt_fixture()
 			recover(&priv);
 	}
 
-	igt_fixture
+	igt_fixture()
 		post_healthcheck(&priv);
 
 	igt_subtest_group {
@@ -804,11 +804,11 @@ igt_main
 		igt_subtest("hotreplug-lateclose")
 			hotreplug_lateclose(&priv);
 
-		igt_fixture
+		igt_fixture()
 			recover(&priv);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		post_healthcheck(&priv);
 
 		igt_ignore_warn(close(priv.fd.sysfs_bus));
diff --git a/tests/core_setmaster.c b/tests/core_setmaster.c
index fe9993515ea4..a929b7f5187f 100644
--- a/tests/core_setmaster.c
+++ b/tests/core_setmaster.c
@@ -135,7 +135,7 @@ static void tweak_perm(uint8_t *saved_perm, char *path, bool save)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		/*
 		 * We're operating on the device files themselves
 		 * before opening them, make sure the drivers are
@@ -166,7 +166,7 @@ igt_main
 		/* Note: we use a fixture to ensure the permissions are
 		 * restored on skip or failure.
 		 */
-		igt_fixture {
+		igt_fixture() {
 			char path[255];
 			int len;
 			int fd;
@@ -202,7 +202,7 @@ igt_main
 		}
 
 		/* Restore the original permissions */
-		igt_fixture {
+		igt_fixture() {
 			tweak_perm(&saved_perm, buf, false);
 		}
 	}
diff --git a/tests/core_sysfs.c b/tests/core_sysfs.c
index c43008981891..7416d35cf06a 100644
--- a/tests/core_sysfs.c
+++ b/tests/core_sysfs.c
@@ -29,7 +29,7 @@ igt_main
 	int fd = -1;
 	int sysfs = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_ANY);
 		sysfs = igt_sysfs_open(fd);
 		igt_require(sysfs >= 0);
@@ -41,7 +41,7 @@ igt_main
 	igt_subtest("read-all-entries")
 		igt_dir_process_files_simple(sysfs);
 
-	igt_fixture {
+	igt_fixture() {
 		close(sysfs);
 		drm_close_driver(fd);
 	}
diff --git a/tests/device_reset.c b/tests/device_reset.c
index 6c93a96c2176..2c25ed79afc0 100644
--- a/tests/device_reset.c
+++ b/tests/device_reset.c
@@ -443,7 +443,7 @@ igt_main
 {
 	struct device_fds dev = { .fds = {-1, -1, -1}, .dev_bus_addr = {0}, };
 
-	igt_fixture {
+	igt_fixture() {
 		char dev_path[PATH_MAX];
 
 		igt_debug("opening device\n");
@@ -496,7 +496,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		cleanup_device_fds(&dev);
 	}
 }
diff --git a/tests/dmabuf_sync_file.c b/tests/dmabuf_sync_file.c
index ca9d7d579ac7..cce8bdbb9ce5 100644
--- a/tests/dmabuf_sync_file.c
+++ b/tests/dmabuf_sync_file.c
@@ -358,7 +358,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_VGEM);
 	}
 
@@ -399,6 +399,6 @@ igt_main
 	igt_subtest("import-multiple-read-write")
 		test_import_multiple(fd, true);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/drm_read.c b/tests/drm_read.c
index 0a9b61cd082b..3e3103fdf61a 100644
--- a/tests/drm_read.c
+++ b/tests/drm_read.c
@@ -277,7 +277,7 @@ igt_main
 	enum pipe pipe;
 	igt_fd_t(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		struct sigaction alarm_action = {};
 		igt_output_t *output;
 
diff --git a/tests/drm_virtgpu.c b/tests/drm_virtgpu.c
index 6ff9f6e5d17a..2a89bd0ec3d8 100644
--- a/tests/drm_virtgpu.c
+++ b/tests/drm_virtgpu.c
@@ -159,7 +159,7 @@ static void create_resource_if_needed(void)
 igt_main {
 	void *caps_buf = NULL;
 
-	igt_fixture {
+	igt_fixture() {
 		drm_fd = open_virtgpu_device();
 		igt_require(drm_fd >= 0);
 
@@ -424,7 +424,7 @@ igt_main {
 			     "No GETPARAM query returned a value.");
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		free(caps_buf);
 		close(drm_fd);
 	}
diff --git a/tests/dumb_buffer.c b/tests/dumb_buffer.c
index dd237467d3f6..a8f30d88734b 100644
--- a/tests/dumb_buffer.c
+++ b/tests/dumb_buffer.c
@@ -393,7 +393,7 @@ igt_main
 {
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_ANY);
 	}
 
@@ -415,7 +415,7 @@ igt_main
 	igt_subtest("create-clear")
 		always_clear(fd, 30);
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/fbdev.c b/tests/fbdev.c
index fca688407070..cd478add5411 100644
--- a/tests/fbdev.c
+++ b/tests/fbdev.c
@@ -116,7 +116,7 @@ static void mode_tests(int fd)
 	struct fb_var_screeninfo var_info;
 	struct fb_fix_screeninfo fix_info;
 
-	igt_fixture {
+	igt_fixture() {
 		igt_require(ioctl(fd, FBIOGET_VSCREENINFO, &var_info) == 0);
 		igt_require(ioctl(fd, FBIOGET_FSCREENINFO, &fix_info) == 0);
 	}
@@ -233,7 +233,7 @@ static void mode_tests(int fd)
 		pan_var.vmode &= ~FB_VMODE_YWRAP;
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		/* restore original panning offsets */
 		ioctl(fd, FBIOPAN_DISPLAY, &var_info);
 	}
@@ -247,7 +247,7 @@ static void framebuffer_tests(int fd)
 	unsigned char * volatile buf;
 	volatile size_t pagesize;
 
-	igt_fixture {
+	igt_fixture() {
 		long ret;
 
 		igt_require(ioctl(fd, FBIOGET_FSCREENINFO, &fix_info) == 0);
@@ -444,7 +444,7 @@ static void framebuffer_tests(int fd)
 			     ret);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		free(buf);
 		/* don't leave garbage on the screen */
 		memset(map, 0, fix_info.smem_len);
@@ -460,7 +460,7 @@ igt_main
 	 * Should this test focus on the fbdev independent of any drm driver,
 	 * or should it look for fbdev of a particular device?
 	 */
-	igt_fixture {
+	igt_fixture() {
 		fd = open("/dev/fb0", O_RDWR);
 		if (fd < 0) {
 			drm_load_module(DRIVER_ANY);
@@ -479,7 +479,7 @@ igt_main
 		framebuffer_tests(fd);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		close(fd);
 	}
 }
diff --git a/tests/intel/api_intel_allocator.c b/tests/intel/api_intel_allocator.c
index 461459122271..e2ac8bf7a0e0 100644
--- a/tests/intel/api_intel_allocator.c
+++ b/tests/intel/api_intel_allocator.c
@@ -815,7 +815,7 @@ igt_main
 	int fd;
 	struct allocators *a;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL | DRIVER_XE);
 		atomic_init(&next_handle, 1);
 		srandom(0xdeadbeef);
@@ -900,6 +900,6 @@ igt_main
 		gem_pool(fd);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/api_intel_bb.c b/tests/intel/api_intel_bb.c
index 21ed6fc0903f..735ca8194547 100644
--- a/tests/intel/api_intel_bb.c
+++ b/tests/intel/api_intel_bb.c
@@ -1594,7 +1594,7 @@ igt_main_args("dpibc:", NULL, help_str, opt_handler, NULL)
 		{ I915_TILING_Y, "y" },
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		bops = buf_ops_create(i915);
 		gen = intel_gen(intel_get_drm_devid(i915));
@@ -1717,7 +1717,7 @@ igt_main_args("dpibc:", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		buf_ops_destroy(bops);
 		drm_close_driver(i915);
 	}
diff --git a/tests/intel/gem_bad_reloc.c b/tests/intel/gem_bad_reloc.c
index 1cdb988d9a92..94b1e8ee5827 100644
--- a/tests/intel/gem_bad_reloc.c
+++ b/tests/intel/gem_bad_reloc.c
@@ -210,7 +210,7 @@ igt_main
 {
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		/* Check if relocations supported by platform */
@@ -232,6 +232,6 @@ igt_main
 	igt_subtest("negative-reloc-bltcopy")
 		negative_reloc_blt(fd);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_barrier_race.c b/tests/intel/gem_barrier_race.c
index ac60f66592d7..bdf6a9ef833a 100644
--- a/tests/intel/gem_barrier_race.c
+++ b/tests/intel/gem_barrier_race.c
@@ -147,7 +147,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_render(DRIVER_INTEL);
 		igt_require_gem(fd);
 	}
@@ -169,6 +169,6 @@ igt_main
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_basic.c b/tests/intel/gem_basic.c
index e4e49415d107..06281a739bfc 100644
--- a/tests/intel/gem_basic.c
+++ b/tests/intel/gem_basic.c
@@ -110,7 +110,7 @@ igt_main
 	igt_fd_t(fd);
 	int gpu_count;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		gpu_count = igt_device_filter_count();
 	}
diff --git a/tests/intel/gem_blits.c b/tests/intel/gem_blits.c
index b2af48ef1163..47fd4a3206f6 100644
--- a/tests/intel/gem_blits.c
+++ b/tests/intel/gem_blits.c
@@ -824,7 +824,7 @@ igt_main
 {
 	struct device device;
 
-	igt_fixture {
+	igt_fixture() {
 		device.fd = drm_open_driver_render(DRIVER_INTEL);
 		igt_require_gem(device.fd);
 		gem_require_blitter(device.fd);
@@ -900,7 +900,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		put_ahnd(device.ahnd);
 		drm_close_driver(device.fd);
 	}
diff --git a/tests/intel/gem_busy.c b/tests/intel/gem_busy.c
index 02eaeb864bf3..ffeba1d44a1a 100644
--- a/tests/intel/gem_busy.c
+++ b/tests/intel/gem_busy.c
@@ -475,14 +475,14 @@ igt_main
 	const intel_ctx_t *ctx;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_INTEL);
 		igt_require_gem(fd);
 		ctx = intel_ctx_create_all_physical(fd);
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_start();
 			igt_fork_hang_detector(fd);
 		}
@@ -507,7 +507,7 @@ igt_main
 		igt_subtest("close-race")
 			close_race(fd, ctx);
 
-		igt_fixture {
+		igt_fixture() {
 			igt_stop_hang_detector();
 			intel_allocator_multiprocess_stop();
 		}
@@ -515,12 +515,12 @@ igt_main
 
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_fork_hang_detector(fd);
 		}
 
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				igt_require(has_extended_busy_ioctl(fd));
 				gem_require_mmap_device_coherent(fd);
 			}
@@ -544,7 +544,7 @@ igt_main
 		}
 
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				igt_require(has_extended_busy_ioctl(fd));
 				igt_require(has_semaphores(fd));
 			}
@@ -559,7 +559,7 @@ igt_main
 			}
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			igt_stop_hang_detector();
 		}
 	}
@@ -567,7 +567,7 @@ igt_main
 	igt_subtest_group {
 		igt_hang_t hang;
 
-		igt_fixture {
+		igt_fixture() {
 			hang = igt_allow_hang(fd, ctx->id, 0);
 		}
 
@@ -580,7 +580,7 @@ igt_main
 		}
 
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				igt_require(has_extended_busy_ioctl(fd));
 				gem_require_mmap_device_coherent(fd);
 			}
@@ -595,12 +595,12 @@ igt_main
 			}
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			igt_disallow_hang(fd, hang);
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_ctx_destroy(fd, ctx);
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/gem_caching.c b/tests/intel/gem_caching.c
index 11ce9c79658a..a9d07c6a3498 100644
--- a/tests/intel/gem_caching.c
+++ b/tests/intel/gem_caching.c
@@ -165,7 +165,7 @@ igt_main
 	uint8_t *cpu_ptr;
 	uint8_t *gtt_ptr;
 
-	igt_fixture {
+	igt_fixture() {
 		srandom(0xdeadbeef);
 
 		data.fd = drm_open_driver(DRIVER_INTEL);
@@ -352,7 +352,7 @@ igt_main
 		intel_bb_destroy(ibb);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_buf_destroy(scratch_buf);
 		intel_buf_destroy(staging_buf);
 		buf_ops_destroy(data.bops);
diff --git a/tests/intel/gem_ccs.c b/tests/intel/gem_ccs.c
index a84a47cc46c4..ca7f94385444 100644
--- a/tests/intel/gem_ccs.c
+++ b/tests/intel/gem_ccs.c
@@ -774,7 +774,7 @@ igt_main_args("bf:pst:W:H:", NULL, help_str, opt_handler, NULL)
 	int i915;
 	igt_hang_t hang;
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 		igt_require(blt_has_block_copy(i915));
@@ -853,7 +853,7 @@ igt_main_args("bf:pst:W:H:", NULL, help_str, opt_handler, NULL)
 		block_copy_test(i915, &config, ctx, set, BLOCK_COPY);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_disallow_hang(i915, hang);
 		drm_close_driver(i915);
 	}
diff --git a/tests/intel/gem_close.c b/tests/intel/gem_close.c
index 3971cc75efe1..e3667ef34171 100644
--- a/tests/intel/gem_close.c
+++ b/tests/intel/gem_close.c
@@ -141,7 +141,7 @@ igt_main
 {
 	igt_fd_t(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		/* Create an flink requires DRM_AUTH */
 		fd = drm_open_driver_master(DRIVER_INTEL);
 		igt_require_gem(fd);
diff --git a/tests/intel/gem_close_race.c b/tests/intel/gem_close_race.c
index c68e2fa738d0..6e32617e06d1 100644
--- a/tests/intel/gem_close_race.c
+++ b/tests/intel/gem_close_race.c
@@ -340,7 +340,7 @@ igt_main
 {
 	int gpu_count;
 
-	igt_fixture {
+	igt_fixture() {
 		int fd;
 
 		fd = drm_open_driver(DRIVER_INTEL);
@@ -422,6 +422,6 @@ igt_main
 	igt_subtest("gem-close-race")
 		threads(150, 0);
 
-	igt_fixture
+	igt_fixture()
 	    igt_stop_hang_detector();
 }
diff --git a/tests/intel/gem_compute.c b/tests/intel/gem_compute.c
index b8e7dec59c1b..219a4db2fc83 100644
--- a/tests/intel/gem_compute.c
+++ b/tests/intel/gem_compute.c
@@ -35,12 +35,12 @@ igt_main
 {
 	int i915;
 
-	igt_fixture
+	igt_fixture()
 		i915 = drm_open_driver(DRIVER_INTEL);
 
 	igt_subtest("compute-square")
 		test_compute_square(i915);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(i915);
 }
diff --git a/tests/intel/gem_concurrent_all.c b/tests/intel/gem_concurrent_all.c
index 69ae7db1b19b..ede34f698d7d 100644
--- a/tests/intel/gem_concurrent_all.c
+++ b/tests/intel/gem_concurrent_all.c
@@ -1564,7 +1564,7 @@ run_mode(const char *prefix,
 	}, *h;
 	struct buffers buffers;
 
-	igt_fixture
+	igt_fixture()
 		buffers_init(&buffers, prefix, create, mode,
 			     size, num_buffers, fd);
 
@@ -1573,12 +1573,12 @@ run_mode(const char *prefix,
 			continue;
 
 		if (!*h->suffix)
-			igt_fixture
+			igt_fixture()
 				igt_fork_hang_detector(fd);
 
 		for (p = all ? pipelines : pskip; p->prefix; p++) {
 			igt_subtest_group  {
-				igt_fixture p->require();
+				igt_fixture() p->require();
 
 				igt_subtest_f("%s-%s-%s-sanitycheck0%s%s", prefix, mode->name, p->prefix, suffix, h->suffix) {
 					buffers_create(&buffers);
@@ -1707,11 +1707,11 @@ run_mode(const char *prefix,
 		}
 
 		if (!*h->suffix)
-			igt_fixture
+			igt_fixture()
 				igt_stop_hang_detector();
 	}
 
-	igt_fixture
+	igt_fixture()
 		buffers_fini(&buffers);
 }
 
@@ -1736,7 +1736,7 @@ run_modes(const char *style,
 
 	while (mode->name) {
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				if (mode->require)
 					mode->require(create, num);
 			}
@@ -1897,7 +1897,7 @@ igt_main
 	if (strstr(igt_test_name(), "all"))
 		all = true;
 
-	igt_fixture {
+	igt_fixture() {
 		igt_allow_unlimited_files();
 
 		fd = drm_open_driver(DRIVER_INTEL);
@@ -1921,7 +1921,7 @@ igt_main
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "tiny");
 			igt_subtest_group {
-				igt_fixture {
+				igt_fixture() {
 					count = num_buffers(0, s, c, CHECK_RAM);
 				}
 				run_modes(name, c, modes, s, count);
@@ -1931,7 +1931,7 @@ igt_main
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "small");
 			igt_subtest_group {
-				igt_fixture {
+				igt_fixture() {
 					count = num_buffers(gem_mappable_aperture_size(fd)/4,
 							    s, c, CHECK_RAM);
 				}
@@ -1942,7 +1942,7 @@ igt_main
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "thrash");
 			igt_subtest_group {
-				igt_fixture {
+				igt_fixture() {
 					count = num_buffers(gem_mappable_aperture_size(fd),
 							    s, c, CHECK_RAM);
 				}
@@ -1953,7 +1953,7 @@ igt_main
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "global");
 			igt_subtest_group {
-				igt_fixture {
+				igt_fixture() {
 					count = num_buffers(gem_global_aperture_size(fd),
 							    s, c, CHECK_RAM);
 				}
@@ -1964,7 +1964,7 @@ igt_main
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "full");
 			igt_subtest_group {
-				igt_fixture {
+				igt_fixture() {
 					count = num_buffers(gem_aperture_size(fd),
 							    s, c, CHECK_RAM);
 				}
@@ -1974,7 +1974,7 @@ igt_main
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "shrink");
 			igt_subtest_group {
-				igt_fixture {
+				igt_fixture() {
 					count = num_buffers(gem_mappable_aperture_size(fd),
 							    s, c, CHECK_RAM);
 
@@ -1982,7 +1982,7 @@ igt_main
 				}
 				run_modes(name, c, modes, s, count);
 
-				igt_fixture
+				igt_fixture()
 					igt_stop_shrink_helper();
 			}
 
@@ -1990,7 +1990,7 @@ igt_main
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "swap");
 			igt_subtest_group {
-				igt_fixture {
+				igt_fixture() {
 					if (igt_get_avail_ram_mb() > gem_mappable_aperture_size(fd)/(1024*1024)) {
 						pin_sz = igt_get_avail_ram_mb() - gem_mappable_aperture_size(fd)/(1024*1024);
 
@@ -2021,7 +2021,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 		drm_close_driver(vgem_drv);
 	}
diff --git a/tests/intel/gem_create.c b/tests/intel/gem_create.c
index f0749d288dcf..7d80b2707382 100644
--- a/tests/intel/gem_create.c
+++ b/tests/intel/gem_create.c
@@ -950,7 +950,7 @@ igt_main
 {
 	igt_fd_t(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 	}
 
@@ -985,7 +985,7 @@ igt_main
 
 	igt_describe("Create buffer objects while GPU is busy.");
 	igt_subtest_group {
-		igt_fixture
+		igt_fixture()
 			igt_fork_hang_detector(fd);
 
 		igt_subtest_with_dynamic("busy-create") {
@@ -1002,7 +1002,7 @@ igt_main
 			}
 		}
 
-		igt_fixture
+		igt_fixture()
 			igt_stop_hang_detector();
 	}
 
diff --git a/tests/intel/gem_cs_tlb.c b/tests/intel/gem_cs_tlb.c
index a72bbe8479b7..ed9acf004c64 100644
--- a/tests/intel/gem_cs_tlb.c
+++ b/tests/intel/gem_cs_tlb.c
@@ -160,7 +160,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		ctx = intel_ctx_create_all_physical(fd);
@@ -173,6 +173,6 @@ igt_main
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_ctx_bad_destroy.c b/tests/intel/gem_ctx_bad_destroy.c
index 1467f2943a1c..3d1e909daa70 100644
--- a/tests/intel/gem_ctx_bad_destroy.c
+++ b/tests/intel/gem_ctx_bad_destroy.c
@@ -60,7 +60,7 @@ int fd;
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_render(DRIVER_INTEL);
 
 		gem_require_contexts(fd);
@@ -97,6 +97,6 @@ igt_main
 		gem_context_destroy(fd, ctx_id);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_ctx_create.c b/tests/intel/gem_ctx_create.c
index 5c2b0ef65651..3070dd9ac316 100644
--- a/tests/intel/gem_ctx_create.c
+++ b/tests/intel/gem_ctx_create.c
@@ -622,7 +622,7 @@ igt_main
 	intel_ctx_cfg_t cfg;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_contexts(fd);
@@ -721,7 +721,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/gem_ctx_engines.c b/tests/intel/gem_ctx_engines.c
index 24240df66062..5c2bf93abe0a 100644
--- a/tests/intel/gem_ctx_engines.c
+++ b/tests/intel/gem_ctx_engines.c
@@ -614,7 +614,7 @@ igt_main
 	const struct intel_execution_engine2 *e;
 	igt_fd_t(i915);
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 
@@ -654,6 +654,6 @@ igt_main
 			independent_all(i915, ctx);
 	}
 
-	igt_fixture
+	igt_fixture()
 		igt_stop_hang_detector();
 }
diff --git a/tests/intel/gem_ctx_exec.c b/tests/intel/gem_ctx_exec.c
index a45a7e378870..f5fa2938eed1 100644
--- a/tests/intel/gem_ctx_exec.c
+++ b/tests/intel/gem_ctx_exec.c
@@ -493,7 +493,7 @@ igt_main
 	uint32_t ctx_id;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_render(DRIVER_INTEL);
 		igt_require_gem(fd);
 
@@ -541,14 +541,14 @@ igt_main
 	igt_describe("Race the execution and interrupt handlers along a context,"
 	             " while closing it at a random time.");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_start();
 		}
 
 		igt_subtest("basic-close-race")
 			close_race(fd);
 
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_stop();
 		}
 	}
@@ -585,6 +585,6 @@ igt_main
 		put_ahnd(ahnd);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_ctx_freq.c b/tests/intel/gem_ctx_freq.c
index 6b510aca1b1d..8b8205e2acd3 100644
--- a/tests/intel/gem_ctx_freq.c
+++ b/tests/intel/gem_ctx_freq.c
@@ -262,7 +262,7 @@ static void disable_boost(void)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 
@@ -281,7 +281,7 @@ igt_main
 				sysfs_range(dirfd, gt);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		close(sysfs);
 		drm_close_driver(i915);
 	}
diff --git a/tests/intel/gem_ctx_isolation.c b/tests/intel/gem_ctx_isolation.c
index f406462d8b4e..73e773f301ff 100644
--- a/tests/intel/gem_ctx_isolation.c
+++ b/tests/intel/gem_ctx_isolation.c
@@ -1011,7 +1011,7 @@ igt_main
 	intel_ctx_cfg_t cfg;
 	igt_fd_t(i915);
 
-	igt_fixture {
+	igt_fixture() {
 		int gen;
 
 		i915 = drm_open_driver(DRIVER_INTEL);
@@ -1029,7 +1029,7 @@ igt_main
 		igt_skip_on(gen > LAST_KNOWN_GEN);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_fork_hang_detector(i915);
 	}
 
@@ -1073,7 +1073,7 @@ igt_main
 			preservation(i915, &cfg, e, S4);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 	}
 
diff --git a/tests/intel/gem_ctx_param.c b/tests/intel/gem_ctx_param.c
index 2e39a519bfcc..0edf3a357906 100644
--- a/tests/intel/gem_ctx_param.c
+++ b/tests/intel/gem_ctx_param.c
@@ -380,7 +380,7 @@ igt_main
 
 	memset(&arg, 0, sizeof(arg));
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_render(DRIVER_INTEL);
 
 		gem_require_contexts(fd);
@@ -483,7 +483,7 @@ igt_main
 
 	igt_describe("Test performed with context param set to priority");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(gem_scheduler_has_ctx_priority(fd));
 		}
 
@@ -549,6 +549,6 @@ igt_main
 	igt_subtest("invalid-get-engines")
 		test_get_invalid_param(fd, I915_CONTEXT_PARAM_ENGINES);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_ctx_persistence.c b/tests/intel/gem_ctx_persistence.c
index d90b78267dc9..cbf5ff142a63 100644
--- a/tests/intel/gem_ctx_persistence.c
+++ b/tests/intel/gem_ctx_persistence.c
@@ -1351,7 +1351,7 @@ igt_main
 	};
 	const intel_ctx_t *ctx;
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 
@@ -1401,7 +1401,7 @@ igt_main
 		test_noheartbeat_close(i915, IGT_SPIN_NO_PREEMPTION);
 
 	igt_subtest_group {
-		igt_fixture
+		igt_fixture()
 			gem_require_contexts(i915);
 
 		for (test = tests; test->name; test++) {
@@ -1423,7 +1423,7 @@ igt_main
 	igt_subtest_group {
 		const struct intel_execution_engine2 *e;
 
-		igt_fixture
+		igt_fixture()
 			gem_require_contexts(i915);
 
 		for (test = tests; test->name; test++) {
@@ -1457,7 +1457,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			gem_require_contexts(i915);
 			intel_allocator_multiprocess_start();
 		}
@@ -1465,13 +1465,13 @@ igt_main
 		igt_subtest("smoketest")
 			smoketest(i915, &ctx->cfg);
 
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_stop();
 		}
 
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(i915);
 	}
 }
diff --git a/tests/intel/gem_ctx_shared.c b/tests/intel/gem_ctx_shared.c
index 4b9d604f6732..0c1d687c7a9a 100644
--- a/tests/intel/gem_ctx_shared.c
+++ b/tests/intel/gem_ctx_shared.c
@@ -1029,14 +1029,14 @@ igt_main
 	intel_ctx_cfg_t cfg;
 	igt_fd_t(i915);
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 		cfg = intel_ctx_cfg_all_physical(i915);
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(gem_has_vm(i915));
 			igt_fork_hang_detector(i915);
 		}
@@ -1072,7 +1072,7 @@ igt_main
 		 * and so rely on gem_exec_schedule to prove the rest.
 		 */
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				igt_require(gem_scheduler_enabled(i915));
 				igt_require(gem_scheduler_has_ctx_priority(i915));
 				igt_require(gem_has_vm(i915));
@@ -1101,7 +1101,7 @@ igt_main
 		}
 
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				igt_require(gem_scheduler_enabled(i915));
 				igt_require(gem_scheduler_has_ctx_priority(i915));
 				igt_require(gem_has_vm(i915));
@@ -1117,7 +1117,7 @@ igt_main
 			igt_subtest("Q-smoketest-all")
 				smoketest(i915, &cfg, -1, 30);
 
-			igt_fixture {
+			igt_fixture() {
 				intel_allocator_multiprocess_stop();
 			}
 		}
@@ -1129,7 +1129,7 @@ igt_main
 		igt_subtest("exhaust-shared-gtt-lrc")
 			exhaust_shared_gtt(i915, EXHAUST_LRC);
 
-		igt_fixture {
+		igt_fixture() {
 			igt_stop_hang_detector();
 		}
 	}
diff --git a/tests/intel/gem_ctx_sseu.c b/tests/intel/gem_ctx_sseu.c
index 7d445ba00740..11bbf5764455 100644
--- a/tests/intel/gem_ctx_sseu.c
+++ b/tests/intel/gem_ctx_sseu.c
@@ -518,7 +518,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 
@@ -529,7 +529,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			drm_i915_getparam_t gp;
 
 			gp.param = I915_PARAM_SLICE_MASK;
@@ -561,7 +561,7 @@ igt_main
 			test_engines(fd);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/intel/gem_ctx_switch.c b/tests/intel/gem_ctx_switch.c
index 7a3c72e492c4..1880a3ce2a0d 100644
--- a/tests/intel/gem_ctx_switch.c
+++ b/tests/intel/gem_ctx_switch.c
@@ -707,7 +707,7 @@ igt_main
 	uint32_t light = 0, heavy;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		const uint32_t bbe = MI_BATCH_BUFFER_END;
 
 		fd = drm_open_driver(DRIVER_INTEL);
@@ -738,7 +738,7 @@ igt_main
 
 		for (typeof(*phases) *p = phases; p->name; p++) {
 			igt_subtest_group {
-				igt_fixture {
+				igt_fixture() {
 					gem_require_ring(fd, e2->flags);
 					if (p->require)
 						igt_require(p->require(fd));
@@ -767,7 +767,7 @@ igt_main
 	for_each_ctx_cfg_engine(fd, &engines_cfg, e2) {
 		for (typeof(*phases) *p = phases; p->name; p++) {
 			igt_subtest_group {
-				igt_fixture {
+				igt_fixture() {
 					if (p->require)
 						igt_require(p->require(fd));
 				}
@@ -795,7 +795,7 @@ igt_main
 		all(fd, heavy, &engines_cfg, 0, 2);
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			gem_require_vm(fd);
 		}
 		igt_subtest("queue-light")
@@ -804,7 +804,7 @@ igt_main
 			all(fd, heavy, &engines_cfg, QUEUE, 2);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		gem_close(fd, heavy);
 		gem_close(fd, light);
diff --git a/tests/intel/gem_eio.c b/tests/intel/gem_eio.c
index 16dbb57a04a4..844562a0e861 100644
--- a/tests/intel/gem_eio.c
+++ b/tests/intel/gem_eio.c
@@ -1104,7 +1104,7 @@ exit_handler(int sig)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_device_drop_master(fd);
 
@@ -1153,7 +1153,7 @@ igt_main
 		test_inflight_suspend(fd);
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(gem_has_contexts(fd));
 		}
 
@@ -1198,7 +1198,7 @@ igt_main
 			.drm_fd = -1, .n_pipes = IGT_MAX_PIPES
 		};
 
-		igt_fixture {
+		igt_fixture() {
 			igt_device_set_master(fd);
 
 			igt_display_require(&display, fd);
@@ -1209,11 +1209,11 @@ igt_main
 		igt_subtest("kms")
 			test_kms(fd, &display);
 
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_stop();
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_evict_alignment.c b/tests/intel/gem_evict_alignment.c
index 57aa5df04831..3f68a79e8a70 100644
--- a/tests/intel/gem_evict_alignment.c
+++ b/tests/intel/gem_evict_alignment.c
@@ -214,7 +214,7 @@ igt_main
 	uint64_t size, count;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_blitter(fd);
@@ -240,7 +240,7 @@ igt_main
 		major_evictions(fd, size, count);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 	}
 
@@ -283,7 +283,7 @@ igt_main
 	}
 	igt_stop_signal_helper();
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_helper();
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/gem_evict_everything.c b/tests/intel/gem_evict_everything.c
index 53e359de7014..cf36cca15dc6 100644
--- a/tests/intel/gem_evict_everything.c
+++ b/tests/intel/gem_evict_everything.c
@@ -249,7 +249,7 @@ igt_main
 	size = count = 0;
 	fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_blitter(fd);
@@ -293,7 +293,7 @@ igt_main
 		test_major_evictions(fd, size, count);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		size = 1024 * 1024;
 		count = gem_aperture_size(fd);
 		if (count >> 32)
@@ -321,7 +321,7 @@ igt_main
 		test_major_evictions(fd, size, count);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		igt_fork_hang_helper();
 
@@ -352,7 +352,7 @@ igt_main
 
 	igt_stop_signal_helper();
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_helper();
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/gem_exec_alignment.c b/tests/intel/gem_exec_alignment.c
index 6a9905d959c9..d70a325f215e 100644
--- a/tests/intel/gem_exec_alignment.c
+++ b/tests/intel/gem_exec_alignment.c
@@ -552,7 +552,7 @@ igt_main
 {
 	igt_fd_t(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		igt_require(gem_allows_obj_alignment(fd));
diff --git a/tests/intel/gem_exec_async.c b/tests/intel/gem_exec_async.c
index 6d739307cfe6..4b5c03553a7d 100644
--- a/tests/intel/gem_exec_async.c
+++ b/tests/intel/gem_exec_async.c
@@ -195,7 +195,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_mmap_device_coherent(fd);
@@ -210,19 +210,19 @@ igt_main
 		one(fd, ctx, e->flags, 0);
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_start();
 		}
 
 		test_each_engine("forked-writes", fd, ctx, e)
 			one(fd, ctx, e->flags, FORKED);
 
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_stop();
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		intel_ctx_destroy(fd, ctx);
 		drm_close_driver(fd);
diff --git a/tests/intel/gem_exec_await.c b/tests/intel/gem_exec_await.c
index 5dc43a0c421f..e7c78196e499 100644
--- a/tests/intel/gem_exec_await.c
+++ b/tests/intel/gem_exec_await.c
@@ -257,7 +257,7 @@ igt_main
 	int ring_size = 0;
 	igt_fd_t(device);
 
-	igt_fixture {
+	igt_fixture() {
 
 		device = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(device);
@@ -280,7 +280,7 @@ igt_main
 		wide(device, &cfg, ring_size, TIMEOUT, CONTEXTS);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 	}
 }
diff --git a/tests/intel/gem_exec_balancer.c b/tests/intel/gem_exec_balancer.c
index 46ea19a2a216..57f30f73aa68 100644
--- a/tests/intel/gem_exec_balancer.c
+++ b/tests/intel/gem_exec_balancer.c
@@ -3413,7 +3413,7 @@ igt_main
 {
 	igt_fd_t(i915);
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 
@@ -3484,7 +3484,7 @@ igt_main
 		bonded_semaphore(i915);
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_start();
 		}
 
@@ -3500,17 +3500,17 @@ igt_main
 		igt_subtest("bonded-sync")
 			bonded_runner(i915, __bonded_sync);
 
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_stop();
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(has_logical_mapping(i915));
 			igt_require(has_parallel_execbuf(i915));
 		}
@@ -3549,7 +3549,7 @@ igt_main
 	igt_subtest_group {
 		igt_hang_t  hang;
 
-		igt_fixture
+		igt_fixture()
 			hang = igt_allow_hang(i915, 0, 0);
 
 		igt_subtest("bonded-false-hang")
@@ -3558,7 +3558,7 @@ igt_main
 		igt_subtest("bonded-true-hang")
 			bonded_nohang(i915, 0);
 
-		igt_fixture
+		igt_fixture()
 			igt_disallow_hang(i915, hang);
 
 		igt_subtest("hang")
@@ -3566,7 +3566,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require_gem(i915); /* reset parameters */
 			igt_require(has_persistence(i915));
 		}
diff --git a/tests/intel/gem_exec_basic.c b/tests/intel/gem_exec_basic.c
index ca56bf4b5563..d4dbed2c5099 100644
--- a/tests/intel/gem_exec_basic.c
+++ b/tests/intel/gem_exec_basic.c
@@ -62,7 +62,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		ctx = intel_ctx_create_all_physical(fd);
 
@@ -107,7 +107,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		free(query_info);
 		igt_collection_destroy(set);
 		igt_stop_hang_detector();
diff --git a/tests/intel/gem_exec_big.c b/tests/intel/gem_exec_big.c
index cdefce5dbf07..9ae1f26dd71b 100644
--- a/tests/intel/gem_exec_big.c
+++ b/tests/intel/gem_exec_big.c
@@ -322,7 +322,7 @@ igt_main
 {
 	int i915 = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 
@@ -336,6 +336,6 @@ igt_main
 	igt_subtest("exhaustive")
 		exhaustive(i915);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(i915);
 }
diff --git a/tests/intel/gem_exec_capture.c b/tests/intel/gem_exec_capture.c
index 37c1f7255046..6966975b33f3 100644
--- a/tests/intel/gem_exec_capture.c
+++ b/tests/intel/gem_exec_capture.c
@@ -967,7 +967,7 @@ igt_main
 	char *sub_name;
 	uint32_t region;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 
 		if (gem_store_dword_needs_secure(fd))
@@ -1060,7 +1060,7 @@ igt_main
 		igt_dynamic_f("%s", (e)->name)
 			prioinv(fd, dir, ctx, e);
 
-	igt_fixture {
+	igt_fixture() {
 		close(dir);
 		igt_disallow_hang(fd, hang);
 		intel_ctx_destroy(fd, ctx);
diff --git a/tests/intel/gem_exec_create.c b/tests/intel/gem_exec_create.c
index fb096a181aa0..29768cf2bdc9 100644
--- a/tests/intel/gem_exec_create.c
+++ b/tests/intel/gem_exec_create.c
@@ -184,7 +184,7 @@ igt_main
 	uint32_t region;
 	int device = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		device = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(device);
 
@@ -251,7 +251,7 @@ igt_main
 			free(sub_name);
 		}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		drm_close_driver(device);
 	}
diff --git a/tests/intel/gem_exec_endless.c b/tests/intel/gem_exec_endless.c
index e7647e22e7d1..fb70a9cc87f1 100644
--- a/tests/intel/gem_exec_endless.c
+++ b/tests/intel/gem_exec_endless.c
@@ -348,7 +348,7 @@ igt_main
 
 	igt_skip_on_simulation();
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 	}
@@ -357,7 +357,7 @@ igt_main
 		struct intel_mmio_data mmio;
 		int sysfs;
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(gem_scheduler_enabled(i915));
 			igt_require(gem_scheduler_has_preemption(i915));
 
@@ -372,7 +372,7 @@ igt_main
 		test_each_engine("dispatch", i915, e)
 				endless_dispatch(i915, e);
 
-		igt_fixture {
+		igt_fixture() {
 			unpin_rps(sysfs);
 			close(sysfs);
 			intel_register_access_fini(&mmio);
diff --git a/tests/intel/gem_exec_fair.c b/tests/intel/gem_exec_fair.c
index 19df66921888..c566a2957860 100644
--- a/tests/intel/gem_exec_fair.c
+++ b/tests/intel/gem_exec_fair.c
@@ -1376,7 +1376,7 @@ igt_main
 	intel_ctx_cfg_t cfg;
 	int i915 = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		igt_require_sw_sync();
 
 		i915 = drm_open_driver_master(DRIVER_INTEL);
@@ -1449,7 +1449,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		drm_close_driver(i915);
 	}
diff --git a/tests/intel/gem_exec_fence.c b/tests/intel/gem_exec_fence.c
index c3c462b77dc4..62d090847698 100644
--- a/tests/intel/gem_exec_fence.c
+++ b/tests/intel/gem_exec_fence.c
@@ -3161,7 +3161,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int i915 = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 		igt_require(gem_has_exec_fence(i915));
@@ -3174,7 +3174,7 @@ igt_main
 	igt_subtest_group {
 		igt_hang_t hang;
 
-		igt_fixture {
+		igt_fixture() {
 			igt_fork_hang_detector(i915);
 		}
 
@@ -3187,7 +3187,7 @@ igt_main
 		igt_subtest("basic-wait-all")
 			test_fence_busy_all(i915, ctx, WAIT);
 
-		igt_fixture {
+		igt_fixture() {
 			igt_stop_hang_detector();
 			hang = igt_allow_hang(i915, ctx->id, 0);
 		}
@@ -3202,19 +3202,19 @@ igt_main
 		igt_subtest("wait-hang-all")
 			test_fence_busy_all(i915, ctx, WAIT | HANG);
 
-		igt_fixture {
+		igt_fixture() {
 			igt_disallow_hang(i915, hang);
 		}
 	}
 
 	igt_subtest_group {
 		for_each_ctx_engine(i915, ctx, e) {
-			igt_fixture {
+			igt_fixture() {
 				igt_require(gem_class_can_store_dword(i915, e->class));
 			}
 		}
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				igt_fork_hang_detector(i915);
 				intel_allocator_multiprocess_start();
 			}
@@ -3330,7 +3330,7 @@ igt_main
 				test_submit_chain(i915, ctx);
 			}
 
-			igt_fixture {
+			igt_fixture() {
 				intel_allocator_multiprocess_stop();
 				igt_stop_hang_detector();
 			}
@@ -3339,7 +3339,7 @@ igt_main
 		igt_subtest_group {
 			igt_hang_t hang;
 
-			igt_fixture {
+			igt_fixture() {
 				hang = igt_allow_hang(i915, ctx->id, 0);
 				intel_allocator_multiprocess_start();
 			}
@@ -3376,7 +3376,7 @@ igt_main
 						test_fence_await(i915, ctx, e, NONBLOCK | HANG);
 				}
 			}
-			igt_fixture {
+			igt_fixture() {
 				intel_allocator_multiprocess_stop();
 				igt_disallow_hang(i915, hang);
 			}
@@ -3386,7 +3386,7 @@ igt_main
 	igt_subtest_group {
 		long ring_size = 0;
 
-		igt_fixture {
+		igt_fixture() {
 			ring_size = gem_submission_measure(i915, &ctx->cfg,
 							   ALL_ENGINES);
 			igt_info("Ring size: %ld batches\n", ring_size);
@@ -3405,7 +3405,7 @@ igt_main
 	}
 
 	igt_subtest_group { /* syncobj */
-		igt_fixture {
+		igt_fixture() {
 			igt_require(exec_has_fence_array(i915));
 			igt_assert(has_syncobj(i915));
 			igt_fork_hang_detector(i915);
@@ -3456,14 +3456,14 @@ igt_main
 		igt_subtest("syncobj-channel")
 			test_syncobj_channel(i915);
 
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_stop();
 			igt_stop_hang_detector();
 		}
 	}
 
 	igt_subtest_group { /* syncobj timeline */
-		igt_fixture {
+		igt_fixture() {
 			igt_require(exec_has_timeline_fences(i915));
 			igt_require(has_syncobj_timeline(i915));
 			igt_fork_hang_detector(i915);
@@ -3506,7 +3506,7 @@ igt_main
 			test_syncobj_timeline_multiple_ext_nodes(i915);
 
 		igt_subtest_group { /* syncobj timeline engine chaining */
-			igt_fixture {
+			igt_fixture() {
 				/*
 				 * We need support for MI_ALU on all
 				 * engines which seems to be there
@@ -3528,12 +3528,12 @@ igt_main
 				test_syncobj_backward_timeline_chain_engines(i915, &ctx->cfg);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			igt_stop_hang_detector();
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(i915);
 	}
 }
diff --git a/tests/intel/gem_exec_flush.c b/tests/intel/gem_exec_flush.c
index 027510424b06..d8fe78377994 100644
--- a/tests/intel/gem_exec_flush.c
+++ b/tests/intel/gem_exec_flush.c
@@ -2105,7 +2105,7 @@ igt_main
 	unsigned cpu = x86_64_features();
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		igt_require(igt_setup_clflush());
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
@@ -2127,7 +2127,7 @@ igt_main
 		unsigned ring = eb_ring(e);
 		unsigned timeout = 5 + 120*!!e->exec_id;
 
-		igt_fixture {
+		igt_fixture() {
 			gem_require_ring(fd, ring);
 			igt_require(gem_can_store_dword(fd, ring));
 		}
@@ -2208,7 +2208,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/gem_exec_gttfill.c b/tests/intel/gem_exec_gttfill.c
index 59a3679fec07..9fe3fefbb301 100644
--- a/tests/intel/gem_exec_gttfill.c
+++ b/tests/intel/gem_exec_gttfill.c
@@ -250,7 +250,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int i915 = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 		ctx = intel_ctx_create_all_physical(i915);
@@ -279,7 +279,7 @@ igt_main
 	igt_subtest("all-engines")
 		fillgtt(i915, ctx, ALL_ENGINES, 20);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		intel_ctx_destroy(i915, ctx);
 	}
@@ -300,7 +300,7 @@ igt_main
 		igt_waitchildren();
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_allocator_multiprocess_stop();
 		drm_close_driver(i915);
 	}
diff --git a/tests/intel/gem_exec_latency.c b/tests/intel/gem_exec_latency.c
index a95c4890c85a..65937d109d7d 100644
--- a/tests/intel/gem_exec_latency.c
+++ b/tests/intel/gem_exec_latency.c
@@ -934,7 +934,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int device = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		device = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(device);
 		gem_require_mmap_wc(device);
@@ -957,7 +957,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture
+		igt_fixture()
 			igt_require(intel_gen(intel_get_drm_devid(device)) >= 7);
 
 		test_each_engine("rthog-submit", device, ctx, e)
@@ -987,7 +987,7 @@ igt_main
 			wakeup_latency(device, ctx, e);
 
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				gem_require_contexts(device);
 				igt_require(gem_scheduler_has_preemption(device));
 			}
@@ -1001,7 +1001,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_register_access_fini(&mmio_data);
 		intel_ctx_destroy(device, ctx);
 		drm_close_driver(device);
diff --git a/tests/intel/gem_exec_nop.c b/tests/intel/gem_exec_nop.c
index 74593c085dec..072be55f3c95 100644
--- a/tests/intel/gem_exec_nop.c
+++ b/tests/intel/gem_exec_nop.c
@@ -1007,7 +1007,7 @@ igt_main
 	uint32_t handle = 0;
 	int device = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		const uint32_t bbe = MI_BATCH_BUFFER_END;
 
 		device = drm_open_driver(DRIVER_INTEL);
@@ -1078,7 +1078,7 @@ igt_main
 		sequential(device, handle, ctx, FORKED | CONTEXT, 20);
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			gem_require_contexts(device);
 			igt_require(gem_scheduler_has_ctx_priority(device));
 			igt_require(gem_scheduler_has_preemption(device));
@@ -1092,7 +1092,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_device_set_master(device);
 		}
 
@@ -1117,7 +1117,7 @@ igt_main
 
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		gem_close(device, handle);
 		intel_ctx_destroy(device, ctx);
diff --git a/tests/intel/gem_exec_parallel.c b/tests/intel/gem_exec_parallel.c
index 9817bcd0ff33..eaadc9387593 100644
--- a/tests/intel/gem_exec_parallel.c
+++ b/tests/intel/gem_exec_parallel.c
@@ -354,7 +354,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_INTEL);
 		igt_require_gem(fd);
 		ctx = intel_ctx_create_all_physical(fd);
@@ -381,7 +381,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		intel_ctx_destroy(fd, ctx);
 		drm_close_driver(fd);
diff --git a/tests/intel/gem_exec_params.c b/tests/intel/gem_exec_params.c
index 382d4f6dc39d..d7dd842c3b9b 100644
--- a/tests/intel/gem_exec_params.c
+++ b/tests/intel/gem_exec_params.c
@@ -451,7 +451,7 @@ int fd;
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 
@@ -720,7 +720,7 @@ igt_main
 
 #undef RUN_FAIL
 
-	igt_fixture {
+	igt_fixture() {
 		gem_close(fd, handle);
 
 		drm_close_driver(fd);
diff --git a/tests/intel/gem_exec_reloc.c b/tests/intel/gem_exec_reloc.c
index d9afbe23a337..1aed353b586b 100644
--- a/tests/intel/gem_exec_reloc.c
+++ b/tests/intel/gem_exec_reloc.c
@@ -1666,7 +1666,7 @@ igt_main
 	uint64_t size;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_INTEL);
 		igt_require_gem(fd);
 		/* Check if relocations supported by platform */
@@ -1678,7 +1678,7 @@ igt_main
 		igt_hang_t hang;
 
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				if (f->flags & HANG)
 					hang = igt_allow_hang(fd, 0, 0);
 			}
@@ -1703,7 +1703,7 @@ igt_main
 				}
 			}
 
-			igt_fixture {
+			igt_fixture() {
 				if (f->flags & HANG)
 					igt_disallow_hang(fd, hang);
 			}
@@ -1758,7 +1758,7 @@ igt_main
 			.n_pipes = IGT_MAX_PIPES
 		};
 
-		igt_fixture {
+		igt_fixture() {
 			igt_device_set_master(fd);
 			kmstest_set_vt_graphics_mode();
 			igt_display_require(&display, fd);
@@ -1771,10 +1771,10 @@ igt_main
 			}
 		}
 
-		igt_fixture
+		igt_fixture()
 			igt_display_fini(&display);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_exec_schedule.c b/tests/intel/gem_exec_schedule.c
index 2f3958723aaf..5a4665284104 100644
--- a/tests/intel/gem_exec_schedule.c
+++ b/tests/intel/gem_exec_schedule.c
@@ -3207,7 +3207,7 @@ igt_main
 	int fd = -1;
 	const intel_ctx_t *ctx = NULL;
 
-	igt_fixture {
+	igt_fixture() {
 		igt_require_sw_sync();
 
 		fd = drm_open_driver_master(DRIVER_INTEL);
@@ -3247,7 +3247,7 @@ igt_main
 	igt_subtest_group {
 		const struct intel_execution_engine2 *e;
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(gem_scheduler_enabled(fd));
 			igt_require(gem_scheduler_has_ctx_priority(fd));
 		}
@@ -3267,7 +3267,7 @@ igt_main
 			lateslice(fd, &ctx->cfg, e->flags, IGT_SPIN_USERPTR);
 
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				igt_require(gem_scheduler_has_timeslicing(fd));
 				igt_require(intel_gen(intel_get_drm_devid(fd)) >= 8);
 			}
@@ -3278,7 +3278,7 @@ igt_main
 			test_each_engine("u-fairslice", fd, ctx, e)
 				fairslice(fd, &ctx->cfg, e, IGT_SPIN_USERPTR, 2);
 
-			igt_fixture {
+			igt_fixture() {
 				intel_allocator_multiprocess_start();
 			}
 			igt_subtest("fairslice-all")  {
@@ -3297,7 +3297,7 @@ igt_main
 				}
 				igt_waitchildren();
 			}
-			igt_fixture {
+			igt_fixture() {
 				intel_allocator_multiprocess_stop();
 			}
 		}
@@ -3346,7 +3346,7 @@ igt_main
 			promotion(fd, &ctx->cfg, e->flags);
 
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				igt_require(gem_scheduler_has_preemption(fd));
 			}
 
@@ -3372,7 +3372,7 @@ igt_main
 				preempt_engines(fd, e, 0);
 
 			igt_subtest_group {
-				igt_fixture {
+				igt_fixture() {
 					igt_require(!gem_scheduler_has_static_priority(fd));
 				}
 
@@ -3391,7 +3391,7 @@ igt_main
 			igt_subtest_group {
 				igt_hang_t hang;
 
-				igt_fixture {
+				igt_fixture() {
 					igt_stop_hang_detector();
 					hang = igt_allow_hang(fd, ctx->id, 0);
 				}
@@ -3402,7 +3402,7 @@ igt_main
 				test_each_engine_store("preemptive-hang", fd, ctx, e)
 					preemptive_hang(fd, &ctx->cfg, e);
 
-				igt_fixture {
+				igt_fixture() {
 					igt_disallow_hang(fd, hang);
 					igt_fork_hang_detector(fd);
 				}
@@ -3432,7 +3432,7 @@ igt_main
 			smoketest(fd, &ctx->cfg, e->flags, 5);
 
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				igt_require(!gem_scheduler_has_static_priority(fd));
 			}
 
@@ -3444,7 +3444,7 @@ igt_main
 	igt_subtest_group {
 		const struct intel_execution_engine2 *e;
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(gem_scheduler_enabled(fd));
 			igt_require(gem_scheduler_has_ctx_priority(fd));
 			igt_require(gem_scheduler_has_preemption(fd));
@@ -3467,7 +3467,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(gem_scheduler_enabled(fd));
 			igt_require(gem_scheduler_has_semaphores(fd));
 		}
@@ -3476,7 +3476,7 @@ igt_main
 			measure_semaphore_power(fd, ctx);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		intel_ctx_destroy(fd, ctx);
 		drm_close_driver(fd);
diff --git a/tests/intel/gem_exec_store.c b/tests/intel/gem_exec_store.c
index d64cdeb6d435..64b293aa46f8 100644
--- a/tests/intel/gem_exec_store.c
+++ b/tests/intel/gem_exec_store.c
@@ -443,7 +443,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 
 		print_welcome(fd);
@@ -474,7 +474,7 @@ igt_main
 	test_each_engine("pages", fd, ctx, e)
 		store_cachelines(fd, ctx, e, PAGES);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		intel_ctx_destroy(fd, ctx);
 		drm_close_driver(fd);
diff --git a/tests/intel/gem_exec_suspend.c b/tests/intel/gem_exec_suspend.c
index 646c219588e4..03bc63fa1d9f 100644
--- a/tests/intel/gem_exec_suspend.c
+++ b/tests/intel/gem_exec_suspend.c
@@ -398,7 +398,7 @@ igt_main
 	struct drm_i915_query_memory_regions *query_info;
 	struct igt_collection *set, *regions;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_INTEL);
 		igt_require_gem(fd);
 		igt_require(gem_can_store_dword(fd, 0));
@@ -462,7 +462,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		hang = igt_allow_hang(fd, 0, 0);
 	}
@@ -472,7 +472,7 @@ igt_main
 		subtest_for_each_combination(test->name, intel_ctx_0(fd), test->flags, test->fn);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		free(query_info);
 		igt_collection_destroy(set);
 		igt_disallow_hang(fd, hang);
diff --git a/tests/intel/gem_exec_whisper.c b/tests/intel/gem_exec_whisper.c
index 32f7ccb2d468..0200d50e8b03 100644
--- a/tests/intel/gem_exec_whisper.c
+++ b/tests/intel/gem_exec_whisper.c
@@ -717,7 +717,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_INTEL);
 		igt_require_gem(fd);
 		igt_require(gem_can_store_dword(fd, 0));
@@ -752,7 +752,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 	}
 
@@ -765,7 +765,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_allocator_multiprocess_stop();
 		intel_ctx_destroy(fd, ctx);
 		drm_close_driver(fd);
diff --git a/tests/intel/gem_exercise_blt.c b/tests/intel/gem_exercise_blt.c
index 72f3b6b347b3..11d5294c83bc 100644
--- a/tests/intel/gem_exercise_blt.c
+++ b/tests/intel/gem_exercise_blt.c
@@ -373,7 +373,7 @@ igt_main_args("b:pst:W:H:", NULL, help_str, opt_handler, NULL)
 	const intel_ctx_t *ctx;
 	int i915;
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 		igt_require(blt_has_fast_copy(i915));
@@ -399,7 +399,7 @@ igt_main_args("b:pst:W:H:", NULL, help_str, opt_handler, NULL)
 		fast_copy_test(i915, ctx, set, FAST_COPY_EMIT);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(i915);
 	}
 }
diff --git a/tests/intel/gem_fenced_exec_thrash.c b/tests/intel/gem_fenced_exec_thrash.c
index 19d49823a31e..8f8203c5bf4d 100644
--- a/tests/intel/gem_fenced_exec_thrash.c
+++ b/tests/intel/gem_fenced_exec_thrash.c
@@ -197,7 +197,7 @@ igt_main
 	unsigned int num_fences = 0;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 
@@ -219,6 +219,6 @@ igt_main
 	igt_subtest("too-many-fences")
 		run_test(fd, num_fences + 1, intel_gen(devid) >= 4 ? 0 : ENOBUFS, 0);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_flink_basic.c b/tests/intel/gem_flink_basic.c
index 2fa3e925ccd0..34bc2a7f5c69 100644
--- a/tests/intel/gem_flink_basic.c
+++ b/tests/intel/gem_flink_basic.c
@@ -189,7 +189,7 @@ igt_main
 {
 	igt_fd_t(fd);
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_INTEL);
 
 	igt_describe("Check if gem object can be exported to global namespace"
diff --git a/tests/intel/gem_gpgpu_fill.c b/tests/intel/gem_gpgpu_fill.c
index 0e60a4991942..d37e778512e3 100644
--- a/tests/intel/gem_gpgpu_fill.c
+++ b/tests/intel/gem_gpgpu_fill.c
@@ -205,7 +205,7 @@ igt_main_args("dW:H:X:Y:", NULL, help_str, opt_handler, NULL)
 	struct drm_i915_query_memory_regions *region_info;
 	struct igt_collection *region_set;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_render(DRIVER_INTEL);
 		data.devid = intel_get_drm_devid(data.drm_fd);
 		igt_require_gem(data.drm_fd);
@@ -251,7 +251,7 @@ igt_main_args("dW:H:X:Y:", NULL, help_str, opt_handler, NULL)
 			   surfheight / 2);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_collection_destroy(region_set);
 		free(region_info);
 		buf_ops_destroy(data.bops);
diff --git a/tests/intel/gem_huc_copy.c b/tests/intel/gem_huc_copy.c
index 8660a9f84a6c..d0f7793e883b 100644
--- a/tests/intel/gem_huc_copy.c
+++ b/tests/intel/gem_huc_copy.c
@@ -105,7 +105,7 @@ igt_main
 	igt_huc_copyfunc_t huc_copy;
 	uint64_t ahnd;
 
-	igt_fixture {
+	igt_fixture() {
 		drm_fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(drm_fd);
 		devid = intel_get_drm_devid(drm_fd);
@@ -151,7 +151,7 @@ igt_main
 		gem_close(drm_fd, obj[2].handle);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		put_ahnd(ahnd);
 		drm_close_driver(drm_fd);
 	}
diff --git a/tests/intel/gem_linear_blits.c b/tests/intel/gem_linear_blits.c
index b6c0b13ac776..c81866aec84d 100644
--- a/tests/intel/gem_linear_blits.c
+++ b/tests/intel/gem_linear_blits.c
@@ -276,7 +276,7 @@ igt_main
 	bool do_relocs;
 	igt_fd_t(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_blitter(fd);
@@ -301,7 +301,7 @@ igt_main
 		run_test(fd, 2, do_relocs);
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_start();
 		}
 
@@ -322,7 +322,7 @@ igt_main
 			igt_stop_signal_helper();
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_stop();
 		}
 	}
diff --git a/tests/intel/gem_lmem_evict.c b/tests/intel/gem_lmem_evict.c
index dcdf30c1dd3d..ab66e3de7417 100644
--- a/tests/intel/gem_lmem_evict.c
+++ b/tests/intel/gem_lmem_evict.c
@@ -98,7 +98,7 @@ igt_main
 	struct drm_i915_query_memory_regions *regions;
 	int i915 = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		char *tmp;
 
 		if (igt_kmod_is_loaded("i915")) {
@@ -144,7 +144,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(i915);
 		igt_i915_driver_unload();
 	}
diff --git a/tests/intel/gem_lmem_swapping.c b/tests/intel/gem_lmem_swapping.c
index 6f494b534251..32aa0e2cd76e 100644
--- a/tests/intel/gem_lmem_swapping.c
+++ b/tests/intel/gem_lmem_swapping.c
@@ -807,7 +807,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	const intel_ctx_t *ctx;
 	int i915 = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		struct intel_execution_engine2 *e;
 		char *tmp;
 
@@ -864,7 +864,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	dynamic_lmem_subtest(region, regions, "smem-oom")
 		test_smem_oom(i915, ctx, region);
 
-	igt_fixture {
+	igt_fixture() {
 		intel_allocator_multiprocess_stop();
 		intel_ctx_destroy(i915, ctx);
 		free(regions);
diff --git a/tests/intel/gem_media_fill.c b/tests/intel/gem_media_fill.c
index 12e91ccbd8aa..0ccc5497ba79 100644
--- a/tests/intel/gem_media_fill.c
+++ b/tests/intel/gem_media_fill.c
@@ -147,7 +147,7 @@ igt_main
 	struct drm_i915_query_memory_regions *query_info;
 	struct igt_collection *set, *region_set;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_render(DRIVER_INTEL);
 		igt_require_gem(data.drm_fd);
 
@@ -178,7 +178,7 @@ igt_main
 			free(sub_name);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_collection_destroy(set);
 		igt_stop_hang_detector();
 		drm_close_driver(data.drm_fd);
diff --git a/tests/intel/gem_mmap.c b/tests/intel/gem_mmap.c
index 829a1e4c1953..a4ef04ddb96e 100644
--- a/tests/intel/gem_mmap.c
+++ b/tests/intel/gem_mmap.c
@@ -209,7 +209,7 @@ igt_main
 	uint8_t buf[OBJECT_SIZE];
 	uint8_t *addr;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require(gem_has_legacy_mmap(fd));
 	}
@@ -365,6 +365,6 @@ igt_main
 	igt_subtest("swap-bo")
 		test_huge_bo(2);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_mmap_gtt.c b/tests/intel/gem_mmap_gtt.c
index 3bf2e584542d..2cd02b281804 100644
--- a/tests/intel/gem_mmap_gtt.c
+++ b/tests/intel/gem_mmap_gtt.c
@@ -1594,7 +1594,7 @@ igt_main
 	if (igt_run_in_simulation())
 		OBJECT_SIZE = 1 * 1024 * 1024;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 
 		/*
@@ -1822,6 +1822,6 @@ igt_main
 	}
 
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_mmap_offset.c b/tests/intel/gem_mmap_offset.c
index 8ce10d61443a..f51c1703bcb2 100644
--- a/tests/intel/gem_mmap_offset.c
+++ b/tests/intel/gem_mmap_offset.c
@@ -1149,7 +1149,7 @@ igt_main
 {
 	int i915;
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require(has_mmap_offset(i915));
 	}
@@ -1244,7 +1244,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(i915);
 	}
 }
diff --git a/tests/intel/gem_mmap_wc.c b/tests/intel/gem_mmap_wc.c
index 487027af9e96..3a6b12f56fe8 100644
--- a/tests/intel/gem_mmap_wc.c
+++ b/tests/intel/gem_mmap_wc.c
@@ -524,7 +524,7 @@ igt_main
 	if (igt_run_in_simulation())
 		OBJECT_SIZE = 1 * 1024 * 1024;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require(gem_has_legacy_mmap(fd));
 		gem_require_mmap_wc(fd);
@@ -638,7 +638,7 @@ igt_main
 		test_write_cpu_read_wc(fd, 0);
 
 	igt_subtest_group {
-		igt_fixture gem_require_mappable_ggtt(fd);
+		igt_fixture() gem_require_mappable_ggtt(fd);
 		igt_subtest("write-wc-read-gtt")
 			test_write_wc_read_gtt(fd);
 		igt_subtest("write-gtt-read-wc")
@@ -650,6 +650,6 @@ igt_main
 	igt_subtest("set-cache-level")
 		test_set_cache_level(fd);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_partial_pwrite_pread.c b/tests/intel/gem_partial_pwrite_pread.c
index c983177663f0..a1912ea82a7b 100644
--- a/tests/intel/gem_partial_pwrite_pread.c
+++ b/tests/intel/gem_partial_pwrite_pread.c
@@ -344,7 +344,7 @@ static void test_partial_read_writes(data_t *data)
 
 static void do_tests(data_t *data, int cache_level, const char *suffix)
 {
-	igt_fixture {
+	igt_fixture() {
 		if (cache_level != -1)
 			gem_set_caching(data->drm_fd, scratch_buf->handle, cache_level);
 	}
@@ -370,7 +370,7 @@ igt_main
 	data_t data = {0, };
 	srandom(0xdeadbeef);
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(data.drm_fd);
 		gem_require_blitter(data.drm_fd);
@@ -391,7 +391,7 @@ igt_main
 	do_tests(&data, 1, "-snoop");
 	do_tests(&data, 2, "-display");
 
-	igt_fixture {
+	igt_fixture() {
 		intel_buf_destroy(scratch_buf);
 		intel_buf_destroy(staging_buf);
 		buf_ops_destroy(data.bops);
diff --git a/tests/intel/gem_pipe_control_store_loop.c b/tests/intel/gem_pipe_control_store_loop.c
index 27630b1883d6..9831eb67e57b 100644
--- a/tests/intel/gem_pipe_control_store_loop.c
+++ b/tests/intel/gem_pipe_control_store_loop.c
@@ -177,7 +177,7 @@ uint32_t devid;
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_blitter(fd);
@@ -197,7 +197,7 @@ igt_main
 	igt_subtest("reused-buffer")
 		store_pipe_control_loop(true, 2);
 
-	igt_fixture {
+	igt_fixture() {
 		buf_ops_destroy(bops);
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/gem_ppgtt.c b/tests/intel/gem_ppgtt.c
index 4ae9a5b73ec5..9c8c5e3dec97 100644
--- a/tests/intel/gem_ppgtt.c
+++ b/tests/intel/gem_ppgtt.c
@@ -412,7 +412,7 @@ igt_main
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 
-	igt_fixture {
+	igt_fixture() {
 		int fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_blitter(fd);
diff --git a/tests/intel/gem_pread.c b/tests/intel/gem_pread.c
index 70a38e75c39d..be83a8de8f59 100644
--- a/tests/intel/gem_pread.c
+++ b/tests/intel/gem_pread.c
@@ -317,7 +317,7 @@ igt_main_args("s:", NULL, help_str, opt_handler, NULL)
 		object_size = OBJECT_SIZE;
 	object_size = (object_size + 3) & -4;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		gem_require_pread_pwrite(fd);
 
@@ -365,7 +365,7 @@ igt_main_args("s:", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		free(src);
 		gem_close(fd, dst);
 
diff --git a/tests/intel/gem_pread_after_blit.c b/tests/intel/gem_pread_after_blit.c
index a793b53cd133..8b0ecfe317f8 100644
--- a/tests/intel/gem_pread_after_blit.c
+++ b/tests/intel/gem_pread_after_blit.c
@@ -245,7 +245,7 @@ igt_main
 	struct buf_ops *bops;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_pread_pwrite(fd);
@@ -274,7 +274,7 @@ igt_main
 			do_test(bops, t->cache, src, start, dst, 1, bcs_hang);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_buf_destroy(src[0]);
 		intel_buf_destroy(src[1]);
 		intel_buf_destroy(dst[0]);
@@ -283,6 +283,6 @@ igt_main
 		buf_ops_destroy(bops);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_pwrite.c b/tests/intel/gem_pwrite.c
index 05a47b7b14c9..eb573584f0a8 100644
--- a/tests/intel/gem_pwrite.c
+++ b/tests/intel/gem_pwrite.c
@@ -555,7 +555,7 @@ igt_main_args("s:", NULL, help_str, opt_handler, NULL)
 		object_size = OBJECT_SIZE;
 	object_size = (object_size + 3) & -4;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		gem_require_pread_pwrite(fd);
 
@@ -603,7 +603,7 @@ igt_main_args("s:", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		free(src);
 		gem_close(fd, dst);
 	}
@@ -640,6 +640,6 @@ igt_main_args("s:", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_pxp.c b/tests/intel/gem_pxp.c
index c8d378875616..ecff502c1427 100644
--- a/tests/intel/gem_pxp.c
+++ b/tests/intel/gem_pxp.c
@@ -1308,7 +1308,7 @@ igt_main
 	uint32_t devid = 0;
 	igt_display_t display;
 
-	igt_fixture
+	igt_fixture()
 	{
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require(i915);
@@ -1436,7 +1436,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		if (pm.debugfsdir != -1)
 			close(pm.debugfsdir);
 
diff --git a/tests/intel/gem_read_read_speed.c b/tests/intel/gem_read_read_speed.c
index c6095f19ea3d..1570f990a157 100644
--- a/tests/intel/gem_read_read_speed.c
+++ b/tests/intel/gem_read_read_speed.c
@@ -248,7 +248,7 @@ igt_main
 	struct buf_ops *bops = NULL;
 	int fd, i;
 
-	igt_fixture {
+	igt_fixture() {
 		int devid;
 
 		fd = drm_open_driver(DRIVER_INTEL);
@@ -276,7 +276,7 @@ igt_main
 			run(bops, sizes[i], sizes[i], true, true);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		buf_ops_destroy(bops);
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/gem_readwrite.c b/tests/intel/gem_readwrite.c
index f3d0c4fbfa43..98f629af49aa 100644
--- a/tests/intel/gem_readwrite.c
+++ b/tests/intel/gem_readwrite.c
@@ -101,7 +101,7 @@ igt_main
 	uint8_t buf[OBJECT_SIZE];
 	int ret;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		gem_require_pread_pwrite(fd);
 
@@ -160,6 +160,6 @@ igt_main
 		igt_assert(ret == -1 && errno == ENOENT);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_reg_read.c b/tests/intel/gem_reg_read.c
index 5559c4d0a7ad..3d760313cb34 100644
--- a/tests/intel/gem_reg_read.c
+++ b/tests/intel/gem_reg_read.c
@@ -164,7 +164,7 @@ igt_main
 	uint64_t val = 0;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		is_x86_64 = check_kernel_x86_64();
 		has_proper_timestamp = check_timestamp(fd);
@@ -183,7 +183,7 @@ igt_main
 		test_timestamp_monotonic(fd);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/intel/gem_render_copy.c b/tests/intel/gem_render_copy.c
index 9df2ce1178e0..fd02df731dc8 100644
--- a/tests/intel/gem_render_copy.c
+++ b/tests/intel/gem_render_copy.c
@@ -857,7 +857,7 @@ igt_main_args("dac", NULL, help_str, opt_handler, NULL)
 
 	data_t data = {0, };
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_render(DRIVER_INTEL);
 		data.devid = intel_get_drm_devid(data.drm_fd);
 		igt_require_gem(data.drm_fd);
@@ -942,7 +942,7 @@ igt_main_args("dac", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		buf_ops_destroy(data.bops);
 		igt_collection_destroy(set);
diff --git a/tests/intel/gem_render_copy_redux.c b/tests/intel/gem_render_copy_redux.c
index b9961fe64557..9acd7207f9e7 100644
--- a/tests/intel/gem_render_copy_redux.c
+++ b/tests/intel/gem_render_copy_redux.c
@@ -221,7 +221,7 @@ igt_main
 {
 	data_t data = {0, };
 
-	igt_fixture {
+	igt_fixture() {
 		data_init(&data);
 		igt_require_gem(data.fd);
 	}
@@ -254,7 +254,7 @@ igt_main
 		igt_stop_signal_helper();
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		data_fini(&data);
 	}
 }
diff --git a/tests/intel/gem_render_linear_blits.c b/tests/intel/gem_render_linear_blits.c
index 5de090d1a353..09ef22899bd8 100644
--- a/tests/intel/gem_render_linear_blits.c
+++ b/tests/intel/gem_render_linear_blits.c
@@ -183,7 +183,7 @@ igt_main
 	static int fd = 0;
 	int count=0;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 	}
diff --git a/tests/intel/gem_render_tiled_blits.c b/tests/intel/gem_render_tiled_blits.c
index e33bd6890a67..64ac1ec2f151 100644
--- a/tests/intel/gem_render_tiled_blits.c
+++ b/tests/intel/gem_render_tiled_blits.c
@@ -234,7 +234,7 @@ igt_main
 	int fd = 0;
 	int count = 0;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		igt_require(gem_available_fences(fd) > 0);
diff --git a/tests/intel/gem_request_retire.c b/tests/intel/gem_request_retire.c
index 5ebfc1d3bc47..77e466c286c6 100644
--- a/tests/intel/gem_request_retire.c
+++ b/tests/intel/gem_request_retire.c
@@ -120,7 +120,7 @@ igt_main
 {
 	igt_fd_t(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_blitter(fd);
diff --git a/tests/intel/gem_reset_stats.c b/tests/intel/gem_reset_stats.c
index 8c74ce28c743..712183cf65af 100644
--- a/tests/intel/gem_reset_stats.c
+++ b/tests/intel/gem_reset_stats.c
@@ -1084,7 +1084,7 @@ igt_main
 {
 	const struct intel_execution_ring *e;
 
-	igt_fixture {
+	igt_fixture() {
 		bool has_reset_stats;
 		bool using_full_reset;
 		char *tmp;
@@ -1160,7 +1160,7 @@ igt_main
 		const struct intel_execution_engine2 *e2;
 		intel_ctx_cfg_t cfg = {};
 
-		igt_fixture {
+		igt_fixture() {
 			gem_require_contexts(device);
 			cfg = intel_ctx_cfg_all_physical(device);
 
@@ -1174,11 +1174,11 @@ igt_main
 					test_shared_reset_domain(&cfg, e2);
 			}
 		}
-		igt_fixture {
+		igt_fixture() {
 			enable_hangcheck(device, true);
 		}
 	}
-	igt_fixture {
+	igt_fixture() {
 		igt_assert(igt_params_set(device, "reset", "%d", INT_MAX /* any reset method */));
 		drm_close_driver(device);
 	}
diff --git a/tests/intel/gem_ringfill.c b/tests/intel/gem_ringfill.c
index a8b9dc19cbc0..8a032d32c2f7 100644
--- a/tests/intel/gem_ringfill.c
+++ b/tests/intel/gem_ringfill.c
@@ -420,7 +420,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		int gen;
 
 		fd = drm_open_driver(DRIVER_INTEL);
@@ -499,7 +499,7 @@ igt_main
 		igt_waitchildren();
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_allocator_multiprocess_stop();
 		intel_ctx_destroy(fd, ctx);
 		drm_close_driver(fd);
diff --git a/tests/intel/gem_set_tiling_vs_blt.c b/tests/intel/gem_set_tiling_vs_blt.c
index f78196fff882..b110c76be0fc 100644
--- a/tests/intel/gem_set_tiling_vs_blt.c
+++ b/tests/intel/gem_set_tiling_vs_blt.c
@@ -240,7 +240,7 @@ igt_main
 	uint32_t tiling, tiling_after;
 	struct buf_ops *bops;
 
-	igt_fixture {
+	igt_fixture() {
 		for (i = 0; i < 1024*256; i++)
 			data[i] = i;
 
@@ -278,7 +278,7 @@ igt_main
 		igt_assert(tiling_after == I915_TILING_X);
 	}
 
-	igt_fixture{
+	igt_fixture(){
 		buf_ops_destroy(bops);
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/gem_shrink.c b/tests/intel/gem_shrink.c
index 53332afbd24f..0ade4f9b31f0 100644
--- a/tests/intel/gem_shrink.c
+++ b/tests/intel/gem_shrink.c
@@ -545,7 +545,7 @@ igt_main
 	uint64_t alloc_size = 0;
 	int num_processes = 0;
 
-	igt_fixture {
+	igt_fixture() {
 		const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 		uint64_t mem_size = igt_get_total_ram_mb();
 		int fd;
diff --git a/tests/intel/gem_softpin.c b/tests/intel/gem_softpin.c
index 98c751439bfc..7e772b927c32 100644
--- a/tests/intel/gem_softpin.c
+++ b/tests/intel/gem_softpin.c
@@ -1470,7 +1470,7 @@ igt_main
 	int fd = -1;
 	const intel_ctx_t *ctx;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_blitter(fd);
@@ -1487,7 +1487,7 @@ igt_main
 	igt_subtest_group {
 		/* Under full-ppgtt, we have complete control of the GTT */
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(gem_uses_full_ppgtt(fd));
 		}
 
@@ -1554,7 +1554,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(gem_uses_full_ppgtt(fd));
 			intel_allocator_multiprocess_start();
 		}
@@ -1567,7 +1567,7 @@ igt_main
 		test_each_engine("allocator-evict", fd, ctx, e)
 			test_allocator_evict(fd, ctx, e->flags, 20);
 
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_stop();
 		}
 	}
@@ -1618,7 +1618,7 @@ igt_main
 	igt_subtest("evict-hang")
 		test_evict_hang(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		intel_ctx_destroy(fd, ctx);
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/gem_spin_batch.c b/tests/intel/gem_spin_batch.c
index dee892411349..36e1d759ab24 100644
--- a/tests/intel/gem_spin_batch.c
+++ b/tests/intel/gem_spin_batch.c
@@ -248,7 +248,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		ctx = intel_ctx_create_all_physical(fd);
@@ -303,7 +303,7 @@ igt_main
 #undef test_each_engine
 
 	igt_subtest_group {
-		igt_fixture
+		igt_fixture()
 			intel_allocator_multiprocess_start();
 
 		igt_subtest("spin-each")
@@ -314,11 +314,11 @@ igt_main
 			spin_on_all_engines(fd, ctx, IGT_SPIN_USERPTR, 3);
 		}
 
-		igt_fixture
+		igt_fixture()
 			intel_allocator_multiprocess_stop();
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		intel_ctx_destroy(fd, ctx);
 		drm_close_driver(fd);
diff --git a/tests/intel/gem_streaming_writes.c b/tests/intel/gem_streaming_writes.c
index ea8c6db23917..7e1b65cf1fd5 100644
--- a/tests/intel/gem_streaming_writes.c
+++ b/tests/intel/gem_streaming_writes.c
@@ -423,7 +423,7 @@ igt_main
 {
 	int fd, sync;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 	}
@@ -450,6 +450,6 @@ igt_main
 	igt_subtest("batch-reverse-wc")
 		test_batch(fd, 2, 1);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_sync.c b/tests/intel/gem_sync.c
index 0861f41d75b1..6a2644b1ebbb 100644
--- a/tests/intel/gem_sync.c
+++ b/tests/intel/gem_sync.c
@@ -1436,7 +1436,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_submission_print_method(fd);
@@ -1503,7 +1503,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			gem_require_contexts(fd);
 			igt_require(gem_scheduler_has_ctx_priority(fd));
 			igt_require(gem_scheduler_has_preemption(fd));
@@ -1525,7 +1525,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_allocator_multiprocess_stop();
 		igt_stop_hang_detector();
 		intel_ctx_destroy(fd, ctx);
diff --git a/tests/intel/gem_tiled_blits.c b/tests/intel/gem_tiled_blits.c
index d8e80ca60efa..735ef4800e3e 100644
--- a/tests/intel/gem_tiled_blits.c
+++ b/tests/intel/gem_tiled_blits.c
@@ -191,7 +191,7 @@ igt_main
 	uint64_t count = 0;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_blitter(fd);
@@ -213,7 +213,7 @@ igt_main
 		run_test(fd, 2);
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_start();
 		}
 
@@ -233,12 +233,12 @@ igt_main
 			igt_stop_signal_helper();
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_stop();
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/intel/gem_tiled_fence_blits.c b/tests/intel/gem_tiled_fence_blits.c
index c11eb73e3701..5753f9ad8455 100644
--- a/tests/intel/gem_tiled_fence_blits.c
+++ b/tests/intel/gem_tiled_fence_blits.c
@@ -302,7 +302,7 @@ igt_main
 	uint64_t count = 0, end;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_blitter(fd);
@@ -326,7 +326,7 @@ igt_main
 		run_test(fd, 2, end);
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_start();
 		}
 
@@ -337,11 +337,11 @@ igt_main
 			igt_waitchildren();
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_stop();
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_tiled_partial_pwrite_pread.c b/tests/intel/gem_tiled_partial_pwrite_pread.c
index 7e5a2766017b..68fc64e3eea2 100644
--- a/tests/intel/gem_tiled_partial_pwrite_pread.c
+++ b/tests/intel/gem_tiled_partial_pwrite_pread.c
@@ -290,7 +290,7 @@ igt_main
 {
 	srandom(0xdeadbeef);
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		gem_require_mappable_ggtt(fd);
@@ -327,7 +327,7 @@ igt_main
 	igt_subtest("writes-after-reads")
 		test_partial_read_writes();
 
-	igt_fixture {
+	igt_fixture() {
 		intel_buf_destroy(scratch_buf);
 		intel_buf_destroy(staging_buf);
 		intel_buf_destroy(tiled_staging_buf);
diff --git a/tests/intel/gem_tiled_swapping.c b/tests/intel/gem_tiled_swapping.c
index 1a9de5d2f6b7..23be1b7232d9 100644
--- a/tests/intel/gem_tiled_swapping.c
+++ b/tests/intel/gem_tiled_swapping.c
@@ -182,7 +182,7 @@ igt_main
 	struct thread *threads;
 	int fd, num_threads;
 
-	igt_fixture {
+	igt_fixture() {
 		size_t lock_size;
 
 		current_tiling_mode = I915_TILING_X;
@@ -258,6 +258,6 @@ igt_main
 			thread_fini(&threads[n]);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/gem_userptr_blits.c b/tests/intel/gem_userptr_blits.c
index ff076dc649b5..83c9f8888348 100644
--- a/tests/intel/gem_userptr_blits.c
+++ b/tests/intel/gem_userptr_blits.c
@@ -2502,7 +2502,7 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 	int size = sizeof(linear);
 	igt_fd_t(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		unsigned int mmo_max = 0;
 
 		fd = drm_open_driver(DRIVER_INTEL);
@@ -2533,7 +2533,7 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			/* Either mode will do for parameter checking */
 			gem_userptr_test_synchronized();
 			if (!has_userptr(fd))
@@ -2580,7 +2580,7 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 	igt_subtest_group {
 		gem_userptr_test_unsynchronized();
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(has_userptr(fd));
 		}
 
@@ -2644,7 +2644,7 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 			test_major_evictions(fd, size, count);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			size = sizeof(linear);
 			count = 2 * gem_aperture_size(fd) / (1024*1024) / 3;
 			if (count > total_ram * 3 / 4)
@@ -2674,7 +2674,7 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 	igt_subtest_group {
 		gem_userptr_test_synchronized();
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(has_userptr(fd));
 			size = sizeof(linear);
 			count = 2 * gem_aperture_size(fd) / (1024*1024) / 3;
@@ -2770,7 +2770,7 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 			test_major_evictions(fd, size, count);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			size = 1024 * 1024;
 			count = 2 * gem_aperture_size(fd) / (1024*1024) / 3;
 			if (count > total_ram * 3 / 4)
@@ -2798,7 +2798,7 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			gem_userptr_test_synchronized();
 			if (!has_userptr(fd))
 				gem_userptr_test_unsynchronized();
diff --git a/tests/intel/gem_vm_create.c b/tests/intel/gem_vm_create.c
index 752babfa8a52..18b049cc0551 100644
--- a/tests/intel/gem_vm_create.c
+++ b/tests/intel/gem_vm_create.c
@@ -384,7 +384,7 @@ igt_main
 {
 	int i915 = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 		igt_require(has_vm(i915));
@@ -397,7 +397,7 @@ igt_main
 		invalid_destroy(i915);
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			gem_context_require_param(i915, I915_CONTEXT_PARAM_VM);
 		}
 
@@ -411,7 +411,7 @@ igt_main
 			create_ext(i915);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(i915);
 	}
 }
diff --git a/tests/intel/gem_wait.c b/tests/intel/gem_wait.c
index 9265d1d7abab..a08fda9beefd 100644
--- a/tests/intel/gem_wait.c
+++ b/tests/intel/gem_wait.c
@@ -234,7 +234,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_INTEL);
 		igt_require_gem(fd);
 		ctx = intel_ctx_create_all_physical(fd);
@@ -261,7 +261,7 @@ igt_main
 			{ }
 		};
 
-		igt_fixture {
+		igt_fixture() {
 			igt_fork_hang_detector(fd);
 			igt_fork_signal_helper();
 		}
@@ -272,7 +272,7 @@ igt_main
 			test_all_engines(t->name, fd, ctx, t->flags);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			igt_stop_signal_helper();
 			igt_stop_hang_detector();
 		}
@@ -291,7 +291,7 @@ igt_main
 		};
 		igt_hang_t hang;
 
-		igt_fixture {
+		igt_fixture() {
 			hang = igt_allow_hang(fd, ctx->id, 0);
 			igt_fork_signal_helper();
 		}
@@ -302,13 +302,13 @@ igt_main
 			test_all_engines(t->name, fd, ctx, t->flags);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			igt_stop_signal_helper();
 			igt_disallow_hang(fd, hang);
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_ctx_destroy(fd, ctx);
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/gem_watchdog.c b/tests/intel/gem_watchdog.c
index 1edde8b3c345..9b69f534399a 100644
--- a/tests/intel/gem_watchdog.c
+++ b/tests/intel/gem_watchdog.c
@@ -559,7 +559,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int i915 = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		const unsigned int timeout = 1;
 		char *tmp;
 
@@ -608,7 +608,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_ctx_destroy(i915, ctx);
 		drm_close_driver(i915);
 	}
diff --git a/tests/intel/gem_workarounds.c b/tests/intel/gem_workarounds.c
index b810b125cd07..b639b061a786 100644
--- a/tests/intel/gem_workarounds.c
+++ b/tests/intel/gem_workarounds.c
@@ -300,7 +300,7 @@ igt_main
 	}, *m;
 	igt_fd_t(device);
 
-	igt_fixture {
+	igt_fixture() {
 		FILE *file;
 		char *line = NULL;
 		char *str;
@@ -352,7 +352,7 @@ igt_main
 		igt_subtest_group {
 			igt_hang_t hang = {};
 
-			igt_fixture {
+			igt_fixture() {
 				switch (op->op) {
 				case GPU_RESET:
 					hang = igt_allow_hang(device, 0, 0);
@@ -366,7 +366,7 @@ igt_main
 				igt_subtest_f("%s%s", op->name, m->name)
 					check_workarounds(device, op->op, m->flags);
 
-			igt_fixture {
+			igt_fixture() {
 				switch (op->op) {
 				case GPU_RESET:
 					igt_disallow_hang(device, hang);
diff --git a/tests/intel/gen7_exec_parse.c b/tests/intel/gen7_exec_parse.c
index 3a37604e52aa..8a25805f00d6 100644
--- a/tests/intel/gen7_exec_parse.c
+++ b/tests/intel/gen7_exec_parse.c
@@ -487,7 +487,7 @@ igt_main
 	uint32_t handle;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 
@@ -607,7 +607,7 @@ igt_main
 		};
 #undef REG
 
-		igt_fixture {
+		igt_fixture() {
 			intel_register_access_init(&mmio_data, igt_device_get_pci_device(fd), 0);
 		}
 
@@ -620,7 +620,7 @@ igt_main
 			}
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			intel_register_access_fini(&mmio_data);
 		}
 	}
@@ -747,7 +747,7 @@ igt_main
 	igt_subtest("load-register-reg")
 		hsw_load_register_reg();
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		gem_close(fd, handle);
 
diff --git a/tests/intel/gen9_exec_parse.c b/tests/intel/gen9_exec_parse.c
index dcce24835013..6fc76ae9317f 100644
--- a/tests/intel/gen9_exec_parse.c
+++ b/tests/intel/gen9_exec_parse.c
@@ -1211,7 +1211,7 @@ igt_main
 	uint32_t handle;
 	int i915;
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 		gem_require_blitter(i915);
@@ -1298,7 +1298,7 @@ igt_main
 	igt_subtest("shadow-peek")
 		test_shadow_peek(i915);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_stop_hang_detector();
 		gem_close(i915, handle);
 
diff --git a/tests/intel/i915_drm_fdinfo.c b/tests/intel/i915_drm_fdinfo.c
index f5aadc9eb5de..902c0cb8e551 100644
--- a/tests/intel/i915_drm_fdinfo.c
+++ b/tests/intel/i915_drm_fdinfo.c
@@ -938,7 +938,7 @@ igt_main
 	const intel_ctx_t *ctx = NULL;
 	int i915 = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		struct drm_client_fdinfo info = { };
 		unsigned int i;
 
@@ -1095,17 +1095,17 @@ igt_main
 	igt_subtest_group {
 		int newfd;
 
-		igt_fixture
+		igt_fixture()
 			newfd = drm_reopen_driver(i915);
 
 		igt_subtest("context-close-stress")
 			stress_context_close(newfd);
 
-		igt_fixture
+		igt_fixture()
 			drm_close_driver(newfd);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_ctx_destroy(i915, ctx);
 		drm_close_driver(i915);
 	}
diff --git a/tests/intel/i915_fb_tiling.c b/tests/intel/i915_fb_tiling.c
index 8d95416f72e5..508f8f3ff389 100644
--- a/tests/intel/i915_fb_tiling.c
+++ b/tests/intel/i915_fb_tiling.c
@@ -42,7 +42,7 @@ igt_main
 	int drm_fd;
 	struct igt_fb fb;
 
-	igt_fixture {
+	igt_fixture() {
 		drm_fd = drm_open_driver_master(DRIVER_INTEL);
 		igt_require(gem_available_fences(drm_fd) > 0);
 	}
@@ -64,6 +64,6 @@ igt_main
 		igt_assert_eq(ret2, -EBUSY);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(drm_fd);
 }
diff --git a/tests/intel/i915_getparams_basic.c b/tests/intel/i915_getparams_basic.c
index cd0b528bcd94..e52fbab6cf19 100644
--- a/tests/intel/i915_getparams_basic.c
+++ b/tests/intel/i915_getparams_basic.c
@@ -164,7 +164,7 @@ exit_handler(int sig)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		igt_install_exit_handler(exit_handler);
 		init();
 	}
diff --git a/tests/intel/i915_hangman.c b/tests/intel/i915_hangman.c
index a556eec5354f..78c96b0d906f 100644
--- a/tests/intel/i915_hangman.c
+++ b/tests/intel/i915_hangman.c
@@ -574,7 +574,7 @@ igt_main
 	struct gem_engine_properties saved_params[GEM_MAX_ENGINES];
 	int num_engines = 0;
 
-	igt_fixture {
+	igt_fixture() {
 		const struct intel_execution_engine2 *e;
 
 		device = drm_open_driver(DRIVER_INTEL);
@@ -619,7 +619,7 @@ igt_main
 
 	do_tests("GT", "gt", ctx);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_disallow_hang(device, hang);
 
 		hang = igt_allow_hang(device, ctx->id, HANG_ALLOW_CAPTURE | HANG_WANT_ENGINE_RESET);
@@ -627,7 +627,7 @@ igt_main
 
 	do_tests("engine", "engine", ctx);
 
-	igt_fixture {
+	igt_fixture() {
 		int i;
 
 		for (i = 0; i < num_engines; i++)
diff --git a/tests/intel/i915_pm_freq_api.c b/tests/intel/i915_pm_freq_api.c
index f2106cd3e319..f4bd3cb9e5df 100644
--- a/tests/intel/i915_pm_freq_api.c
+++ b/tests/intel/i915_pm_freq_api.c
@@ -161,7 +161,7 @@ static void restore_sysfs_freq(int sig)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		int num_gts, dirfd, gt;
 
 		i915 = drm_open_driver(DRIVER_INTEL);
diff --git a/tests/intel/i915_pm_freq_mult.c b/tests/intel/i915_pm_freq_mult.c
index fa68be2200dc..05b55124c012 100644
--- a/tests/intel/i915_pm_freq_mult.c
+++ b/tests/intel/i915_pm_freq_mult.c
@@ -168,7 +168,7 @@ igt_main
 {
 	int dir, gt;
 
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 
 		/* Frequency multipliers are not simulated. */
@@ -183,7 +183,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(i915);
 	}
 }
diff --git a/tests/intel/i915_pm_rc6_residency.c b/tests/intel/i915_pm_rc6_residency.c
index 2236668ce91d..e56263ff27ef 100644
--- a/tests/intel/i915_pm_rc6_residency.c
+++ b/tests/intel/i915_pm_rc6_residency.c
@@ -608,7 +608,7 @@ igt_main
 	const intel_ctx_t *ctx;
 
 	/* Use drm_open_driver to verify device existence */
-	igt_fixture {
+	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
 	}
 
@@ -651,7 +651,7 @@ igt_main
 		unsigned int rc6_enabled = 0;
 		unsigned int devid = 0;
 
-		igt_fixture {
+		igt_fixture() {
 			devid = intel_get_drm_devid(i915);
 			sysfs = igt_sysfs_open(i915);
 			igt_assert(sysfs != 1);
@@ -683,11 +683,11 @@ igt_main
 			residency_accuracy(res.media_rc6, res.duration, "media_rc6");
 		}
 
-		igt_fixture
+		igt_fixture()
 			close(sysfs);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		free(drpc);
 		drm_close_driver(i915);
 	}
diff --git a/tests/intel/i915_pm_rpm.c b/tests/intel/i915_pm_rpm.c
index 31758b1a5e35..6aa165bf962b 100644
--- a/tests/intel/i915_pm_rpm.c
+++ b/tests/intel/i915_pm_rpm.c
@@ -1349,7 +1349,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	/* Skip instead of failing in case the machine is not prepared to reach
 	 * PC8+. We don't want bug reports from cases where the machine is just
 	 * not properly configured. */
-	igt_fixture {
+	igt_fixture() {
 		igt_require(setup_environment(true));
 	}
 
@@ -1420,7 +1420,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	igt_subtest("gem-execbuf-stress-pc8")
 		gem_execbuf_stress_subtest(rounds, WAIT_PC8_RES, 0);
 
-	igt_fixture {
+	igt_fixture() {
 		teardown_environment(true);
 		forcewake_put(&ms_data);
 	}
diff --git a/tests/intel/i915_pm_rps.c b/tests/intel/i915_pm_rps.c
index 359776a6d81e..061fddc6a7a8 100644
--- a/tests/intel/i915_pm_rps.c
+++ b/tests/intel/i915_pm_rps.c
@@ -1205,7 +1205,7 @@ igt_main
 {
 	int tmp, gt;
 
-	igt_fixture {
+	igt_fixture() {
 		char sysfs_path[80];
 
 		/* Use drm_open_driver to verify device existence */
@@ -1319,6 +1319,6 @@ igt_main
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(drm_fd);
 }
diff --git a/tests/intel/i915_pm_sseu.c b/tests/intel/i915_pm_sseu.c
index 13493933a05a..85493b83d26d 100644
--- a/tests/intel/i915_pm_sseu.c
+++ b/tests/intel/i915_pm_sseu.c
@@ -389,7 +389,7 @@ exit_handler(int sig)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		igt_install_exit_handler(exit_handler);
 
 		gem_init();
diff --git a/tests/intel/i915_power.c b/tests/intel/i915_power.c
index 4de7adbe68be..8fff552cc37b 100644
--- a/tests/intel/i915_power.c
+++ b/tests/intel/i915_power.c
@@ -79,7 +79,7 @@ igt_main
 {
 	int i915;
 
-	igt_fixture {
+	igt_fixture() {
 		igt_skip_on_simulation();
 		i915 = drm_open_driver_master(DRIVER_INTEL);
 	}
@@ -89,7 +89,7 @@ igt_main
 		sanity(i915);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(i915);
 	}
 }
diff --git a/tests/intel/i915_query.c b/tests/intel/i915_query.c
index df7e46a63daa..9545a35c1836 100644
--- a/tests/intel/i915_query.c
+++ b/tests/intel/i915_query.c
@@ -1441,7 +1441,7 @@ igt_main
 	int fd = -1;
 	int devid;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require(has_query_supports(fd));
 		devid = intel_get_drm_devid(fd);
@@ -1516,7 +1516,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(query_engine_info_supported(fd));
 		}
 
@@ -1533,7 +1533,7 @@ igt_main
 	igt_subtest("hwconfig_table")
 		query_parse_and_validate_hwconfig_table(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/intel/i915_suspend.c b/tests/intel/i915_suspend.c
index fae1031a2357..881b49bda2d6 100644
--- a/tests/intel/i915_suspend.c
+++ b/tests/intel/i915_suspend.c
@@ -308,7 +308,7 @@ igt_main
 	igt_subtest("basic-s3-without-i915")
 		test_suspend_without_i915(SUSPEND_STATE_S3);
 
-	igt_fixture {
+	igt_fixture() {
 		/*
 		 * Since above subtests may fail, leaving i915 module unloaded
 		 * but device list populated, refresh the device list before
@@ -362,6 +362,6 @@ igt_main
 	igt_subtest("forcewake-hibernate")
 		test_forcewake(fd, true);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/intel_hwmon.c b/tests/intel/intel_hwmon.c
index e4272e0a0c9a..a700f69769b2 100644
--- a/tests/intel/intel_hwmon.c
+++ b/tests/intel/intel_hwmon.c
@@ -80,7 +80,7 @@ igt_main
 {
 	int fd, hwm;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 		hwm = igt_hwmon_open(fd);
 		igt_require(hwm >= 0);
@@ -96,7 +96,7 @@ igt_main
 		hwmon_write(hwm);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		close(hwm);
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/kms_big_fb.c b/tests/intel/kms_big_fb.c
index 41fdcacab9dd..e7123cabcedf 100644
--- a/tests/intel/kms_big_fb.c
+++ b/tests/intel/kms_big_fb.c
@@ -969,7 +969,7 @@ static bool test_requirements(data_t *input_data, int l)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		drmModeResPtr res;
 
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
@@ -1075,7 +1075,7 @@ igt_main
 					test_scanout(&data);
 			}
 
-			igt_fixture
+			igt_fixture()
 				test_cleanup(&data);
 		}
 	}
@@ -1133,7 +1133,7 @@ igt_main
 					}
 					data.async_flip_test = false;
 
-					igt_fixture
+					igt_fixture()
 						test_cleanup(&data);
 				}
 			}
@@ -1141,7 +1141,7 @@ igt_main
 	}
 	data.max_hw_stride_test = false;
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		buf_ops_destroy(data.bops);
 		drm_close_driver(data.drm_fd);
diff --git a/tests/intel/kms_busy.c b/tests/intel/kms_busy.c
index 3f65ecb0192e..e9d2792c7a9a 100644
--- a/tests/intel/kms_busy.c
+++ b/tests/intel/kms_busy.c
@@ -431,7 +431,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	};
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_INTEL);
 
 		igt_require_gem(fd);
@@ -508,7 +508,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 		struct gem_engine_properties saved_gpu_timeouts[GEM_MAX_ENGINES];
 		int num_engines;
 
-		igt_fixture {
+		igt_fixture() {
 			igt_require(display.is_atomic);
 			if (tests[i].reset)
 				gpu_engines_init_timeouts(display.drm_fd,
@@ -545,13 +545,13 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 			igt_disallow_hang(display.drm_fd, hang);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			if (tests[i].reset)
 				gpu_engines_restore_timeouts(display.drm_fd, num_engines, saved_gpu_timeouts);
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&display);
 		drm_close_driver(display.drm_fd);
 	}
diff --git a/tests/intel/kms_ccs.c b/tests/intel/kms_ccs.c
index ab081aa755fa..ea53157bc8b3 100644
--- a/tests/intel/kms_ccs.c
+++ b/tests/intel/kms_ccs.c
@@ -1127,7 +1127,7 @@ static void test_output(data_t *data, const int testnum)
 {
 	uint16_t dev_id;
 
-	igt_fixture
+	igt_fixture()
 		dev_id = intel_get_drm_devid(data->drm_fd);
 
 	data->flags = tests[testnum].flags;
@@ -1191,7 +1191,7 @@ static void test_output(data_t *data, const int testnum)
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		data->plane = NULL;
 }
 
@@ -1227,7 +1227,7 @@ static const char *help_str =
 
 igt_main_args("csr:", NULL, help_str, opt_handler, &data)
 {
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 
 		igt_require(intel_display_ver(intel_get_drm_devid(data.drm_fd)) >= 9);
@@ -1249,7 +1249,7 @@ igt_main_args("csr:", NULL, help_str, opt_handler, &data)
 	for (int c = 0; c < ARRAY_SIZE(tests); c++)
 		test_output(&data, c);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_commit2(&data.display, data.commit);
 		for (int i = 0; i < data.fb_list_length; i++)
 			igt_remove_fb(data.drm_fd, &data.fb_list[i].fb);
diff --git a/tests/intel/kms_cdclk.c b/tests/intel/kms_cdclk.c
index 0c7c235f3d02..f1595818c1bd 100644
--- a/tests/intel/kms_cdclk.c
+++ b/tests/intel/kms_cdclk.c
@@ -344,7 +344,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 		igt_require(data.drm_fd >= 0);
 		kmstest_set_vt_graphics_mode();
@@ -370,7 +370,7 @@ igt_main
 	igt_subtest("mode-transition-all-outputs")
 		test_mode_transition_on_all_outputs(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/intel/kms_dirtyfb.c b/tests/intel/kms_dirtyfb.c
index c0649c0c6208..f25226da86a6 100644
--- a/tests/intel/kms_dirtyfb.c
+++ b/tests/intel/kms_dirtyfb.c
@@ -354,7 +354,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
 		kmstest_set_vt_graphics_mode();
@@ -415,7 +415,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		buf_ops_destroy(data.bops);
 		igt_display_fini(&data.display);
 		close(data.drm_fd);
diff --git a/tests/intel/kms_dp_link_training.c b/tests/intel/kms_dp_link_training.c
index fb9b42608f25..7c1a97d022bd 100644
--- a/tests/intel/kms_dp_link_training.c
+++ b/tests/intel/kms_dp_link_training.c
@@ -302,7 +302,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 		data.devid = intel_get_drm_devid(data.drm_fd);
 		kmstest_set_vt_graphics_mode();
@@ -344,7 +344,7 @@ igt_main
 			      "Didn't find any MST output with NON-UHBR rates.\n");
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_reset_connectors();
 		igt_display_fini(&data.display);
 		close(data.drm_fd);
diff --git a/tests/intel/kms_dp_linktrain_fallback.c b/tests/intel/kms_dp_linktrain_fallback.c
index 4d67408833eb..b5e9e07774da 100644
--- a/tests/intel/kms_dp_linktrain_fallback.c
+++ b/tests/intel/kms_dp_linktrain_fallback.c
@@ -601,7 +601,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		unsigned int debug_mask_if_ci = DRM_UT_KMS;
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL |
 						     DRIVER_XE);
@@ -631,7 +631,7 @@ igt_main
 			      "Skipping test as DSC fallback conditions not met.\n");
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_remove_fb(data.drm_fd, &data.fb);
 		igt_display_fini(&data.display);
 		close(data.drm_fd);
diff --git a/tests/intel/kms_draw_crc.c b/tests/intel/kms_draw_crc.c
index 4877e757c24a..073a0084a7f1 100644
--- a/tests/intel/kms_draw_crc.c
+++ b/tests/intel/kms_draw_crc.c
@@ -335,7 +335,7 @@ igt_main
 	uint64_t modifier;
 	bool found_supported_format = false;
 
-	igt_fixture
+	igt_fixture()
 		setup_environment();
 
 	for (method = 0; method < IGT_DRAW_METHOD_COUNT; method++) {
@@ -378,6 +378,6 @@ igt_main
 	igt_subtest("fill-fb")
 		fill_fb_subtest();
 
-	igt_fixture
+	igt_fixture()
 		teardown_environment();
 }
diff --git a/tests/intel/kms_dsc.c b/tests/intel/kms_dsc.c
index 7f074537051a..a3c1fe716b09 100644
--- a/tests/intel/kms_dsc.c
+++ b/tests/intel/kms_dsc.c
@@ -323,7 +323,7 @@ data_t data = {};
 
 igt_main_args("l", NULL, help_str, opt_handler, &data)
 {
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 		data.devid = intel_get_drm_devid(data.drm_fd);
 		data.disp_ver = intel_display_ver(data.devid);
@@ -415,7 +415,7 @@ igt_main_args("l", NULL, help_str, opt_handler, &data)
 				 DSC_FORMAT_RGB);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/intel/kms_fb_coherency.c b/tests/intel/kms_fb_coherency.c
index 573037db1102..298cd7946086 100644
--- a/tests/intel/kms_fb_coherency.c
+++ b/tests/intel/kms_fb_coherency.c
@@ -238,7 +238,7 @@ igt_main
 {
 	data_t data;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 
 		data.devid = intel_get_drm_devid(data.drm_fd);
@@ -288,7 +288,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/intel/kms_fbc_dirty_rect.c b/tests/intel/kms_fbc_dirty_rect.c
index eda3fd91a896..c8b85545cd17 100644
--- a/tests/intel/kms_fbc_dirty_rect.c
+++ b/tests/intel/kms_fbc_dirty_rect.c
@@ -440,7 +440,7 @@ igt_main
 {
 	data_t data = {0};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_XE);
 		igt_require(data.drm_fd >= 0);
 		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
@@ -530,7 +530,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		close(data.drm_fd);
 	}
diff --git a/tests/intel/kms_fbcon_fbt.c b/tests/intel/kms_fbcon_fbt.c
index 2c8cbbb1e94f..a410b2e0be6d 100644
--- a/tests/intel/kms_fbcon_fbt.c
+++ b/tests/intel/kms_fbcon_fbt.c
@@ -455,7 +455,7 @@ igt_main
 {
 	struct drm_info drm = { .fd = -1 };
 
-	igt_fixture
+	igt_fixture()
 		setup_environment(&drm);
 
 	igt_describe("Test the relationship between fbcon and the frontbuffer "
@@ -482,6 +482,6 @@ igt_main
 	igt_subtest("psr-suspend")
 		subtest(&drm, &psr, true);
 
-	igt_fixture
+	igt_fixture()
 		teardown_environment(&drm);
 }
diff --git a/tests/intel/kms_flip_scaled_crc.c b/tests/intel/kms_flip_scaled_crc.c
index e866c62fc2bb..9daf045c4d8e 100644
--- a/tests/intel/kms_flip_scaled_crc.c
+++ b/tests/intel/kms_flip_scaled_crc.c
@@ -721,7 +721,7 @@ igt_main
 	igt_output_t *output;
 	drmModeModeInfoPtr modetoset = NULL;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 		data.gen = intel_display_ver(intel_get_drm_devid(data.drm_fd));
 		igt_require(data.gen >= 9);
@@ -778,7 +778,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		free_fbs(&data);
 		if (data.pipe_crc) {
 			igt_pipe_crc_stop(data.pipe_crc);
diff --git a/tests/intel/kms_flip_tiling.c b/tests/intel/kms_flip_tiling.c
index d078653e9d91..aba8949514d2 100644
--- a/tests/intel/kms_flip_tiling.c
+++ b/tests/intel/kms_flip_tiling.c
@@ -211,7 +211,7 @@ igt_output_t *output;
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 		data.gen = intel_display_ver(intel_get_drm_devid(data.drm_fd));
 
@@ -273,7 +273,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
index 0f162d9a514f..4e1214d165f1 100644
--- a/tests/intel/kms_frontbuffer_tracking.c
+++ b/tests/intel/kms_frontbuffer_tracking.c
@@ -4093,7 +4093,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	enum pipe pipe;
 	igt_output_t *output;
 
-	igt_fixture {
+	igt_fixture() {
 		setup_drm();
 		drm.devid = intel_get_drm_devid(drm.fd);
 		drm.display_ver = intel_display_ver(drm.devid);
@@ -4195,7 +4195,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 			}
 		}
 
-		igt_fixture
+		igt_fixture()
 			init_modeset_cached_params();
 	}
 
@@ -4459,6 +4459,6 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 		basic_subtest(&t);
 	}
 
-	igt_fixture
+	igt_fixture()
 		teardown_environment();
 }
diff --git a/tests/intel/kms_joiner.c b/tests/intel/kms_joiner.c
index 276170229775..efb109604d1a 100644
--- a/tests/intel/kms_joiner.c
+++ b/tests/intel/kms_joiner.c
@@ -553,7 +553,7 @@ igt_main
 	drmModeModeInfo mode;
 	data_t data;
 
-	igt_fixture {
+	igt_fixture() {
 		ultra_joiner_supported = false;
 		data.big_joiner_output_count = 0;
 		data.ultra_joiner_output_count = 0;
@@ -628,7 +628,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(data.big_joiner_output_count > 0);
 			igt_require(data.n_pipes > 1);
 		}
@@ -658,7 +658,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(data.non_big_joiner_output_count > 0);
 			igt_require(data.n_pipes > 1);
 		}
@@ -700,7 +700,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(data.ultra_joiner_output_count > 0);
 			igt_require(data.n_pipes > 3);
 		}
@@ -724,7 +724,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(ultra_joiner_supported);
 			igt_require(data.non_ultra_joiner_output_count > 0);
 			igt_require(data.n_pipes > 3);
@@ -775,7 +775,7 @@ igt_main
 			test_basic_max_non_joiner(&data);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 		igt_reset_connectors();
diff --git a/tests/intel/kms_legacy_colorkey.c b/tests/intel/kms_legacy_colorkey.c
index 957e208c6d18..db674dc255fa 100644
--- a/tests/intel/kms_legacy_colorkey.c
+++ b/tests/intel/kms_legacy_colorkey.c
@@ -60,7 +60,7 @@ static void test_plane(uint32_t plane_id, int expected_ret)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		drm_fd = drm_open_driver_master(DRIVER_INTEL);
 
 		kmstest_set_vt_graphics_mode();
@@ -100,7 +100,7 @@ igt_main
 			test_plane(max_id + 1, -ENOENT);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&display);
 		drm_close_driver(drm_fd);
 	}
diff --git a/tests/intel/kms_mmap_write_crc.c b/tests/intel/kms_mmap_write_crc.c
index 74ba70edd774..93c435a999cd 100644
--- a/tests/intel/kms_mmap_write_crc.c
+++ b/tests/intel/kms_mmap_write_crc.c
@@ -275,7 +275,7 @@ igt_main_args("n", NULL, NULL, opt_handler, NULL)
 	igt_output_t *output;
 	enum pipe pipe;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 
 		data.devid = intel_get_drm_devid(data.drm_fd);
@@ -318,7 +318,7 @@ igt_main_args("n", NULL, NULL, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 
diff --git a/tests/intel/kms_pipe_b_c_ivb.c b/tests/intel/kms_pipe_b_c_ivb.c
index 11236cb369ae..7960dbc9be4f 100644
--- a/tests/intel/kms_pipe_b_c_ivb.c
+++ b/tests/intel/kms_pipe_b_c_ivb.c
@@ -293,7 +293,7 @@ igt_main
 {
 	int devid;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
 		devid = intel_get_drm_devid(data.drm_fd);
 		igt_skip_on(!IS_IVYBRIDGE(devid));
@@ -328,7 +328,7 @@ igt_main
 	igt_subtest("enable-pipe-C-while-B-has-3-lanes")
 		test_fail_enable_pipe_C_while_B_has_3_lanes(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/intel/kms_pipe_stress.c b/tests/intel/kms_pipe_stress.c
index 193f59d8d4b1..525c6810e3d7 100644
--- a/tests/intel/kms_pipe_stress.c
+++ b/tests/intel/kms_pipe_stress.c
@@ -859,7 +859,7 @@ struct data data = {
 igt_main {
 	uint8_t format_idx = 0, tiling_idx = 0;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = data.display.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 
 		kmstest_set_vt_graphics_mode();
@@ -895,7 +895,7 @@ igt_main {
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 	}
 }
diff --git a/tests/intel/kms_pm_backlight.c b/tests/intel/kms_pm_backlight.c
index a0ecf2b0e6fa..6cf16a460a68 100644
--- a/tests/intel/kms_pm_backlight.c
+++ b/tests/intel/kms_pm_backlight.c
@@ -226,7 +226,7 @@ igt_main
 		{ "fade-with-suspend", "test the fade with suspend.", test_fade, TEST_SUSPEND },
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		bool found = false;
 		char full_name[32] = {};
 		char *name;
@@ -307,7 +307,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		/* Restore old brightness */
 		for (i = 0; i < (dual_edp ? 2 : 1); i++)
 			igt_backlight_write(contexts[i].old, "brightness", &contexts[i]);
diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c
index 8cdf312f6803..475e64a21f4a 100644
--- a/tests/intel/kms_pm_dc.c
+++ b/tests/intel/kms_pm_dc.c
@@ -734,7 +734,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
 		igt_require(data.debugfs_fd != -1);
@@ -839,7 +839,7 @@ igt_main
 		test_dc9_dpms(&data);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		free(data.debugfs_dump);
 		close(data.debugfs_fd);
 		close(data.debugfs_root_fd);
diff --git a/tests/intel/kms_pm_lpsp.c b/tests/intel/kms_pm_lpsp.c
index 771dc4134a6d..231a1b1c833e 100644
--- a/tests/intel/kms_pm_lpsp.c
+++ b/tests/intel/kms_pm_lpsp.c
@@ -196,7 +196,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 		igt_require(data.drm_fd >= 0);
 		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
@@ -256,7 +256,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		free(data.pwr_dmn_info);
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
diff --git a/tests/intel/kms_pm_rpm.c b/tests/intel/kms_pm_rpm.c
index 1610404ff0d8..2692f4cd8d74 100644
--- a/tests/intel/kms_pm_rpm.c
+++ b/tests/intel/kms_pm_rpm.c
@@ -1611,7 +1611,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 		basic_subtest();
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_require(setup_environment());
 	}
 
@@ -1704,7 +1704,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 		pm_test_caching();
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		teardown_environment();
 		forcewake_put(&ms_data);
 	}
diff --git a/tests/intel/kms_psr.c b/tests/intel/kms_psr.c
index 105104be7d82..ec6dc3f0f092 100644
--- a/tests/intel/kms_psr.c
+++ b/tests/intel/kms_psr.c
@@ -789,7 +789,7 @@ igt_main
 	bool fbc_chipset_support;
 	int disp_ver;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
 		kmstest_set_vt_graphics_mode();
@@ -963,7 +963,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 
 		close(data.debugfs_fd);
 		buf_ops_destroy(data.bops);
diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c
index 739001064e08..9437d65e42c5 100644
--- a/tests/intel/kms_psr2_sf.c
+++ b/tests/intel/kms_psr2_sf.c
@@ -1196,7 +1196,7 @@ igt_main
 	bool fbc_chipset_support;
 	int disp_ver;
 
-	igt_fixture {
+	igt_fixture() {
 		drmModeResPtr res;
 
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
@@ -1546,7 +1546,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		close(data.debugfs_fd);
 		display_fini(&data);
 		drm_close_driver(data.drm_fd);
diff --git a/tests/intel/kms_psr2_su.c b/tests/intel/kms_psr2_su.c
index e9bc6f6c628b..fc6b30f2fdfd 100644
--- a/tests/intel/kms_psr2_su.c
+++ b/tests/intel/kms_psr2_su.c
@@ -318,7 +318,7 @@ igt_main
 	int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES];
 	int n_pipes = 0;
 
-	igt_fixture {
+	igt_fixture() {
 		struct itimerspec interval;
 
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
@@ -395,7 +395,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		close(data.debugfs_fd);
 		display_fini(&data);
 		drm_close_driver(data.drm_fd);
diff --git a/tests/intel/kms_psr_stress_test.c b/tests/intel/kms_psr_stress_test.c
index cc8155a75b1e..356e9fe01a65 100644
--- a/tests/intel/kms_psr_stress_test.c
+++ b/tests/intel/kms_psr_stress_test.c
@@ -352,7 +352,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
 		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
 		data.bops = buf_ops_create(data.drm_fd);
@@ -396,7 +396,7 @@ igt_main
 		cleanup(&data);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		buf_ops_destroy(data.bops);
 		igt_display_fini(&data.display);
 		close(data.debugfs_fd);
diff --git a/tests/intel/perf.c b/tests/intel/perf.c
index 1f106bed8fdf..7f27e70ace25 100644
--- a/tests/intel/perf.c
+++ b/tests/intel/perf.c
@@ -5862,7 +5862,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	const struct intel_execution_engine2 *e;
 
-	igt_fixture {
+	igt_fixture() {
 		struct stat sb;
 
 		/*
@@ -5884,7 +5884,7 @@ igt_main
 	igt_subtest("sysctl-defaults")
 		test_sysctl_defaults();
 
-	igt_fixture {
+	igt_fixture() {
 		/* We expect that the ref count test before these fixtures
 		 * should have closed drm_fd...
 		 */
@@ -6149,7 +6149,7 @@ igt_main
 	igt_subtest("whitelisted-registers-userspace-config")
 		test_whitelisted_registers_userspace_config();
 
-	igt_fixture {
+	igt_fixture() {
 		/* leave sysctl options in their default state... */
 		write_u64_file("/proc/sys/dev/i915/oa_max_sample_rate", 100000);
 		write_u64_file("/proc/sys/dev/i915/perf_stream_paranoid", 1);
diff --git a/tests/intel/perf_pmu.c b/tests/intel/perf_pmu.c
index bf43da8db57b..20e68e4b10fd 100644
--- a/tests/intel/perf_pmu.c
+++ b/tests/intel/perf_pmu.c
@@ -2292,7 +2292,7 @@ igt_main
 	 * Including all the I915_PMU_OTHER(x).
 	 */
 
-	igt_fixture {
+	igt_fixture() {
 		fd = __drm_open_driver(DRIVER_INTEL);
 
 		igt_require_gem(fd);
@@ -2424,7 +2424,7 @@ igt_main
 	 * enabled after two batches are running.
 	 */
 	igt_subtest_group {
-		igt_fixture gem_require_contexts(fd);
+		igt_fixture() gem_require_contexts(fd);
 
 		test_each_engine("busy-double-start", fd, ctx, e)
 			busy_double_start(fd, ctx, e);
@@ -2541,7 +2541,7 @@ igt_main
 		int render_fd = -1;
 		const intel_ctx_t *render_ctx = NULL;
 
-		igt_fixture {
+		igt_fixture() {
 			render_fd = __drm_open_driver_render(DRIVER_INTEL);
 			igt_require_gem(render_fd);
 			render_ctx = intel_ctx_create_all_physical(render_fd);
@@ -2554,13 +2554,13 @@ igt_main
 		test_each_engine("render-node-busy-idle", render_fd, render_ctx, e)
 			single(render_fd, render_ctx, e, TEST_BUSY | TEST_TRAILING_IDLE);
 
-		igt_fixture {
+		igt_fixture() {
 			intel_ctx_destroy(render_fd, render_ctx);
 			drm_close_driver(render_fd);
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_ctx_destroy(fd, ctx);
 		drm_close_driver(fd);
 		free(drpc);
diff --git a/tests/intel/prime_busy.c b/tests/intel/prime_busy.c
index 4bba32835922..2777d0aa92e6 100644
--- a/tests/intel/prime_busy.c
+++ b/tests/intel/prime_busy.c
@@ -153,7 +153,7 @@ igt_main
 	const intel_ctx_t *ctx;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 		ctx = intel_ctx_create_all_physical(fd);
@@ -170,7 +170,7 @@ igt_main
 			{ },
 		};
 
-		igt_fixture
+		igt_fixture()
 			gem_require_mmap_device_coherent(fd);
 
 		for (const struct mode *m = modes; m->name; m++) {
@@ -182,7 +182,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_ctx_destroy(fd, ctx);
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/prime_mmap.c b/tests/intel/prime_mmap.c
index ae0c74dfeb9f..c3990d6edc98 100644
--- a/tests/intel/prime_mmap.c
+++ b/tests/intel/prime_mmap.c
@@ -563,7 +563,7 @@ igt_main
 	char *ext;
 	int i;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 
 		query_info = gem_get_query_memory_regions(fd);
@@ -590,7 +590,7 @@ igt_main
 			}
 		}
 
-	igt_fixture {
+	igt_fixture() {
 		free(query_info);
 		igt_collection_destroy(set);
 		igt_collection_destroy(dma_buf_set);
diff --git a/tests/intel/prime_mmap_coherency.c b/tests/intel/prime_mmap_coherency.c
index 01c394639935..cbed906de44e 100644
--- a/tests/intel/prime_mmap_coherency.c
+++ b/tests/intel/prime_mmap_coherency.c
@@ -312,7 +312,7 @@ igt_main
 	struct igt_collection *set, *dma_buf_set;
 	struct drm_i915_query_memory_regions *query_info;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(fd);
 
@@ -361,7 +361,7 @@ igt_main
 		intel_bb_destroy(batch);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		buf_ops_destroy(bops);
 
 		drm_close_driver(fd);
diff --git a/tests/intel/prime_mmap_kms.c b/tests/intel/prime_mmap_kms.c
index c0c2f2fc0e00..4480f0c1cfef 100644
--- a/tests/intel/prime_mmap_kms.c
+++ b/tests/intel/prime_mmap_kms.c
@@ -261,7 +261,7 @@ igt_main
 {
 	gpu_process_t gpu;
 
-	igt_fixture {
+	igt_fixture() {
 		gpu.drm_fd = drm_open_driver_master(DRIVER_INTEL);
 		igt_skip_on((check_for_dma_buf_mmap(gpu.drm_fd) != 0));
 		kmstest_set_vt_graphics_mode();
@@ -274,7 +274,7 @@ igt_main
 	igt_subtest("buffer-sharing")
 		run_test(&gpu);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&gpu.display);
 		drm_close_driver(gpu.drm_fd);
 	}
diff --git a/tests/intel/sysfs_defaults.c b/tests/intel/sysfs_defaults.c
index c7b6b36fdbeb..641c2de1bf30 100644
--- a/tests/intel/sysfs_defaults.c
+++ b/tests/intel/sysfs_defaults.c
@@ -95,7 +95,7 @@ igt_main
 {
 	int i915 = -1, engines = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		int sys;
 
 		i915 = drm_open_driver(DRIVER_INTEL);
@@ -114,7 +114,7 @@ igt_main
 	igt_subtest_with_dynamic("readonly")
 		dyn_sysfs_engines(i915, engines, NULL, test_writable);
 
-	igt_fixture {
+	igt_fixture() {
 		close(engines);
 		drm_close_driver(i915);
 	}
diff --git a/tests/intel/sysfs_heartbeat_interval.c b/tests/intel/sysfs_heartbeat_interval.c
index b4ca4769f92b..afee2ef80684 100644
--- a/tests/intel/sysfs_heartbeat_interval.c
+++ b/tests/intel/sysfs_heartbeat_interval.c
@@ -504,7 +504,7 @@ igt_main
 	};
 	int i915 = -1, engines = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		int sys;
 
 		i915 = drm_open_driver(DRIVER_INTEL);
@@ -525,7 +525,7 @@ igt_main
 		igt_subtest_with_dynamic(t->name)
 			dyn_sysfs_engines(i915, engines, ATTR, t->fn);
 
-	igt_fixture {
+	igt_fixture() {
 		close(engines);
 		drm_close_driver(i915);
 	}
diff --git a/tests/intel/sysfs_preempt_timeout.c b/tests/intel/sysfs_preempt_timeout.c
index 18e000405120..5c7ff672ea81 100644
--- a/tests/intel/sysfs_preempt_timeout.c
+++ b/tests/intel/sysfs_preempt_timeout.c
@@ -346,7 +346,7 @@ igt_main
 	};
 	int i915 = -1, engines = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		int sys;
 
 		i915 = drm_open_driver(DRIVER_INTEL);
@@ -366,7 +366,7 @@ igt_main
 		igt_subtest_with_dynamic(t->name)
 			dyn_sysfs_engines(i915, engines, ATTR, t->fn);
 
-	igt_fixture {
+	igt_fixture() {
 		close(engines);
 		drm_close_driver(i915);
 	}
diff --git a/tests/intel/sysfs_timeslice_duration.c b/tests/intel/sysfs_timeslice_duration.c
index 026d12b85c38..ea4ea7a8d289 100644
--- a/tests/intel/sysfs_timeslice_duration.c
+++ b/tests/intel/sysfs_timeslice_duration.c
@@ -571,7 +571,7 @@ igt_main
 	};
 	int i915 = -1, engines = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		int sys;
 
 		i915 = drm_open_driver(DRIVER_INTEL);
@@ -591,7 +591,7 @@ igt_main
 		igt_subtest_with_dynamic(t->name)
 			dyn_sysfs_engines(i915, engines, ATTR, t->fn);
 
-	igt_fixture {
+	igt_fixture() {
 		close(engines);
 		drm_close_driver(i915);
 	}
diff --git a/tests/intel/xe_ccs.c b/tests/intel/xe_ccs.c
index 61cf97d52550..8c5c4d22db7a 100644
--- a/tests/intel/xe_ccs.c
+++ b/tests/intel/xe_ccs.c
@@ -866,7 +866,7 @@ igt_main_args("bf:pst:W:H:", NULL, help_str, opt_handler, NULL)
 	struct igt_collection *set;
 	int xe;
 
-	igt_fixture {
+	igt_fixture() {
 		xe = drm_open_driver(DRIVER_XE);
 		igt_require(blt_has_block_copy(xe));
 
@@ -969,7 +969,7 @@ igt_main_args("bf:pst:W:H:", NULL, help_str, opt_handler, NULL)
 		block_copy_test(xe, &config, set, BLOCK_COPY);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		xe_device_put(xe);
 		close(xe);
 	}
diff --git a/tests/intel/xe_compute.c b/tests/intel/xe_compute.c
index 10823563743b..96abbc879281 100644
--- a/tests/intel/xe_compute.c
+++ b/tests/intel/xe_compute.c
@@ -515,7 +515,7 @@ igt_main
 	int xe, ccs_mode[4];
 	unsigned int ip_ver;
 
-	igt_fixture {
+	igt_fixture() {
 		xe = drm_open_driver(DRIVER_XE);
 		sriov_enabled = is_sriov_mode(xe);
 		ip_ver = intel_graphics_ver(intel_get_drm_devid(xe));
@@ -525,7 +525,7 @@ igt_main
 	igt_subtest("compute-square")
 		test_compute_square(xe);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(xe);
 
 	/* ccs mode tests should be run without open gpu file handles */
@@ -565,7 +565,7 @@ igt_main
 		test_eu_busy(5 * LOOP_DURATION_2s);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		if (!sriov_enabled)
 			igt_restore_ccs_mode(ccs_mode, ARRAY_SIZE(ccs_mode));
 	}
diff --git a/tests/intel/xe_compute_preempt.c b/tests/intel/xe_compute_preempt.c
index 076360f1de71..b13285eef7d4 100644
--- a/tests/intel/xe_compute_preempt.c
+++ b/tests/intel/xe_compute_preempt.c
@@ -68,7 +68,7 @@ igt_main
 	struct drm_xe_engine_class_instance *hwe;
 	uint64_t ram_mb, swap_mb, vram_mb;
 
-	igt_fixture {
+	igt_fixture() {
 		xe = drm_open_driver(DRIVER_XE);
 		ram_mb = igt_get_avail_ram_mb();
 		swap_mb = igt_get_total_swap_mb();
@@ -203,7 +203,7 @@ igt_main
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(xe);
 
 }
diff --git a/tests/intel/xe_configfs.c b/tests/intel/xe_configfs.c
index 911e18965aa5..2cebeae55282 100644
--- a/tests/intel/xe_configfs.c
+++ b/tests/intel/xe_configfs.c
@@ -315,7 +315,7 @@ igt_main
 	uint32_t devid;
 	bool is_vf_device;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 		devid = intel_get_drm_devid(fd);
 		is_vf_device = intel_is_vf_device(fd);
@@ -359,7 +359,7 @@ igt_main
 	igt_subtest("ctx-restore-mid-bb")
 		test_ctx_restore(configfs_device_fd, "mid");
 
-	igt_fixture {
+	igt_fixture() {
 		close(configfs_device_fd);
 		close(configfs_fd);
 	}
diff --git a/tests/intel/xe_copy_basic.c b/tests/intel/xe_copy_basic.c
index 09cfa470dd74..75c609690df6 100644
--- a/tests/intel/xe_copy_basic.c
+++ b/tests/intel/xe_copy_basic.c
@@ -273,7 +273,7 @@ igt_main_args("b", NULL, help_str, opt_handler, NULL)
 			       { 0, 17, 1, MODE_PAGE }};
 	struct rect matrix[] = { { 4, 2, 2 }, { 256, 200, 127 } };
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 		dev_id = intel_get_drm_devid(fd);
 		xe_device_get(fd);
@@ -330,7 +330,7 @@ igt_main_args("b", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/intel/xe_create.c b/tests/intel/xe_create.c
index d7fe9d626f7c..ed917190e184 100644
--- a/tests/intel/xe_create.c
+++ b/tests/intel/xe_create.c
@@ -531,7 +531,7 @@ igt_main_args("Q:p:", NULL, help_str, opt_handler, NULL)
 {
 	int xe;
 
-	igt_fixture
+	igt_fixture()
 		xe = drm_open_driver(DRIVER_XE);
 
 	igt_subtest("valid-flag")
@@ -613,6 +613,6 @@ igt_main_args("Q:p:", NULL, help_str, opt_handler, NULL)
 		igt_waitchildren();
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(xe);
 }
diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
index 100504713283..126b8290d456 100644
--- a/tests/intel/xe_debugfs.c
+++ b/tests/intel/xe_debugfs.c
@@ -178,7 +178,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	int fd = -1;
 	igt_dir_t *igt_dir = NULL;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_XE);
 		__igt_debugfs_dump(fd, "info", IGT_LOG_INFO);
 		debugfs = igt_debugfs_dir(fd);
@@ -199,7 +199,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 		xe_test_forcewake(fd);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_dir_destroy(igt_dir);
 		close(debugfs);
 		drm_close_driver(fd);
diff --git a/tests/intel/xe_dma_buf_sync.c b/tests/intel/xe_dma_buf_sync.c
index 1c0e7c67035a..0a8a3c5a1a66 100644
--- a/tests/intel/xe_dma_buf_sync.c
+++ b/tests/intel/xe_dma_buf_sync.c
@@ -231,7 +231,7 @@ igt_main
 	struct drm_xe_engine_class_instance *hwe, *hwe0 = NULL, *hwe1;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 
 		xe_for_each_engine(fd, hwe)
@@ -267,6 +267,6 @@ igt_main
 	igt_subtest("export-dma-buf-many-write-read-sync")
 		test_export_dma_buf(hwe0, hwe1, 16, WRITE_READ_SYNC);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_drm_fdinfo.c b/tests/intel/xe_drm_fdinfo.c
index 264380d99526..f863cb519a9b 100644
--- a/tests/intel/xe_drm_fdinfo.c
+++ b/tests/intel/xe_drm_fdinfo.c
@@ -741,7 +741,7 @@ igt_main
 	struct drm_xe_engine_class_instance *hwe;
 	int xe, gt, class;
 
-	igt_fixture {
+	igt_fixture() {
 		struct drm_client_fdinfo info = { };
 
 		xe = drm_open_driver(DRIVER_XE);
@@ -849,7 +849,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(xe);
 	}
 }
diff --git a/tests/intel/xe_eu_stall.c b/tests/intel/xe_eu_stall.c
index f5c57a9b366a..eecbcfa4f090 100644
--- a/tests/intel/xe_eu_stall.c
+++ b/tests/intel/xe_eu_stall.c
@@ -652,7 +652,7 @@ igt_main_args("e:g:o:r:u:w:", long_options, help_str, opt_handler, NULL)
 	uint32_t devid;
 	struct stat sb;
 
-	igt_fixture {
+	igt_fixture() {
 		drm_fd = drm_open_driver(DRIVER_XE);
 		igt_require_fd(drm_fd);
 		devid = intel_get_drm_devid(drm_fd);
@@ -712,7 +712,7 @@ igt_main_args("e:g:o:r:u:w:", long_options, help_str, opt_handler, NULL)
 	igt_subtest("invalid-event-report-count")
 		test_invalid_event_report_count(drm_fd);
 
-	igt_fixture {
+	igt_fixture() {
 		free(user_buf);
 		if (output)
 			fclose(output);
diff --git a/tests/intel/xe_eudebug.c b/tests/intel/xe_eudebug.c
index 9d1280528fcc..6e5409df4ff0 100644
--- a/tests/intel/xe_eudebug.c
+++ b/tests/intel/xe_eudebug.c
@@ -2800,7 +2800,7 @@ igt_main
 	bool *multigpu_was_enabled;
 	int fd, gpu_count;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 		was_enabled = xe_eudebug_enable(fd, true);
 
@@ -2921,13 +2921,13 @@ igt_main
 	igt_subtest("discovery-empty-clients")
 		test_empty_discovery(fd, DISCOVERY_DESTROY_RESOURCES, 16);
 
-	igt_fixture {
+	igt_fixture() {
 		xe_eudebug_enable(fd, was_enabled);
 		drm_close_driver(fd);
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			gpu_count = drm_prepare_filtered_multigpu(DRIVER_XE);
 
 			multigpu_was_enabled = malloc(gpu_count * sizeof(bool));
@@ -2967,7 +2967,7 @@ igt_main
 			igt_waitchildren();
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			for (int i = 0; i < gpu_count; i++) {
 				fd = drm_open_filtered_card(i);
 				xe_eudebug_enable(fd, multigpu_was_enabled[i]);
diff --git a/tests/intel/xe_eudebug_online.c b/tests/intel/xe_eudebug_online.c
index 50d95988e6b3..470d94022a45 100644
--- a/tests/intel/xe_eudebug_online.c
+++ b/tests/intel/xe_eudebug_online.c
@@ -2595,7 +2595,7 @@ igt_main
 	uint16_t engine_class = 0xFFFF;
 	uint32_t preempt_timeout = 0xFFFFFFFF;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 		intel_allocator_multiprocess_start();
 		igt_srandom();
@@ -2647,7 +2647,7 @@ igt_main
 			test_interrupt_other(fd, hwe, SHADER_LOOP | DISABLE_DEBUG_MODE);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			if ((uint16_t)~engine_class && ~preempt_timeout)
 				if (!restore_preempt_timeout(fd, engine_class, preempt_timeout))
 					igt_warn("Cleanup of preempt_timeout failed!\n");
@@ -2720,7 +2720,7 @@ igt_main
 	test_gt_render_or_compute("pagefault-write-stress", fd, hwe)
 		test_pagefault_online(fd, hwe, SHADER_PAGEFAULT_WRITE | PAGEFAULT_STRESS_TEST);
 
-	igt_fixture {
+	igt_fixture() {
 		xe_eudebug_enable(fd, was_enabled);
 
 		intel_allocator_multiprocess_stop();
diff --git a/tests/intel/xe_eudebug_sriov.c b/tests/intel/xe_eudebug_sriov.c
index 4f20a3e49847..c5178fd48d66 100644
--- a/tests/intel/xe_eudebug_sriov.c
+++ b/tests/intel/xe_eudebug_sriov.c
@@ -132,7 +132,7 @@ igt_main
 	bool vf_autoprobe;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 		igt_require(igt_sriov_is_pf(fd));
 		igt_require(igt_sriov_vfs_supported(fd));
@@ -147,7 +147,7 @@ igt_main
 	igt_subtest("deny-sriov")
 		test_deny_sriov(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		restore_initial_driver_state(fd, eudebug_enabled, vf_autoprobe);
 		close(fd);
 	}
diff --git a/tests/intel/xe_evict.c b/tests/intel/xe_evict.c
index 91533cc54aad..2815250ce8f5 100644
--- a/tests/intel/xe_evict.c
+++ b/tests/intel/xe_evict.c
@@ -801,7 +801,7 @@ igt_main
 	uint64_t system_size;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 		igt_require(xe_has_vram(fd));
 		vram_size = xe_visible_vram_size(fd, 0);
@@ -863,6 +863,6 @@ igt_main
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_evict_ccs.c b/tests/intel/xe_evict_ccs.c
index 7cba378cdb1d..f4556c2ba36b 100644
--- a/tests/intel/xe_evict_ccs.c
+++ b/tests/intel/xe_evict_ccs.c
@@ -528,7 +528,7 @@ igt_main_args("bdDn:p:s:S:V", NULL, help_str, opt_handler, NULL)
 	bool has_flatccs;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 		igt_require(xe_has_vram(fd));
 		vram_size = xe_visible_vram_size(fd, 0);
@@ -541,7 +541,7 @@ igt_main_args("bdDn:p:s:S:V", NULL, help_str, opt_handler, NULL)
 		has_flatccs = HAS_FLATCCS(intel_get_drm_devid(fd));
 	}
 
-	igt_fixture
+	igt_fixture()
 		intel_allocator_multiprocess_start();
 
 	for (const struct ccs *s = ccs; s->name; s++) {
@@ -554,7 +554,7 @@ igt_main_args("bdDn:p:s:S:V", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		intel_allocator_multiprocess_stop();
 		drm_close_driver(fd);
 	}
diff --git a/tests/intel/xe_exec_atomic.c b/tests/intel/xe_exec_atomic.c
index 39c739b64480..f42f93c1782c 100644
--- a/tests/intel/xe_exec_atomic.c
+++ b/tests/intel/xe_exec_atomic.c
@@ -128,7 +128,7 @@ igt_main
 	struct drm_xe_engine_class_instance *hwe;
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
 
 	igt_subtest_with_dynamic("basic-dec-all") {
@@ -167,6 +167,6 @@ igt_main
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_exec_balancer.c b/tests/intel/xe_exec_balancer.c
index 27ed91d5f3f2..da36367c6e8f 100644
--- a/tests/intel/xe_exec_balancer.c
+++ b/tests/intel/xe_exec_balancer.c
@@ -588,7 +588,7 @@ igt_main
 	int class;
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
 
 	igt_subtest("virtual-all-active")
@@ -663,6 +663,6 @@ igt_main
 					test_cm(fd, gt, class, 1, 0, s->flags);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_exec_basic.c b/tests/intel/xe_exec_basic.c
index 616fd262c3ac..405d8ec77eda 100644
--- a/tests/intel/xe_exec_basic.c
+++ b/tests/intel/xe_exec_basic.c
@@ -345,7 +345,7 @@ igt_main
 	};
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
 
 	for (const struct section *s = sections; s->name; s++) {
@@ -383,7 +383,7 @@ igt_main
 				test_exec(fd, hwe, 1, 0, 1, s->flags);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 
 	for (const struct section *s = sections; s->name; s++) {
diff --git a/tests/intel/xe_exec_capture.c b/tests/intel/xe_exec_capture.c
index 8257d8069737..962df5f1917f 100644
--- a/tests/intel/xe_exec_capture.c
+++ b/tests/intel/xe_exec_capture.c
@@ -410,7 +410,7 @@ igt_main
 	struct drm_xe_engine_class_instance *hwe;
 	u64 timeouts[DRM_XE_ENGINE_CLASS_VM_BIND] = {0};
 
-	igt_fixture {
+	igt_fixture() {
 		xe = drm_open_driver(DRIVER_XE);
 		xe_for_each_engine(xe, hwe) {
 			/* Skip kernel only classes */
@@ -433,7 +433,7 @@ igt_main
 	igt_subtest("reset")
 		test_card(xe);
 
-	igt_fixture {
+	igt_fixture() {
 		xe_for_each_engine(xe, hwe) {
 			u64 store, timeout;
 
diff --git a/tests/intel/xe_exec_compute_mode.c b/tests/intel/xe_exec_compute_mode.c
index 316f7322c13f..2121f4fb4861 100644
--- a/tests/intel/xe_exec_compute_mode.c
+++ b/tests/intel/xe_exec_compute_mode.c
@@ -430,7 +430,7 @@ igt_main
 	};
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
 
 	for (const struct section *s = sections; s->name; s++) {
@@ -464,6 +464,6 @@ igt_main
 		lr_mode_workload(fd);
 
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_exec_fault_mode.c b/tests/intel/xe_exec_fault_mode.c
index ae40e099b972..18b86514d14f 100644
--- a/tests/intel/xe_exec_fault_mode.c
+++ b/tests/intel/xe_exec_fault_mode.c
@@ -459,7 +459,7 @@ igt_main
 	};
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		struct timespec tv = {};
 		bool supports_faults;
 		int ret = 0;
@@ -508,7 +508,7 @@ igt_main
 		xe_for_each_engine(fd, hwe)
 			test_exec(fd, hwe, 1, 1, ENABLE_SCRATCH | INVALID_VA);
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/intel/xe_exec_mix_modes.c b/tests/intel/xe_exec_mix_modes.c
index e65854d0dc1e..45d02e06e2dc 100644
--- a/tests/intel/xe_exec_mix_modes.c
+++ b/tests/intel/xe_exec_mix_modes.c
@@ -271,7 +271,7 @@ igt_main
 	};
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		bool supports_faults;
 		int ret = 0;
 
@@ -288,7 +288,7 @@ igt_main
 					test_exec(fd, hwe, s->flags);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/intel/xe_exec_queue_property.c b/tests/intel/xe_exec_queue_property.c
index 4dfcf09e2669..cf8a9800ceed 100644
--- a/tests/intel/xe_exec_queue_property.c
+++ b/tests/intel/xe_exec_queue_property.c
@@ -215,7 +215,7 @@ igt_main
 	int xe;
 	int gt;
 
-	igt_fixture {
+	igt_fixture() {
 		xe = drm_open_driver(DRIVER_XE);
 	}
 
@@ -240,7 +240,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			int sys_fd = igt_sysfs_open(xe);
 
 			if (sys_fd != -1) {
@@ -285,7 +285,7 @@ igt_main
 	igt_subtest("invalid-property")
 		invalid_property(xe);
 
-	igt_fixture {
+	igt_fixture() {
 		xe_device_put(xe);
 		drm_close_driver(xe);
 	}
diff --git a/tests/intel/xe_exec_reset.c b/tests/intel/xe_exec_reset.c
index a3c4b2d7baeb..f7ecb26af290 100644
--- a/tests/intel/xe_exec_reset.c
+++ b/tests/intel/xe_exec_reset.c
@@ -785,7 +785,7 @@ igt_main
 	int class;
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
 
 	igt_subtest("spin")
@@ -979,6 +979,6 @@ igt_main
 		xe_for_each_gt(fd, gt)
 			gt_mocs_reset(fd, gt);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_exec_sip.c b/tests/intel/xe_exec_sip.c
index 310526531d99..06465e27ed62 100644
--- a/tests/intel/xe_exec_sip.c
+++ b/tests/intel/xe_exec_sip.c
@@ -314,7 +314,7 @@ igt_main
 	struct drm_xe_engine_class_instance *eci;
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
 
 	test_render_and_compute("sanity", fd, eci)
@@ -338,6 +338,6 @@ igt_main
 	test_render_and_compute("invalidinstr-walker-enabled", fd, eci)
 		test_sip(SHADER_INV_INSTR_WALKER_ENABLED, SIP_INV_INSTR, eci, 0);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_exec_sip_eudebug.c b/tests/intel/xe_exec_sip_eudebug.c
index e5b8ba418c43..7f739b120fa6 100644
--- a/tests/intel/xe_exec_sip_eudebug.c
+++ b/tests/intel/xe_exec_sip_eudebug.c
@@ -320,12 +320,12 @@ igt_main
 	bool was_enabled;
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
 
 	/* Debugger disabled (TD_CTL not set) */
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			was_enabled = xe_eudebug_enable(fd, false);
 			igt_require(!xe_eudebug_debugger_available(fd));
 		}
@@ -336,13 +336,13 @@ igt_main
 		test_render_and_compute("breakpoint-writesip-nodebug", fd, eci)
 			test_sip(SHADER_BREAKPOINT, SIP_WRITE, eci, 0);
 
-		igt_fixture
+		igt_fixture()
 			xe_eudebug_enable(fd, was_enabled);
 	}
 
 	/* Debugger enabled (TD_CTL set) */
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			was_enabled = xe_eudebug_enable(fd, true);
 		}
 
@@ -358,10 +358,10 @@ igt_main
 		test_render_and_compute("breakpoint-waitsip-heavy", fd, eci)
 			test_sip(SHADER_BREAKPOINT, SIP_HEAVY, eci, 0);
 
-		igt_fixture
+		igt_fixture()
 			xe_eudebug_enable(fd, was_enabled);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_exec_store.c b/tests/intel/xe_exec_store.c
index bf22c3475548..4fda5a4fb253 100644
--- a/tests/intel/xe_exec_store.c
+++ b/tests/intel/xe_exec_store.c
@@ -419,7 +419,7 @@ igt_main
 	uint16_t dev_id;
 	struct drm_xe_engine *engine;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 		xe_device_get(fd);
 		dev_id = intel_get_drm_devid(fd);
@@ -483,7 +483,7 @@ igt_main
 		igt_collection_destroy(set);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		xe_device_put(fd);
 		close(fd);
 	}
diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
index b88967e580b2..106e1a0e63c5 100644
--- a/tests/intel/xe_exec_system_allocator.c
+++ b/tests/intel/xe_exec_system_allocator.c
@@ -2381,7 +2381,7 @@ igt_main
 
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		struct xe_device *xe;
 
 		fd = drm_open_driver(DRIVER_XE);
@@ -2599,7 +2599,7 @@ igt_main
 		xe_for_each_engine(fd, hwe)
 			test_compute(fd, hwe, SZ_2M);
 
-	igt_fixture {
+	igt_fixture() {
 		xe_device_put(fd);
 		drm_close_driver(fd);
 		close_sync_file();
diff --git a/tests/intel/xe_exec_threads.c b/tests/intel/xe_exec_threads.c
index bb39eecbe33a..0eff4b8be8bc 100644
--- a/tests/intel/xe_exec_threads.c
+++ b/tests/intel/xe_exec_threads.c
@@ -1281,7 +1281,7 @@ igt_main
 	};
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
 
 	for (const struct section *s = sections; s->name; s++) {
@@ -1289,6 +1289,6 @@ igt_main
 			threads(fd, s->flags);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_exercise_blt.c b/tests/intel/xe_exercise_blt.c
index e24a48abf54a..47879a0dce38 100644
--- a/tests/intel/xe_exercise_blt.c
+++ b/tests/intel/xe_exercise_blt.c
@@ -390,7 +390,7 @@ igt_main_args("b:pst:W:H:", NULL, help_str, opt_handler, NULL)
 	struct igt_collection *set;
 	int xe;
 
-	igt_fixture {
+	igt_fixture() {
 		xe = drm_open_driver(DRIVER_XE);
 		igt_require(blt_has_fast_copy(xe));
 
@@ -421,7 +421,7 @@ igt_main_args("b:pst:W:H:", NULL, help_str, opt_handler, NULL)
 		fast_copy_test(xe, set, FAST_COPY_EMIT);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(xe);
 	}
 }
diff --git a/tests/intel/xe_fault_injection.c b/tests/intel/xe_fault_injection.c
index 4b4881634181..b7278c16aa6d 100644
--- a/tests/intel/xe_fault_injection.c
+++ b/tests/intel/xe_fault_injection.c
@@ -626,7 +626,7 @@ igt_main_args("I:", NULL, help_str, opt_handler, NULL)
 		{ }
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		igt_require(fail_function_injection_enabled());
 		fd = drm_open_driver(DRIVER_XE);
 		devid = intel_get_drm_devid(fd);
@@ -663,7 +663,7 @@ igt_main_args("I:", NULL, help_str, opt_handler, NULL)
 		igt_subtest_f("oa-add-config-fail-%s", s->name)
 			oa_add_config_fail(fd, sysfs, devid, pci_slot, s->name);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_kmod_unbind("xe", pci_slot);
 	}
 
@@ -685,7 +685,7 @@ igt_main_args("I:", NULL, help_str, opt_handler, NULL)
 			probe_fail_guc(fd, pci_slot, s->name, &fault_params);
 		}
 
-	igt_fixture {
+	igt_fixture() {
 		close(sysfs);
 		drm_close_driver(fd);
 		injection_list_clear();
diff --git a/tests/intel/xe_gpgpu_fill.c b/tests/intel/xe_gpgpu_fill.c
index e1ecff82339f..e61d5c8db903 100644
--- a/tests/intel/xe_gpgpu_fill.c
+++ b/tests/intel/xe_gpgpu_fill.c
@@ -174,7 +174,7 @@ igt_main_args("dW:H:X:Y:", NULL, help_str, opt_handler, NULL)
 	data_t data = {0, };
 	igt_fillfunc_t fill_fn = NULL;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_render(DRIVER_XE);
 		data.devid = intel_get_drm_devid(data.drm_fd);
 		data.bops = buf_ops_create(data.drm_fd);
@@ -201,7 +201,7 @@ igt_main_args("dW:H:X:Y:", NULL, help_str, opt_handler, NULL)
 			   surfheight / 2);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		buf_ops_destroy(data.bops);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/intel/xe_gt_freq.c b/tests/intel/xe_gt_freq.c
index d0f35b10a5fe..e067b4598915 100644
--- a/tests/intel/xe_gt_freq.c
+++ b/tests/intel/xe_gt_freq.c
@@ -401,7 +401,7 @@ igt_main
 	uint32_t *stash_min, *stash_max;
 	int max_gt;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 
 		igt_require(xe_sysfs_gt_has_node(fd, 0, "freq0"));
@@ -487,7 +487,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		xe_for_each_gt(fd, gt) {
 			xe_gt_set_freq(fd, gt, "max", stash_max[gt]);
 			xe_gt_set_freq(fd, gt, "min", stash_min[gt]);
diff --git a/tests/intel/xe_huc_copy.c b/tests/intel/xe_huc_copy.c
index c8b5efc7b979..6a015a6f7139 100644
--- a/tests/intel/xe_huc_copy.c
+++ b/tests/intel/xe_huc_copy.c
@@ -195,7 +195,7 @@ igt_main
 {
 	int xe;
 
-	igt_fixture
+	igt_fixture()
 		xe = drm_open_driver(DRIVER_XE);
 
 	igt_subtest("huc_copy") {
@@ -207,6 +207,6 @@ igt_main
 		test_huc_copy(xe);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(xe);
 }
diff --git a/tests/intel/xe_intel_bb.c b/tests/intel/xe_intel_bb.c
index f2e92a024ad0..d7dbe661a790 100644
--- a/tests/intel/xe_intel_bb.c
+++ b/tests/intel/xe_intel_bb.c
@@ -990,7 +990,7 @@ igt_main_args("dpib", NULL, help_str, opt_handler, NULL)
 	struct buf_ops *bops;
 	uint32_t width;
 
-	igt_fixture {
+	igt_fixture() {
 		xe = drm_open_driver(DRIVER_XE);
 		bops = buf_ops_create(xe);
 	}
@@ -1068,7 +1068,7 @@ igt_main_args("dpib", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		buf_ops_destroy(bops);
 		drm_close_driver(xe);
 	}
diff --git a/tests/intel/xe_media_fill.c b/tests/intel/xe_media_fill.c
index 1e0ccb829fb8..ec76de6c54a2 100644
--- a/tests/intel/xe_media_fill.c
+++ b/tests/intel/xe_media_fill.c
@@ -120,7 +120,7 @@ igt_main
 	struct data_t data = {0, };
 	igt_fillfunc_t fill_fn = NULL;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_render(DRIVER_XE);
 		data.devid = intel_get_drm_devid(data.drm_fd);
 		data.bops = buf_ops_create(data.drm_fd);
@@ -133,7 +133,7 @@ igt_main
 	igt_subtest("media-fill")
 		media_fill(&data, fill_fn);
 
-	igt_fixture {
+	igt_fixture() {
 		buf_ops_destroy(data.bops);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/intel/xe_mmap.c b/tests/intel/xe_mmap.c
index 79c611f5287f..c9c00ee894a2 100644
--- a/tests/intel/xe_mmap.c
+++ b/tests/intel/xe_mmap.c
@@ -444,7 +444,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
 
 	igt_subtest("system")
@@ -492,7 +492,7 @@ igt_main
 			test_bad_object_for_pcimem(fd);
 		}
 
-		igt_fixture
+		igt_fixture()
 			close(fw_handle);
 	}
 
@@ -515,6 +515,6 @@ igt_main
 	igt_subtest("cpu-caching")
 		test_cpu_caching(fd);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_noexec_ping_pong.c b/tests/intel/xe_noexec_ping_pong.c
index 91cd04243789..ab8d1944a319 100644
--- a/tests/intel/xe_noexec_ping_pong.c
+++ b/tests/intel/xe_noexec_ping_pong.c
@@ -97,13 +97,13 @@ static int fd;
 IGT_TEST_DESCRIPTION("Expose compute VM's unnecessary rebinds");
 igt_main
 {
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
 
 	igt_describe("Check for unnnecessary rebinds");
 	igt_subtest("basic")
 		test_ping_pong(fd, xe_engine(fd, 0));
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 0c9e693f7d9b..c9507b583e91 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -4996,7 +4996,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
 	const struct drm_xe_oa_unit *oau;
 	struct xe_device *xe_dev;
 
-	igt_fixture {
+	igt_fixture() {
 		struct stat sb;
 
 		/*
@@ -5012,7 +5012,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
 	igt_subtest("sysctl-defaults")
 		test_sysctl_defaults();
 
-	igt_fixture {
+	igt_fixture() {
 		/* We expect that the ref count test before these fixtures
 		 * should have closed drm_fd...
 		 */
@@ -5220,7 +5220,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			perf_init_whitelist();
 		}
 
@@ -5242,7 +5242,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(oau->capabilities & DRM_XE_OA_CAPS_SYNCS);
 		}
 
@@ -5254,7 +5254,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		/* leave sysctl options in their default state... */
 		write_u64_file("/proc/sys/dev/xe/observation_paranoid", 1);
 
diff --git a/tests/intel/xe_pat.c b/tests/intel/xe_pat.c
index 59dfb6b1115f..8af4c32f489c 100644
--- a/tests/intel/xe_pat.c
+++ b/tests/intel/xe_pat.c
@@ -1160,7 +1160,7 @@ igt_main_args("V", NULL, help_str, opt_handler, NULL)
 	uint16_t dev_id;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		uint32_t seed;
 
 		fd = drm_open_driver(DRIVER_XE);
@@ -1218,6 +1218,6 @@ igt_main_args("V", NULL, help_str, opt_handler, NULL)
 	igt_subtest("display-vs-wb-transient")
 		display_vs_wb_transient(fd);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_peer2peer.c b/tests/intel/xe_peer2peer.c
index 92cb6a65f515..d9f8ee07be12 100644
--- a/tests/intel/xe_peer2peer.c
+++ b/tests/intel/xe_peer2peer.c
@@ -368,7 +368,7 @@ igt_main_args("", NULL, NULL, NULL, NULL)
 	struct gpu_info gpus[2];
 	int gpu_cnt;
 
-	igt_fixture {
+	igt_fixture() {
 		gpu_cnt = get_device_info(gpus, ARRAY_SIZE(gpus));
 		igt_skip_on(gpu_cnt < 2);
 	}
@@ -381,7 +381,7 @@ igt_main_args("", NULL, NULL, NULL, NULL)
 	igt_subtest_with_dynamic_f("write")
 		gpu_write(&gpus[0], &gpus[1]);
 
-	igt_fixture {
+	igt_fixture() {
 		int cnt;
 
 		for (cnt = 0; cnt < gpu_cnt; cnt++)
diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
index 1db28a899f7e..de63998d1792 100644
--- a/tests/intel/xe_pm.c
+++ b/tests/intel/xe_pm.c
@@ -905,7 +905,7 @@ igt_main
 		{ NULL },
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		memset(&device, 0, sizeof(device));
 		device.fd_xe = drm_open_driver(DRIVER_XE);
 		device.pci_xe = igt_device_get_pci_device(device.fd_xe);
@@ -966,7 +966,7 @@ igt_main
 			test_mocs_suspend_resume(device, s->state, NO_RPM);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_install_exit_handler(close_fw_handle);
 	}
 
@@ -1052,7 +1052,7 @@ igt_main
 		test_vram_d3cold_threshold(device, sysfs_fd);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		close(sysfs_fd);
 		igt_pm_set_d3cold_allowed(device.pci_slot_name, d3cold_allowed);
 		if (has_runtime_pm)
diff --git a/tests/intel/xe_pm_residency.c b/tests/intel/xe_pm_residency.c
index 1749d6467796..775ee7f99f6f 100644
--- a/tests/intel/xe_pm_residency.c
+++ b/tests/intel/xe_pm_residency.c
@@ -377,7 +377,7 @@ igt_main
 	char pci_slot_name[NAME_MAX];
 	struct drm_xe_engine_class_instance *hwe;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 
 		igt_require(!IS_PONTEVECCHIO(xe_dev_id(fd)));
@@ -444,7 +444,7 @@ igt_main
 		cpg_gt_toggle(fd);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		close(fd);
 	}
 }
diff --git a/tests/intel/xe_pmu.c b/tests/intel/xe_pmu.c
index 1a5b17de0b6b..d3cf7ca00fbf 100644
--- a/tests/intel/xe_pmu.c
+++ b/tests/intel/xe_pmu.c
@@ -1061,7 +1061,7 @@ igt_main
 	int fd, gt, num_engines;
 	struct drm_xe_engine_class_instance *eci;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 		xe_perf_device(fd, xe_device, sizeof(xe_device));
 		num_engines = xe_number_engines(fd);
@@ -1155,7 +1155,7 @@ igt_main
 	igt_subtest_group {
 		int render_fd;
 
-		igt_fixture {
+		igt_fixture() {
 			render_fd = __drm_open_driver_render(DRIVER_XE);
 			igt_require(render_fd);
 		}
@@ -1172,14 +1172,14 @@ igt_main
 		test_each_engine("engine-activity-render-node-load-idle", render_fd, eci)
 			engine_activity(render_fd, eci, TEST_LOAD | TEST_TRAILING_IDLE);
 
-		igt_fixture
+		igt_fixture()
 			drm_close_driver(render_fd);
 	}
 
 	igt_subtest_group {
 		unsigned int num_fns;
 
-		igt_fixture
+		igt_fixture()
 			num_fns = enable_and_provision_vfs(fd) + 1;
 
 		igt_describe("Validate engine activity on all functions");
@@ -1198,7 +1198,7 @@ igt_main
 				engine_activity_fn(fd, eci, fn);
 		}
 
-		igt_fixture
+		igt_fixture()
 			unprovision_and_disable_vfs(fd);
 	}
 
@@ -1206,7 +1206,7 @@ igt_main
 		bool has_freq0_node, needs_freq_restore = false;
 		uint32_t *stash_min, *stash_max;
 
-		igt_fixture {
+		igt_fixture() {
 			has_freq0_node = xe_sysfs_gt_has_node(fd, 0, "freq0");
 		}
 
@@ -1226,13 +1226,13 @@ igt_main
 			}
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			if (needs_freq_restore)
 				restore_gt_freq(fd, stash_min, stash_max);
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		close(fd);
 	}
 }
diff --git a/tests/intel/xe_prime_self_import.c b/tests/intel/xe_prime_self_import.c
index ba171802240b..2fc73ddeb0c0 100644
--- a/tests/intel/xe_prime_self_import.c
+++ b/tests/intel/xe_prime_self_import.c
@@ -532,7 +532,7 @@ igt_main
 	int i;
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 	}
 
@@ -541,6 +541,6 @@ igt_main
 			tests[i].fn();
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_pxp.c b/tests/intel/xe_pxp.c
index 98f06ae13457..88db5cecc3cf 100644
--- a/tests/intel/xe_pxp.c
+++ b/tests/intel/xe_pxp.c
@@ -1107,7 +1107,7 @@ igt_main
 	bool pxp_supported = true;
 	drmModeResPtr res;
 
-	igt_fixture {
+	igt_fixture() {
 		xe_fd = drm_open_driver(DRIVER_XE);
 		igt_require(xe_has_engine_class(xe_fd, DRM_XE_ENGINE_CLASS_RENDER));
 		pxp_supported = is_pxp_hw_supported(xe_fd);
@@ -1176,7 +1176,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drmModeFreeResources(res);
 		if (!pxp_supported)
 			drm_close_driver(xe_fd);
diff --git a/tests/intel/xe_query.c b/tests/intel/xe_query.c
index 928daaf5875d..6474ba0b8424 100644
--- a/tests/intel/xe_query.c
+++ b/tests/intel/xe_query.c
@@ -1144,7 +1144,7 @@ igt_main
 	}, *f;
 	int xe, gpu_count;
 
-	igt_fixture
+	igt_fixture()
 		xe = drm_open_driver(DRIVER_XE);
 
 	for (f = funcs; f->name; f++) {
@@ -1152,7 +1152,7 @@ igt_main
 			f->func(xe);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(xe);
 		gpu_count = drm_prepare_filtered_multigpu(DRIVER_XE);
 	}
diff --git a/tests/intel/xe_render_copy.c b/tests/intel/xe_render_copy.c
index ae2bb6f5901c..6a2ef4fe96e9 100644
--- a/tests/intel/xe_render_copy.c
+++ b/tests/intel/xe_render_copy.c
@@ -695,7 +695,7 @@ igt_main_args("dpiW:H:", NULL, help_str, opt_handler, NULL)
 		{ NULL },
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		xe = drm_open_driver(DRIVER_XE);
 
 		/* As some cards don't have render, we should skip these. */
@@ -729,7 +729,7 @@ igt_main_args("dpiW:H:", NULL, help_str, opt_handler, NULL)
 			render_stress_copy(xe, set, s->nparallel_copies_per_engine);
 		}
 
-	igt_fixture {
+	igt_fixture() {
 		buf_ops_destroy(bops);
 		drm_close_driver(xe);
 	}
diff --git a/tests/intel/xe_spin_batch.c b/tests/intel/xe_spin_batch.c
index ee2d0ec3fd0e..168b604ac3f5 100644
--- a/tests/intel/xe_spin_batch.c
+++ b/tests/intel/xe_spin_batch.c
@@ -533,7 +533,7 @@ igt_main
 	int gt, class;
 	struct igt_collection *regions;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 		regions = xe_get_memory_region_set(fd, DRM_XE_MEM_REGION_CLASS_SYSMEM,
 						   DRM_XE_MEM_REGION_CLASS_VRAM);
@@ -576,6 +576,6 @@ igt_main
 				xe_spin_mem_copy(fd, hwe, regions);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_sriov_auto_provisioning.c b/tests/intel/xe_sriov_auto_provisioning.c
index 451c3c5ca6c1..1b13eb7f8f65 100644
--- a/tests/intel/xe_sriov_auto_provisioning.c
+++ b/tests/intel/xe_sriov_auto_provisioning.c
@@ -328,7 +328,7 @@ igt_main_args("", long_opts, help_str, opts_handler, NULL)
 		{ NULL },
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		struct xe_sriov_provisioned_range *ranges;
 		int ret;
 
@@ -432,7 +432,7 @@ igt_main_args("", long_opts, help_str, opts_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_sriov_disable_vfs(pf_fd);
 		/* abort to avoid execution of next tests with enabled VFs */
 		igt_abort_on_f(igt_sriov_get_enabled_vfs(pf_fd) > 0, "Failed to disable VF(s)");
diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
index 3e5835487f3a..608e306ed0e6 100644
--- a/tests/intel/xe_sriov_flr.c
+++ b/tests/intel/xe_sriov_flr.c
@@ -1028,7 +1028,7 @@ igt_main
 	int pf_fd;
 	bool autoprobe;
 
-	igt_fixture {
+	igt_fixture() {
 		pf_fd = drm_open_driver(DRIVER_XE);
 		igt_require(igt_sriov_is_pf(pf_fd));
 		igt_require(igt_sriov_get_enabled_vfs(pf_fd) == 0);
@@ -1063,7 +1063,7 @@ igt_main
 		clear_tests(pf_fd, 1, execute_parallel_flr_twice);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_sriov_disable_vfs(pf_fd);
 		/* abort to avoid execution of next tests with enabled VFs */
 		igt_abort_on_f(igt_sriov_get_enabled_vfs(pf_fd) > 0, "Failed to disable VF(s)");
diff --git a/tests/intel/xe_sriov_scheduling.c b/tests/intel/xe_sriov_scheduling.c
index 5e8c877557eb..e2ee96c72901 100644
--- a/tests/intel/xe_sriov_scheduling.c
+++ b/tests/intel/xe_sriov_scheduling.c
@@ -889,7 +889,7 @@ igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
 	int pf_fd;
 	bool autoprobe;
 
-	igt_fixture {
+	igt_fixture() {
 		pf_fd = drm_open_driver(DRIVER_XE);
 		igt_require(igt_sriov_is_pf(pf_fd));
 		igt_require(igt_sriov_get_enabled_vfs(pf_fd) == 0);
@@ -922,7 +922,7 @@ igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
 				nonpreempt_engine_resets(pf_fd, vf, &subm_opts);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
 					  &(struct vf_sched_params){});
 		xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
diff --git a/tests/intel/xe_sriov_vram.c b/tests/intel/xe_sriov_vram.c
index 6c3c8e0314ba..75eb03e7b6bc 100644
--- a/tests/intel/xe_sriov_vram.c
+++ b/tests/intel/xe_sriov_vram.c
@@ -344,7 +344,7 @@ igt_main_args("", long_opts, help_str, opts_handler, NULL)
 		{ NULL },
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		pf_fd = drm_open_driver(DRIVER_XE);
 		igt_require(xe_has_vram(pf_fd));
 		igt_require(igt_sriov_is_pf(pf_fd));
@@ -395,7 +395,7 @@ igt_main_args("", long_opts, help_str, opts_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_sriov_disable_vfs(pf_fd);
 		/* abort to avoid execution of next tests with enabled VFs */
 		igt_abort_on_f(igt_sriov_get_enabled_vfs(pf_fd) > 0, "Failed to disable VF(s)");
diff --git a/tests/intel/xe_survivability.c b/tests/intel/xe_survivability.c
index f2e15114dd90..dfdd14738dfa 100644
--- a/tests/intel/xe_survivability.c
+++ b/tests/intel/xe_survivability.c
@@ -213,7 +213,7 @@ igt_main
 	struct pci_device *pci_xe;
 	bool vf_device;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 		igt_require(IS_BATTLEMAGE(intel_get_drm_devid(fd)));
 		vf_device = intel_is_vf_device(fd);
@@ -258,7 +258,7 @@ igt_main
 		igt_debugfs_write(fd, "inject_csc_hw_error/times", "1");
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_fs_remove_dir(configfs_fd, bus_addr);
 		close(configfs_device_fd);
 		close(configfs_fd);
diff --git a/tests/intel/xe_sysfs_defaults.c b/tests/intel/xe_sysfs_defaults.c
index f21ae94e633e..3a221375e82d 100644
--- a/tests/intel/xe_sysfs_defaults.c
+++ b/tests/intel/xe_sysfs_defaults.c
@@ -63,7 +63,7 @@ igt_main
 	int xe, sys_fd;
 	int gt;
 
-	igt_fixture {
+	igt_fixture() {
 		xe = drm_open_driver(DRIVER_XE);
 		xe_device_get(xe);
 
@@ -89,7 +89,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		xe_device_put(xe);
 		close(xe);
 	}
diff --git a/tests/intel/xe_sysfs_preempt_timeout.c b/tests/intel/xe_sysfs_preempt_timeout.c
index ff58c4d49dcf..ea0ed13d3319 100644
--- a/tests/intel/xe_sysfs_preempt_timeout.c
+++ b/tests/intel/xe_sysfs_preempt_timeout.c
@@ -192,7 +192,7 @@ igt_main
 	unsigned int pts[MAX_GTS][XE_MAX_ENGINE_INSTANCE];
 	int *engine_list[MAX_GTS];
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 
 		sys_fd = igt_sysfs_open(fd);
@@ -236,7 +236,7 @@ igt_main
 			}
 		}
 	}
-	igt_fixture {
+	igt_fixture() {
 		for (int i = 0; i < gt_count; i++) {
 			int *list, j = 0;
 
diff --git a/tests/intel/xe_sysfs_scheduler.c b/tests/intel/xe_sysfs_scheduler.c
index 90d4ab8fdcb0..f134074aa414 100644
--- a/tests/intel/xe_sysfs_scheduler.c
+++ b/tests/intel/xe_sysfs_scheduler.c
@@ -246,7 +246,7 @@ igt_main
 	int engines_fd[MAX_GTS], gt_fd[MAX_GTS];
 	int *engine_list[MAX_GTS];
 
-	igt_fixture {
+	igt_fixture() {
 		xe = drm_open_driver(DRIVER_XE);
 		xe_device_get(xe);
 
@@ -300,7 +300,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		for (int gtn = gt_count - 1; gtn >= 0; gtn--) {
 			int *list, i = 0;
 
diff --git a/tests/intel/xe_sysfs_timeslice_duration.c b/tests/intel/xe_sysfs_timeslice_duration.c
index 456cb9a72544..ae6b9aa223cc 100644
--- a/tests/intel/xe_sysfs_timeslice_duration.c
+++ b/tests/intel/xe_sysfs_timeslice_duration.c
@@ -169,7 +169,7 @@ igt_main
 	unsigned int tds[MAX_GTS][XE_MAX_ENGINE_INSTANCE];
 	int *engine_list[MAX_GTS];
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 
 		sys_fd = igt_sysfs_open(fd);
@@ -215,7 +215,7 @@ igt_main
 			}
 		}
 	}
-	igt_fixture {
+	igt_fixture() {
 		for (int i = 0; i < gt_count; i++) {
 			int *list, j = 0;
 
diff --git a/tests/intel/xe_tlb.c b/tests/intel/xe_tlb.c
index 9b920fe8adf4..712707270416 100644
--- a/tests/intel/xe_tlb.c
+++ b/tests/intel/xe_tlb.c
@@ -133,7 +133,7 @@ igt_main
 	int fd;
 	struct drm_xe_engine *engine;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 	}
 
@@ -142,7 +142,7 @@ igt_main
 		tlb_invalidation(fd, &engine->instance);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/intel/xe_vm.c b/tests/intel/xe_vm.c
index 6a3950ba9b1a..523c2158e721 100644
--- a/tests/intel/xe_vm.c
+++ b/tests/intel/xe_vm.c
@@ -2562,7 +2562,7 @@ igt_main
                 { }
         };
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 
 		xe_for_each_engine(fd, hwe)
@@ -2850,6 +2850,6 @@ igt_main
 		test_oom(fd);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_waitfence.c b/tests/intel/xe_waitfence.c
index 5fcd4fc74a6e..ee02732a815f 100644
--- a/tests/intel/xe_waitfence.c
+++ b/tests/intel/xe_waitfence.c
@@ -279,7 +279,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
 
 	igt_subtest("reltime")
@@ -300,6 +300,6 @@ igt_main
 	igt_subtest("exec_queue-reset-wait")
 		exec_queue_reset_wait(fd);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/intel/xe_wedged.c b/tests/intel/xe_wedged.c
index 7fc7ca9ebf69..c3c81960ae42 100644
--- a/tests/intel/xe_wedged.c
+++ b/tests/intel/xe_wedged.c
@@ -214,7 +214,7 @@ igt_main
 	int fd;
 	char pci_slot[NAME_MAX];
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_XE);
 		igt_device_get_pci_slot_name(fd, pci_slot);
 	}
@@ -300,7 +300,7 @@ igt_main
 		igt_assert_f(str[0] != '\0', "Failed to read wedged_mode from debugfs!\n");
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		if (igt_debugfs_exists(fd, "fail_gt_reset/probability", O_RDWR)) {
 			igt_debugfs_write(fd, "fail_gt_reset/probability", "0");
 			igt_debugfs_write(fd, "fail_gt_reset/times", "1");
diff --git a/tests/kms_3d.c b/tests/kms_3d.c
index 86254cdcbf5b..b4e662bfd73f 100644
--- a/tests/kms_3d.c
+++ b/tests/kms_3d.c
@@ -48,7 +48,7 @@ igt_main
 	const struct edid *edid;
 	int mode_count, connector_id;
 
-	igt_fixture {
+	igt_fixture() {
 		drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		res = drmModeGetResources(drm_fd);
@@ -127,7 +127,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		if (connector) {
 			kmstest_force_connector(drm_fd, connector, FORCE_CONNECTOR_UNSPECIFIED);
 			kmstest_force_edid(drm_fd, connector, NULL);
diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
index 268e4e0e4488..3f9c5fef4121 100644
--- a/tests/kms_addfb_basic.c
+++ b/tests/kms_addfb_basic.c
@@ -215,7 +215,7 @@ static void invalid_tests(int fd)
 	f.pixel_format = DRM_FORMAT_XRGB8888;
 	f.pitches[0] = 512*4;
 
-	igt_fixture {
+	igt_fixture() {
 		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
 			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
 		igt_assert(gem_bo);
@@ -413,7 +413,7 @@ static void invalid_tests(int fd)
 			 count);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		gem_close(fd, gem_bo);
 		gem_close(fd, gem_bo_small);
 	}
@@ -430,7 +430,7 @@ static void pitch_tests(int fd)
 	f.pixel_format = DRM_FORMAT_XRGB8888;
 	f.pitches[0] = 1024*4;
 
-	igt_fixture {
+	igt_fixture() {
 		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
 			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
 		igt_assert(gem_bo);
@@ -462,7 +462,7 @@ static void pitch_tests(int fd)
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		gem_close(fd, gem_bo);
 }
 
@@ -478,7 +478,7 @@ static void tiling_tests(int fd)
 	f.pitches[0] = 1024*4;
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require_intel(fd);
 			tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
 				DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_X_TILED,
@@ -543,7 +543,7 @@ static void tiling_tests(int fd)
 			do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			gem_close(fd, tiled_x_bo);
 			gem_close(fd, tiled_y_bo);
 		}
@@ -573,7 +573,7 @@ static void size_tests(int fd)
 	f_8.pixel_format = DRM_FORMAT_C8;
 	f_8.pitches[0] = 1024*2;
 
-	igt_fixture {
+	igt_fixture() {
 		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
 			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
 		igt_assert(gem_bo);
@@ -659,7 +659,7 @@ static void size_tests(int fd)
 	}
 
 
-	igt_fixture {
+	igt_fixture() {
 		gem_close(fd, gem_bo);
 		gem_close(fd, gem_bo_small);
 	}
@@ -669,7 +669,7 @@ static void addfb25_tests(int fd)
 {
 	struct drm_mode_fb_cmd2 f = {};
 
-	igt_fixture {
+	igt_fixture() {
 		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
 			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
 		igt_assert(gem_bo);
@@ -693,7 +693,7 @@ static void addfb25_tests(int fd)
 		do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL);
 	}
 
-	igt_fixture
+	igt_fixture()
 		f.flags = DRM_MODE_FB_MODIFIERS;
 
 	igt_describe("Test that addfb2 call fails correctly for irrelevant modifier");
@@ -705,7 +705,7 @@ static void addfb25_tests(int fd)
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require_intel(fd);
 			if (is_i915_device(fd)) {
 				igt_require(gem_available_fences(fd) > 0);
@@ -743,7 +743,7 @@ static void addfb25_tests(int fd)
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		gem_close(fd, gem_bo);
 }
 
@@ -751,7 +751,7 @@ static void addfb25_ytile(int fd)
 {
 	struct drm_mode_fb_cmd2 f = {};
 
-	igt_fixture {
+	igt_fixture() {
 		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
 			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
 		igt_assert(gem_bo);
@@ -807,7 +807,7 @@ static void addfb25_ytile(int fd)
 		f.fb_id = 0;
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		gem_close(fd, gem_bo);
 		gem_close(fd, gem_bo_small);
 	}
@@ -817,7 +817,7 @@ static void addfb25_4tile(int fd)
 {
 	struct drm_mode_fb_cmd2 f = {};
 
-	igt_fixture {
+	igt_fixture() {
 		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
 				DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
 		igt_assert(gem_bo);
@@ -847,7 +847,7 @@ static void addfb25_4tile(int fd)
 		f.fb_id = 0;
 	}
 
-	igt_fixture
+	igt_fixture()
 		gem_close(fd, gem_bo);
 }
 
@@ -863,7 +863,7 @@ static void prop_tests(int fd)
 	f.pixel_format = DRM_FORMAT_XRGB8888;
 	f.pitches[0] = 1024*4;
 
-	igt_fixture {
+	igt_fixture() {
 		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
 			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
 		igt_assert(gem_bo);
@@ -910,7 +910,7 @@ static void prop_tests(int fd)
 		do_ioctl_err(fd, DRM_IOCTL_MODE_OBJ_SETPROPERTY, &set_prop, EINVAL);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		do_ioctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id);
 		gem_close(fd, gem_bo);
 	}
@@ -925,7 +925,7 @@ static void master_tests(int fd)
 	f.pixel_format = DRM_FORMAT_XRGB8888;
 	f.pitches[0] = 1024*4;
 
-	igt_fixture {
+	igt_fixture() {
 		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
 			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
 		igt_assert(gem_bo);
@@ -951,7 +951,7 @@ static void master_tests(int fd)
 		igt_device_set_master(fd);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		do_ioctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id);
 		gem_close(fd, gem_bo);
 	}
@@ -984,7 +984,7 @@ int fd;
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_ANY);
 		igt_require(has_addfb2_iface(fd));
 	}
@@ -1005,24 +1005,24 @@ igt_main
 		tiling_tests(fd);
 
 	igt_subtest_group {
-		igt_fixture
+		igt_fixture()
 			igt_display_require(&display, fd);
 
 		size_tests(fd);
 
 		addfb25_tests(fd);
 
-		igt_fixture
+		igt_fixture()
 			igt_require_intel(fd);
 
 		addfb25_ytile(fd);
 
 		addfb25_4tile(fd);
 
-		igt_fixture
+		igt_fixture()
 			igt_display_fini(&display);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index cbe38889e97e..ae64574a89fa 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -1069,7 +1069,7 @@ igt_main
 {
 	int i;
 
-	igt_fixture {
+	igt_fixture() {
 		int ret;
 
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
@@ -1088,7 +1088,7 @@ igt_main
 
 	igt_describe("Verify the async flip functionality and the fps during async flips");
 	igt_subtest_group {
-		igt_fixture
+		igt_fixture()
 			require_monotonic_timestamp(data.drm_fd);
 
 		igt_describe("Wait for page flip events in between successive asynchronous flips");
@@ -1272,7 +1272,7 @@ igt_main
 		data.single_pipe = false;
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		for (i = 0; i < NUM_FBS; i++) {
 			igt_remove_fb(data.drm_fd, &data.bufs[i]);
 			igt_remove_fb(data.drm_fd, &data.bufs_overlay[i]);
diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
index 474df3fa4f6b..ab871edd3ba8 100644
--- a/tests/kms_atomic.c
+++ b/tests/kms_atomic.c
@@ -1404,7 +1404,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	igt_output_t *output = NULL;
 	data_t data = { 0 };
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		kmstest_set_vt_graphics_mode();
 		igt_display_require(&data.display, data.drm_fd);
@@ -1638,7 +1638,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c
index 19fbcab99774..2983b14f7df3 100644
--- a/tests/kms_atomic_interruptible.c
+++ b/tests/kms_atomic_interruptible.c
@@ -327,7 +327,7 @@ igt_main
 	igt_output_t *output;
 	enum pipe pipe;
 
-	igt_fixture {
+	igt_fixture() {
 		display.drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		kmstest_set_vt_graphics_mode();
@@ -424,7 +424,7 @@ igt_main
 	}
 
 	/* TODO: legacy gamma_set/get, object set/getprop, getcrtc, getconnector */
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&display);
 		drm_close_driver(display.drm_fd);
 	}
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 419afe4dd5ce..bb17cb70d0ee 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -1174,7 +1174,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 	int i, j, count = 0;
 	int pipe_count = 0;
 
-	igt_fixture {
+	igt_fixture() {
 		unsigned int debug_mask_if_ci = DRM_UT_KMS;
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 
@@ -1267,7 +1267,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_bw.c b/tests/kms_bw.c
index ca05695d3260..43c4439ced8b 100644
--- a/tests/kms_bw.c
+++ b/tests/kms_bw.c
@@ -266,7 +266,7 @@ igt_main
 
 	memset(&data, 0, sizeof(data));
 
-	igt_fixture
+	igt_fixture()
 	{
 		data.fd = drm_open_driver_master(DRIVER_ANY);
 
@@ -297,7 +297,7 @@ igt_main
         }
 
 
-	igt_fixture
+	igt_fixture()
 	{
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/kms_color.c b/tests/kms_color.c
index c424083b7fd4..ab3c0caea475 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -1157,7 +1157,7 @@ run_tests_for_pipe(data_t *data)
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		igt_require(data->display.is_atomic);
 
 	igt_describe("Verify that deep color works correctly");
@@ -1175,7 +1175,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		if (is_intel_device(data.drm_fd))
 			data.devid = intel_get_drm_devid(data.drm_fd);
@@ -1190,7 +1190,7 @@ igt_main
 	igt_subtest_group
 		run_invalid_tests_for_pipe(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
index 3812290bacac..dff1247c51b9 100644
--- a/tests/kms_concurrent.c
+++ b/tests/kms_concurrent.c
@@ -389,7 +389,7 @@ static data_t data;
 
 igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		kmstest_set_vt_graphics_mode();
 		igt_display_require(&data.display, data.drm_fd);
@@ -402,7 +402,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 
 	run_tests_for_pipe(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		if (is_intel_device(data.drm_fd))
 			intel_allocator_multiprocess_stop();
 		igt_display_fini(&data.display);
diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index 2422793b14e8..38de54da1547 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -982,7 +982,7 @@ static const struct {
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		igt_display_require(&data.display, data.drm_fd);
 		igt_display_require_output(&data.display);
@@ -996,7 +996,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture
+		igt_fixture()
 			igt_require(data.display.is_atomic);
 
 		for (int i = 0; i < ARRAY_SIZE(subtests); i++) {
@@ -1019,7 +1019,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture
+		igt_fixture()
 			igt_require(data.display.is_atomic);
 
 		for (int i = 0; i < ARRAY_SIZE(mst_subtests); i++) {
@@ -1032,7 +1032,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		test_content_protection_cleanup();
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index 239bbd7b7a8b..1cbf26f55663 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -989,7 +989,7 @@ static void run_size_tests(data_t *data, int w, int h)
 		snprintf(name, sizeof(name), "%dx%d", w, h);
 	}
 
-	igt_fixture
+	igt_fixture()
 		create_cursor_fb(data, w, h);
 
 	for (i = 0; i < ARRAY_SIZE(size_tests); i++) {
@@ -1028,7 +1028,7 @@ static void run_size_tests(data_t *data, int w, int h)
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		igt_remove_fb(data->drm_fd, &data->fb);
 }
 
@@ -1037,7 +1037,7 @@ static void run_tests_on_pipe(data_t *data)
 	enum pipe pipe;
 	int cursor_size;
 
-	igt_fixture {
+	igt_fixture() {
 		data->alpha = 1.0;
 		data->flags = 0;
 	}
@@ -1103,7 +1103,7 @@ static void run_tests_on_pipe(data_t *data)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_create_color_fb(data->drm_fd, data->cursor_max_w, data->cursor_max_h,
 				DRM_FORMAT_ARGB8888, DRM_FORMAT_MOD_LINEAR,
 				1.f, 1.f, 1.f, &data->timed_fb[0]);
@@ -1151,7 +1151,7 @@ static void run_tests_on_pipe(data_t *data)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_remove_fb(data->drm_fd, &data->timed_fb[0]);
 		igt_remove_fb(data->drm_fd, &data->timed_fb[1]);
 
@@ -1200,7 +1200,7 @@ static void run_tests_on_pipe(data_t *data)
 		data->flags = 0;
 	}
 
-	igt_fixture
+	igt_fixture()
 		igt_remove_fb(data->drm_fd, &data->fb);
 
 	igt_describe("Check that sizes declared in SIZE_HINTS are accepted.");
@@ -1266,7 +1266,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	uint64_t cursor_width = 64, cursor_height = 64;
 	int ret;
 
-	igt_fixture {
+	igt_fixture() {
 		enum pipe pipe;
 
 		last_pipe = 0;
@@ -1303,7 +1303,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	igt_subtest_group
 		run_tests_on_pipe(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		if (data.pipe_crc != NULL) {
 			igt_pipe_crc_stop(data.pipe_crc);
 			igt_pipe_crc_free(data.pipe_crc);
diff --git a/tests/kms_cursor_edge_walk.c b/tests/kms_cursor_edge_walk.c
index 27bee448223f..7ea1439b38d3 100644
--- a/tests/kms_cursor_edge_walk.c
+++ b/tests/kms_cursor_edge_walk.c
@@ -355,7 +355,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 	};
 	int i;
 
-	igt_fixture {
+	igt_fixture() {
 		int ret;
 		enum pipe pipe;
 
@@ -387,7 +387,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 	for (i = 0; i < ARRAY_SIZE(tests); i++) {
 		for (data.curw = 64; data.curw <= 256; data.curw *= 2) {
 			data.curh = data.curw;
-			igt_fixture
+			igt_fixture()
 				igt_require(data.curw <= max_curw && data.curh <= max_curh);
 
 			igt_describe_f("Checking cursor size %dx%d by walking %s of screen",
@@ -415,7 +415,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index 865853c38fac..d5d564410756 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -1839,7 +1839,7 @@ igt_main
 		"atomic-transitions-varying-size"
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		unsigned int debug_mask_if_ci = DRM_UT_KMS;
 		display.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		kmstest_set_vt_graphics_mode();
@@ -1892,7 +1892,7 @@ igt_main
 	igt_describe("Test checks how many cursor updates we can fit between vblanks "
 		    "on all pipes with different modes, priority and number of processes");
 	igt_subtest_group {
-		igt_fixture
+		igt_fixture()
 			igt_display_require_output(&display);
 
 		igt_subtest("nonblocking-modeset-vs-cursor-atomic")
@@ -1905,7 +1905,7 @@ igt_main
 	igt_describe("Test changes the cursor hotspot and checks that the "
 		      "property is updated accordignly");
 	igt_subtest_group {
-		igt_fixture
+		igt_fixture()
 			igt_display_require_output(&display);
 
 		igt_subtest("modeset-atomic-cursor-hotspot") {
@@ -1930,7 +1930,7 @@ igt_main
 			{ "2x-long-nonblocking-modeset-vs-cursor-atomic", 15, true, true },
 		};
 
-		igt_fixture
+		igt_fixture()
 			igt_display_require_output(&display);
 
 		for (i = 0; i < ARRAY_SIZE(tests); i++) {
@@ -1956,7 +1956,7 @@ igt_main
 			{ "2x-long-cursor-vs-flip-atomic", 50, true },
 		};
 
-		igt_fixture
+		igt_fixture()
 			igt_display_require_output(&display);
 
 		for (i = 0; i < ARRAY_SIZE(tests); i++) {
@@ -1969,7 +1969,7 @@ igt_main
 
 	igt_describe("Test will first does a page flip and then cursor update");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require_pipe_crc(display.drm_fd);
 			igt_display_require_output(&display);
 		}
@@ -1983,7 +1983,7 @@ igt_main
 
 	igt_describe("this test perform a busy bo update followed by a cursor update");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require_intel(display.drm_fd);
 			igt_require_pipe_crc(display.drm_fd);
 			igt_display_require_output(&display);
@@ -2013,7 +2013,7 @@ igt_main
 		};
 		int t;
 
-		igt_fixture
+		igt_fixture()
 			igt_display_require_output(&display);
 
 		for (i = 0; i <= flip_test_last; i++) {
@@ -2056,7 +2056,7 @@ igt_main
 			{ "cursorB-vs-flipB", 1, 1, 10 },
 		};
 
-		igt_fixture
+		igt_fixture()
 			igt_display_require_output(&display);
 
 		for (i = 0; i <= flip_test_last; i++) {
@@ -2076,7 +2076,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		if (intel_psr2_restore)
 			i915_psr2_sel_fetch_restore(display.drm_fd, NULL);
 		igt_display_fini(&display);
diff --git a/tests/kms_debugfs.c b/tests/kms_debugfs.c
index 570ad1c0ce60..45ad1440fbd0 100644
--- a/tests/kms_debugfs.c
+++ b/tests/kms_debugfs.c
@@ -100,7 +100,7 @@ igt_main
 	igt_display_t display;
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_ANY);
 		debugfs = igt_debugfs_dir(fd);
 		igt_require(debugfs >= 0);
@@ -126,7 +126,7 @@ igt_main
 		igt_dir_process_files_simple(debugfs);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&display);
 		close(debugfs);
 		drm_close_driver(fd);
diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c
index d6494a85b601..59bda92ff77e 100644
--- a/tests/kms_display_modes.c
+++ b/tests/kms_display_modes.c
@@ -233,7 +233,7 @@ igt_main
 	igt_output_t *output;
 	data_t data;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		kmstest_set_vt_graphics_mode();
 		igt_display_require(&data.display, data.drm_fd);
@@ -252,7 +252,7 @@ igt_main
 		run_extendedmode_test(&data);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 	}
 }
diff --git a/tests/kms_dither.c b/tests/kms_dither.c
index 426caaaa8557..f045cdf130b0 100644
--- a/tests/kms_dither.c
+++ b/tests/kms_dither.c
@@ -249,7 +249,7 @@ igt_main
 	int i;
 	data_t data = { 0 };
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		kmstest_set_vt_graphics_mode();
 
@@ -271,7 +271,7 @@ igt_main
 					tests[i].output_bpc);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_feature_discovery.c b/tests/kms_feature_discovery.c
index a4f96e2a7db9..c5b33aaa4eef 100644
--- a/tests/kms_feature_discovery.c
+++ b/tests/kms_feature_discovery.c
@@ -75,13 +75,13 @@ igt_main {
 	igt_fd_t(debugfs_fd);
 	igt_fd_t(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_ANY);
 		debugfs_fd = igt_debugfs_dir(fd);
 	}
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_display_require(&display, fd);
 		}
 
@@ -95,7 +95,7 @@ igt_main {
 			igt_output_t *output;
 			enum pipe pipe;
 
-			igt_fixture {
+			igt_fixture() {
 				/* this is what most of the 2x tests are doing */
 				for_each_pipe(&display, pipe) {
 					for_each_valid_output_on_pipe(&display, pipe, output) {
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index e5e685438615..787c23100366 100755
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -2092,7 +2092,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	};
 	int i;
 
-	igt_fixture {
+	igt_fixture() {
 		drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		igt_display_require(&display, drm_fd);
@@ -2167,7 +2167,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	}
 	igt_stop_signal_helper();
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&display);
 		drm_close_driver(drm_fd);
 	}
diff --git a/tests/kms_flip_event_leak.c b/tests/kms_flip_event_leak.c
index 71b58b4dfe31..d417c2e5438e 100644
--- a/tests/kms_flip_event_leak.c
+++ b/tests/kms_flip_event_leak.c
@@ -109,7 +109,7 @@ igt_main
 	igt_output_t *output;
 	enum pipe pipe;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		kmstest_set_vt_graphics_mode();
 
@@ -131,7 +131,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c
index f554e997c47f..19909084c445 100644
--- a/tests/kms_force_connector_basic.c
+++ b/tests/kms_force_connector_basic.c
@@ -336,7 +336,7 @@ igt_main_args("", long_opts, help_str, opt_handler, NULL)
 		  prune_stale_modes }
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		unsigned connector_id = 0;
 
 		drm_fd = drm_open_driver_master(DRIVER_ANY);
@@ -407,7 +407,7 @@ end:
 			tests[i].func(drm_fd, connector);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drmModeFreeConnector(connector);
 		drm_close_driver(drm_fd);
 
diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c
index ebaa229d212e..0f89c54728cc 100644
--- a/tests/kms_getfb.c
+++ b/tests/kms_getfb.c
@@ -144,7 +144,7 @@ static void test_handle_input(struct igt_display *display)
 {
 	struct igt_fb fb;
 
-	igt_fixture {
+	igt_fixture() {
 		igt_create_fb(display->drm_fd, 1024, 1024,
 			      DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
 			      &fb);
@@ -192,7 +192,7 @@ static void test_handle_input(struct igt_display *display)
 			     ENOENT);
 	}
 
-	igt_fixture
+	igt_fixture()
 		igt_remove_fb(display->drm_fd, &fb);
 }
 
@@ -200,7 +200,7 @@ static void test_duplicate_handles(struct igt_display *display)
 {
 	struct igt_fb fb;
 
-	igt_fixture {
+	igt_fixture() {
 		igt_create_fb(display->drm_fd, 1024, 1024,
 			      DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
 			      &fb);
@@ -252,7 +252,7 @@ static void test_duplicate_handles(struct igt_display *display)
 		igt_remove_fb(display->drm_fd, &nv12_fb);
 	}
 
-	igt_fixture
+	igt_fixture()
 		igt_remove_fb(display->drm_fd, &fb);
 }
 
@@ -260,7 +260,7 @@ static void test_getfb2(struct igt_display *display)
 {
 	struct igt_fb fb;
 
-	igt_fixture {
+	igt_fixture() {
 		struct drm_mode_fb_cmd2 get = {};
 
 		igt_create_fb(display->drm_fd, 1024, 1024,
@@ -363,7 +363,7 @@ static void test_getfb2(struct igt_display *display)
 		gem_close(display->drm_fd, cmd.handles[0]);
 	}
 
-	igt_fixture
+	igt_fixture()
 		igt_remove_fb(display->drm_fd, &fb);
 }
 
@@ -371,7 +371,7 @@ static void test_handle_protection(void) {
 	int non_master_fd;
 	struct drm_mode_fb_cmd2 non_master_add = {};
 
-	igt_fixture {
+	igt_fixture() {
 		non_master_fd = drm_open_driver(DRIVER_ANY);
 
 		non_master_add.width = 1024;
@@ -417,7 +417,7 @@ static void test_handle_protection(void) {
 		igt_waitchildren();
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		do_ioctl(non_master_fd, DRM_IOCTL_MODE_RMFB, &non_master_add.fb_id);
 		gem_close(non_master_fd, non_master_add.handles[0]);
 
@@ -430,7 +430,7 @@ igt_main
 	int fd;
 	igt_display_t display;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_ANY);
 		igt_require(has_getfb_iface(fd));
 		igt_display_require(&display, fd);
@@ -448,7 +448,7 @@ igt_main
 	igt_subtest_group
 		test_handle_protection();
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&display);
 		drm_close_driver(fd);
 	}
diff --git a/tests/kms_hdmi_inject.c b/tests/kms_hdmi_inject.c
index 625708ddd168..d6aa1b17e60a 100644
--- a/tests/kms_hdmi_inject.c
+++ b/tests/kms_hdmi_inject.c
@@ -217,7 +217,7 @@ igt_main
 	drmModeRes *res;
 	drmModeConnector *connector;
 
-	igt_fixture {
+	igt_fixture() {
 		drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		res = drmModeGetResources(drm_fd);
@@ -239,7 +239,7 @@ igt_main
 	igt_subtest("inject-audio")
 		hdmi_inject_audio(drm_fd, connector);
 
-	igt_fixture {
+	igt_fixture() {
 		drmModeFreeConnector(connector);
 		drmModeFreeResources(res);
 		drm_close_driver(drm_fd);
diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
index 40187275bf61..7dbd10eeb4ef 100644
--- a/tests/kms_hdr.c
+++ b/tests/kms_hdr.c
@@ -803,7 +803,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.fd = drm_open_driver_master(DRIVER_ANY);
 
 		kmstest_set_vt_graphics_mode();
@@ -850,7 +850,7 @@ igt_main
 	igt_subtest_with_dynamic("invalid-hdr")
 		test_hdr(&data, TEST_INVALID_HDR);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.fd);
 	}
diff --git a/tests/kms_invalid_mode.c b/tests/kms_invalid_mode.c
index 981b6ceb6c9b..a404526cff88 100644
--- a/tests/kms_invalid_mode.c
+++ b/tests/kms_invalid_mode.c
@@ -340,7 +340,7 @@ igt_main
 	enum pipe pipe;
 	igt_output_t *output;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		kmstest_set_vt_graphics_mode();
@@ -373,7 +373,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		igt_reset_connectors();
 		drmModeFreeResources(data.res);
diff --git a/tests/kms_lease.c b/tests/kms_lease.c
index e217f81d0510..f8c3dda99c24 100644
--- a/tests/kms_lease.c
+++ b/tests/kms_lease.c
@@ -1245,7 +1245,7 @@ igt_main
 	igt_output_t *output;
 	igt_display_t *display = &data.master.display;
 
-	igt_fixture {
+	igt_fixture() {
 		data.master.fd = drm_open_driver_master(DRIVER_ANY);
 		kmstest_set_vt_graphics_mode();
 		igt_display_require(display, data.master.fd);
@@ -1282,7 +1282,7 @@ igt_main
 			{ }
 		}, *f;
 
-		igt_fixture
+		igt_fixture()
 			igt_display_require_output(display);
 
 		for (f = funcs; f->name; f++) {
@@ -1343,7 +1343,7 @@ igt_main
 			lease_uevent(&data);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(display);
 		drm_close_driver(data.master.fd);
 	}
diff --git a/tests/kms_multipipe_modeset.c b/tests/kms_multipipe_modeset.c
index 69dc62e38fb9..e2a2969560d6 100644
--- a/tests/kms_multipipe_modeset.c
+++ b/tests/kms_multipipe_modeset.c
@@ -147,7 +147,7 @@ igt_main
 	data_t data;
 	drmModeResPtr res;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		kmstest_set_vt_graphics_mode();
 
@@ -163,7 +163,7 @@ igt_main
 	igt_subtest("basic-max-pipe-crc-check")
 		test_multipipe(&data, res->count_crtcs);
 
-	igt_fixture {
+	igt_fixture() {
 		drmModeFreeResources(res);
 		igt_display_fini(&data.display);
 	}
diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c
index 1db7f8e9a965..5375bb9af23f 100644
--- a/tests/kms_panel_fitting.c
+++ b/tests/kms_panel_fitting.c
@@ -285,7 +285,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		igt_display_require(&data.display, data.drm_fd);
 		igt_display_require_output(&data.display);
@@ -295,14 +295,14 @@ igt_main
 	igt_subtest_with_dynamic("legacy")
 		test_panel_fitting(&data, TEST_LEGACY);
 
-	igt_fixture
+	igt_fixture()
 		igt_require(&data.display.is_atomic);
 
 	igt_describe("Tests panel fitting usages with atomic fastset.");
 	igt_subtest_with_dynamic("atomic-fastset")
 		test_panel_fitting(&data, TEST_ATOMIC);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index 9750d014cbb1..0a15799965e3 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -393,7 +393,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	int i;
 	last_pipe = 0;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		kmstest_set_vt_graphics_mode();
@@ -499,7 +499,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index 02d4da4cb511..d09bd361f142 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -1453,7 +1453,7 @@ static data_t data;
 
 igt_main_args("", long_opts, help_str, opt_handler, &data)
 {
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		kmstest_set_vt_graphics_mode();
@@ -1464,7 +1464,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 
 	run_tests_for_pipe_plane(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_plane_alpha_blend.c b/tests/kms_plane_alpha_blend.c
index 696bb1e5eab3..2d033a4525ba 100644
--- a/tests/kms_plane_alpha_blend.c
+++ b/tests/kms_plane_alpha_blend.c
@@ -736,7 +736,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		enum pipe pipe;
 
 		last_pipe = 0;
@@ -756,7 +756,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 
 	run_subtests(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		remove_fbs(&data);
 		igt_display_reset(&data.display);
 		igt_display_commit2(&data.display, data.display.is_atomic ?
diff --git a/tests/kms_plane_cursor.c b/tests/kms_plane_cursor.c
index 9fa36bfd49b3..e2c174f23631 100644
--- a/tests/kms_plane_cursor.c
+++ b/tests/kms_plane_cursor.c
@@ -306,7 +306,7 @@ igt_main
 		  "with buffer larger than viewport used for display" },
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		int ret;
 
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
@@ -360,7 +360,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
index 4ed098e419a0..ea3813edf906 100644
--- a/tests/kms_plane_lowres.c
+++ b/tests/kms_plane_lowres.c
@@ -342,7 +342,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		data.devid = is_intel_device(data.drm_fd) ?
 			intel_get_drm_devid(data.drm_fd) : 0;
@@ -363,7 +363,7 @@ igt_main
 			run_test(&data, subtests[i].modifier);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
index 4e6ca780a6ed..1921f120528f 100644
--- a/tests/kms_plane_multiple.c
+++ b/tests/kms_plane_multiple.c
@@ -631,7 +631,7 @@ struct option long_options[] = {
 
 igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		kmstest_set_vt_graphics_mode();
 		igt_require_pipe_crc(data.drm_fd);
@@ -664,7 +664,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 63d35d76b518..cdfcc60ef43b 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -1173,7 +1173,7 @@ static void invalid_parameter_tests(data_t *d)
 		},
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		output = igt_get_single_output_for_pipe(&d->display, pipe);
 		igt_require(output);
 
@@ -1210,7 +1210,7 @@ static void invalid_parameter_tests(data_t *d)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_remove_fb(d->drm_fd, &fb);
 		igt_output_set_pipe(output, PIPE_NONE);
 	}
@@ -1352,7 +1352,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 	enum pipe pipe;
 	uint32_t ret = -EINVAL;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		igt_display_require(&data.display, data.drm_fd);
 		data.devid = is_intel_device(data.drm_fd) ?
@@ -1614,7 +1614,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 	igt_subtest_f("2x-scaler-multi-pipe")
 		test_scaler_with_multi_pipe_plane(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_prime.c b/tests/kms_prime.c
index aa3cc386cc05..6f8c24e86a1b 100644
--- a/tests/kms_prime.c
+++ b/tests/kms_prime.c
@@ -558,7 +558,7 @@ igt_main
 	int second_fd_hybrid = -1;
 	bool first_output, second_output;
 
-	igt_fixture {
+	igt_fixture() {
 		kmstest_set_vt_graphics_mode();
 		/* ANY = anything that is not VGEM */
 		first_fd = __drm_open_driver_another(0, DRIVER_ANY);
@@ -568,7 +568,7 @@ igt_main
 
 	igt_describe("Hybrid GPU subtests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			second_fd_hybrid = __drm_open_driver_another(1, DRIVER_ANY);
 			igt_require(second_fd_hybrid >= 0);
 			second_output = has_connected_output(second_fd_hybrid);
@@ -621,7 +621,7 @@ igt_main
 			validate_d3_hot(second_fd_hybrid);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			if (kms_poll_disabled)
 				kms_poll_state_restore();
 
@@ -631,7 +631,7 @@ igt_main
 
 	igt_describe("VGEM subtests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			second_fd_vgem = __drm_open_driver_another(1, DRIVER_VGEM);
 			igt_require(second_fd_vgem >= 0);
 			if (is_i915_device(first_fd))
@@ -649,10 +649,10 @@ igt_main
 					test_crc(second_fd_vgem, first_fd);
 		}
 
-		igt_fixture
+		igt_fixture()
 			drm_close_driver(second_fd_vgem);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(first_fd);
 }
diff --git a/tests/kms_prop_blob.c b/tests/kms_prop_blob.c
index cc43088c2871..9548827d84f4 100644
--- a/tests/kms_prop_blob.c
+++ b/tests/kms_prop_blob.c
@@ -294,7 +294,7 @@ static void prop_tests(int fd)
 	struct drm_mode_obj_set_property set_prop = {};
 	uint64_t prop, prop_val, blob_id;
 
-	igt_fixture
+	igt_fixture()
 		blob_id = create_prop(fd);
 
 	get_props.props_ptr = (uintptr_t) &prop;
@@ -341,7 +341,7 @@ static void prop_tests(int fd)
 				    &set_prop) == -1 && errno == EINVAL);
 	}
 
-	igt_fixture
+	igt_fixture()
 		destroy_prop(fd, blob_id);
 }
 
@@ -349,7 +349,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_ANY);
 		igt_require(fd >= 0);
 		igt_require_propblob(fd);
@@ -377,6 +377,6 @@ igt_main
 
 	prop_tests(fd);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/kms_properties.c b/tests/kms_properties.c
index b30387888768..68091e043b24 100644
--- a/tests/kms_properties.c
+++ b/tests/kms_properties.c
@@ -844,7 +844,7 @@ igt_main
 		  "Tests connector properties with atomic commit" },
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		display.drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		kmstest_set_vt_graphics_mode();
@@ -888,7 +888,7 @@ igt_main
 	}
 
 	igt_subtest_group {
-		igt_fixture
+		igt_fixture()
 			igt_require(display.is_atomic);
 
 		igt_describe("Test validates the properties of all planes, crtc and connectors with atomic commit");
@@ -896,7 +896,7 @@ igt_main
 			get_prop_sanity(&display, true);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&display);
 		drm_close_driver(display.drm_fd);
 	}
diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
index acda4b528cda..5a338ef733d7 100644
--- a/tests/kms_rmfb.c
+++ b/tests/kms_rmfb.c
@@ -206,7 +206,7 @@ igt_main
 	struct rmfb_data data = {};
 	int i, other_fd;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		/*
 		 * Prevent fb from changing underneath so we can check by
@@ -227,7 +227,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 		drm_close_driver(other_fd);
diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index e187681414df..aac9d2038290 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -1221,7 +1221,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 
 	int gen = 0;
 
-	igt_fixture {
+	igt_fixture() {
 		data.gfx_fd = drm_open_driver_master(DRIVER_ANY);
 		if (is_intel_device(data.gfx_fd)) {
 			data.devid = intel_get_drm_devid(data.gfx_fd);
@@ -1287,7 +1287,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 
 	igt_describe("Tiling and Rotation test for gen 10+ for primary plane");
 	for (reflect_x = reflect_x_subtests; reflect_x->modifier; reflect_x++) {
-		igt_fixture
+		igt_fixture()
 			igt_require_intel(data.gfx_fd);
 
 		igt_subtest_f("primary-%s-tiled-reflect-x-%s",
@@ -1360,7 +1360,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.gfx_fd);
 	}
diff --git a/tests/kms_scaling_modes.c b/tests/kms_scaling_modes.c
index 47ed35c7ef25..b869639551dc 100644
--- a/tests/kms_scaling_modes.c
+++ b/tests/kms_scaling_modes.c
@@ -134,7 +134,7 @@ igt_main
 {
 	data_t data = {};
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		igt_require(data.drm_fd >= 0);
 
@@ -159,7 +159,7 @@ igt_main
 	igt_subtest_with_dynamic("scaling-mode-none")
 		test_scaling_mode(&data, DRM_MODE_SCALE_NONE);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_sequence.c b/tests/kms_sequence.c
index f9372431429e..635854460d73 100644
--- a/tests/kms_sequence.c
+++ b/tests/kms_sequence.c
@@ -294,7 +294,7 @@ igt_main
 		{ }
 	}, *m;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_ANY);
 		kmstest_set_vt_graphics_mode();
 		igt_display_require(&data.display, fd);
@@ -327,7 +327,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/kms_setmode.c b/tests/kms_setmode.c
index 8892cb0f0d5e..586adc5d678d 100644
--- a/tests/kms_setmode.c
+++ b/tests/kms_setmode.c
@@ -1053,7 +1053,7 @@ igt_main_args("det:", NULL, help_str, opt_handler, NULL)
 	igt_assert_f(!(dry_run && filter_test_id),
 		     "only one of -d and -t is accepted\n");
 
-	igt_fixture {
+	igt_fixture() {
 		drm_fd = drm_open_driver_master(DRIVER_ANY);
 		if (!dry_run)
 			kmstest_set_vt_graphics_mode();
@@ -1076,7 +1076,7 @@ igt_main_args("det:", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drmModeFreeResources(drm_resources);
 		drm_close_driver(drm_fd);
 	}
diff --git a/tests/kms_sharpness_filter.c b/tests/kms_sharpness_filter.c
index ef3ce3995115..6248d1e897b7 100644
--- a/tests/kms_sharpness_filter.c
+++ b/tests/kms_sharpness_filter.c
@@ -558,7 +558,7 @@ data_t data = {};
 
 igt_main_args("l", NULL, help_str, opt_handler, &data)
 {
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		kmstest_set_vt_graphics_mode();
@@ -753,7 +753,7 @@ igt_main_args("l", NULL, help_str, opt_handler, &data)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_tiled_display.c b/tests/kms_tiled_display.c
index 1f53314081bb..eae9312d18c2 100644
--- a/tests/kms_tiled_display.c
+++ b/tests/kms_tiled_display.c
@@ -571,7 +571,7 @@ igt_main
 	data_t data = {0};
 	struct pollfd pfd = {0};
 	drmEventContext drm_event = {0};
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		kmstest_set_vt_graphics_mode();
 		igt_display_require(&data.display, data.drm_fd);
@@ -620,7 +620,7 @@ igt_main
 	}
 #endif
 
-	igt_fixture {
+	igt_fixture() {
 		free(data.conns);
 		kmstest_restore_vt_mode();
 		igt_display_fini(&data.display);
diff --git a/tests/kms_tv_load_detect.c b/tests/kms_tv_load_detect.c
index 03d0729ae483..c962a55d9724 100644
--- a/tests/kms_tv_load_detect.c
+++ b/tests/kms_tv_load_detect.c
@@ -46,7 +46,7 @@ igt_main
 	drmModeRes *res;
 	drmModeConnector *tv_connector = NULL, *temp;
 
-	igt_fixture {
+	igt_fixture() {
 		drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		res = drmModeGetResources(drm_fd);
@@ -95,7 +95,7 @@ igt_main
 		drmModeFreeConnector(temp);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drmModeFreeConnector(tv_connector);
 		drmModeFreeResources(res);
 		drm_close_driver(drm_fd);
diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c
index 2d9716575183..edbe3e961cbb 100644
--- a/tests/kms_universal_plane.c
+++ b/tests/kms_universal_plane.c
@@ -895,7 +895,7 @@ igt_main
 {
 	data_t data;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		if (is_intel_device(data.drm_fd))
 			data.display_ver = intel_display_ver(intel_get_drm_devid(data.drm_fd));
@@ -909,7 +909,7 @@ igt_main
 
 	run_tests(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c
index 75cf9448fec9..34499e5c7d0d 100644
--- a/tests/kms_vblank.c
+++ b/tests/kms_vblank.c
@@ -627,7 +627,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	int fd;
 	data_t data;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_ANY);
 		kmstest_set_vt_graphics_mode();
 		igt_display_require(&data.display, fd);
@@ -671,7 +671,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 
 	run_subtests(&data);
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(fd);
 	}
diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c
index d83aa2de1b71..804c0114ee8f 100644
--- a/tests/kms_vrr.c
+++ b/tests/kms_vrr.c
@@ -1146,7 +1146,7 @@ static data_t data;
 
 igt_main_args("drs:", long_opts, help_str, opt_handler, &data)
 {
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		kmstest_set_vt_graphics_mode();
@@ -1185,7 +1185,7 @@ igt_main_args("drs:", long_opts, help_str, opt_handler, &data)
 		run_vrr_test(&data, test_basic, TEST_MAXMIN);
 
 	igt_subtest_group {
-		igt_fixture
+		igt_fixture()
 			igt_require_intel(data.drm_fd);
 
 		igt_describe("Test to switch RR seamlessly without modeset.");
@@ -1222,7 +1222,7 @@ igt_main_args("drs:", long_opts, help_str, opt_handler, &data)
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/kms_writeback.c b/tests/kms_writeback.c
index 1b81088d7ab3..f6f335ba17b0 100644
--- a/tests/kms_writeback.c
+++ b/tests/kms_writeback.c
@@ -537,7 +537,7 @@ igt_main_args("b:c:f:dl", long_options, help_str, opt_handler, NULL)
 
 	memset(&display, 0, sizeof(display));
 
-	igt_fixture {
+	igt_fixture() {
 		display.drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		kmstest_set_vt_graphics_mode();
@@ -701,7 +701,7 @@ igt_main_args("b:c:f:dl", long_options, help_str, opt_handler, NULL)
 		igt_remove_fb(display.drm_fd, &output_fb);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		cleanup_writeback(&display, output);
 		igt_remove_fb(display.drm_fd, &input_fb);
 		igt_remove_fb(display.drm_fd, &input_fb_10bit);
diff --git a/tests/meta_test.c b/tests/meta_test.c
index c37610c70f21..2620982d0a6c 100644
--- a/tests/meta_test.c
+++ b/tests/meta_test.c
@@ -120,7 +120,7 @@ static void test_panic(void)
 igt_main
 {
 
-	igt_fixture {
+	igt_fixture() {
 		igt_skip_on_f(!getenv("IGT_CI_META_TEST"),
 			      "Only for meta-testing of CI systems");
 	}
diff --git a/tests/msm/msm_mapping.c b/tests/msm/msm_mapping.c
index d224a413cbf2..f9abffee82f2 100644
--- a/tests/msm/msm_mapping.c
+++ b/tests/msm/msm_mapping.c
@@ -267,7 +267,7 @@ igt_main
 	struct msm_device *dev = NULL;
 	struct msm_pipe *pipe = NULL;
 
-	igt_fixture {
+	igt_fixture() {
 		dev = igt_msm_dev_open();
 		pipe = igt_msm_pipe_open(dev, 0);
 	}
@@ -319,7 +319,7 @@ igt_main
 		do_mapping_test(pipe, "preempt_smmu_info ring0", false);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_msm_pipe_close(pipe);
 		igt_msm_dev_close(dev);
 	}
diff --git a/tests/msm/msm_recovery.c b/tests/msm/msm_recovery.c
index 7b6e3d76e087..e0cef1140f90 100644
--- a/tests/msm/msm_recovery.c
+++ b/tests/msm/msm_recovery.c
@@ -219,7 +219,7 @@ igt_main
 {
 	static struct msm_pipe *pipe = NULL;
 
-	igt_fixture {
+	igt_fixture() {
 		dev = igt_msm_dev_open();
 		pipe = igt_msm_pipe_open(dev, 0);
 		scratch_bo = igt_msm_bo_new(dev, 0x1000, MSM_BO_WC);
@@ -270,7 +270,7 @@ igt_main
 		do_fault_test(pipe, true);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_msm_bo_free(scratch_bo);
 		igt_msm_pipe_close(pipe);
 		igt_msm_dev_close(dev);
diff --git a/tests/msm/msm_shrink.c b/tests/msm/msm_shrink.c
index 8e6c582ffc8c..6c5b976520a3 100644
--- a/tests/msm/msm_shrink.c
+++ b/tests/msm/msm_shrink.c
@@ -249,7 +249,7 @@ igt_main
 	uint64_t alloc_size_mb = 0;
 	int num_processes = 0;
 
-	igt_fixture {
+	igt_fixture() {
 		int params, ncpus;
 		uint64_t mem_size;
 		uint64_t swap_size;
@@ -306,7 +306,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_msm_dev_close(dev);
 	}
 }
diff --git a/tests/msm/msm_submit.c b/tests/msm/msm_submit.c
index 48cffab6940b..2955f5d99b23 100644
--- a/tests/msm/msm_submit.c
+++ b/tests/msm/msm_submit.c
@@ -30,7 +30,7 @@ igt_main
 	struct msm_pipe *pipe = NULL;
 	struct msm_bo *a = NULL, *b = NULL;
 
-	igt_fixture {
+	igt_fixture() {
 		dev = igt_msm_dev_open();
 		pipe = igt_msm_pipe_open(dev, 0);
 		a = igt_msm_bo_new(dev, 0x1000, MSM_BO_WC);
@@ -185,7 +185,7 @@ igt_main
 		do_ioctl(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_msm_bo_free(a);
 		igt_msm_bo_free(b);
 		igt_msm_pipe_close(pipe);
diff --git a/tests/msm/msm_submitoverhead.c b/tests/msm/msm_submitoverhead.c
index 1b893e30ebe1..bf5229881277 100644
--- a/tests/msm/msm_submitoverhead.c
+++ b/tests/msm/msm_submitoverhead.c
@@ -24,7 +24,7 @@ igt_main
 		10, 100, 250, 500, 1000,
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		struct drm_msm_gem_submit req;
 
 		dev = igt_msm_dev_open();
@@ -78,7 +78,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		for (int i = 0; i < MAX_BOS; i++)
 			igt_msm_bo_free(bos[i]);
 		igt_msm_pipe_close(pipe);
diff --git a/tests/nouveau_crc.c b/tests/nouveau_crc.c
index c949723189f1..a8f4b71f7121 100644
--- a/tests/nouveau_crc.c
+++ b/tests/nouveau_crc.c
@@ -322,7 +322,7 @@ igt_main
 {
 	int pipe;
 
-	igt_fixture {
+	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		igt_require_nouveau(data.drm_fd);
 
@@ -334,7 +334,7 @@ igt_main
 	}
 
 	for_each_pipe_static(pipe) {
-		igt_fixture {
+		igt_fixture() {
 			int dir;
 
 			data.pipe = pipe;
@@ -407,13 +407,13 @@ igt_main
 		pipe_test("source-outp-inactive")
 			test_source_outp_inactive(&data);
 
-		igt_fixture {
+		igt_fixture() {
 			igt_remove_fb(data.drm_fd, &data.default_fb);
 			close(data.nv_crc_dir);
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
diff --git a/tests/panfrost/panfrost_gem_new.c b/tests/panfrost/panfrost_gem_new.c
index 4f27e029d09a..42e0bbc038e1 100644
--- a/tests/panfrost/panfrost_gem_new.c
+++ b/tests/panfrost/panfrost_gem_new.c
@@ -39,7 +39,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_PANFROST);
 	}
 
@@ -85,6 +85,6 @@ igt_main
 		drm_close_driver(fd2);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/panfrost/panfrost_get_param.c b/tests/panfrost/panfrost_get_param.c
index 7d1ebecb46fc..39ef11eba1b8 100644
--- a/tests/panfrost/panfrost_get_param.c
+++ b/tests/panfrost/panfrost_get_param.c
@@ -40,7 +40,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_PANFROST);
 
 	igt_subtest("base-params") {
@@ -68,6 +68,6 @@ igt_main
 		do_ioctl_err(fd, DRM_IOCTL_PANFROST_GET_PARAM, &get, EINVAL);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/panfrost/panfrost_prime.c b/tests/panfrost/panfrost_prime.c
index dbc1cb46bc57..b90c66032c23 100644
--- a/tests/panfrost/panfrost_prime.c
+++ b/tests/panfrost/panfrost_prime.c
@@ -59,7 +59,7 @@ igt_main
 {
 	int fd, kms_fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_PANFROST);
 		kms_fd = __drm_open_driver_another(1, DRIVER_ANY);
 	}
@@ -95,7 +95,7 @@ igt_main
 		igt_panfrost_free_bo(fd, bo);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 		drm_close_driver(kms_fd);
 	}
diff --git a/tests/panfrost/panfrost_submit.c b/tests/panfrost/panfrost_submit.c
index 70af55e0ba09..27d3a7de55b3 100644
--- a/tests/panfrost/panfrost_submit.c
+++ b/tests/panfrost/panfrost_submit.c
@@ -66,7 +66,7 @@ igt_main
 {
         int fd;
 
-        igt_fixture {
+        igt_fixture() {
                 fd = drm_open_driver(DRIVER_PANFROST);
         }
 
@@ -196,7 +196,7 @@ igt_main
                 igt_panfrost_free_job(fd, submit);
         }
 
-        igt_fixture {
+        igt_fixture() {
                 drm_close_driver(fd);
         }
 }
diff --git a/tests/panthor/panthor_gem.c b/tests/panthor/panthor_gem.c
index 57cd97e809fd..7e3aeca1e6c0 100644
--- a/tests/panthor/panthor_gem.c
+++ b/tests/panthor/panthor_gem.c
@@ -10,7 +10,7 @@
 igt_main {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_PANTHOR);
 	}
 
@@ -66,7 +66,7 @@ igt_main {
 		igt_panthor_free_bo(fd, &bo);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/panthor/panthor_group.c b/tests/panthor/panthor_group.c
index 0101a6249d4f..846ddabce36e 100644
--- a/tests/panthor/panthor_group.c
+++ b/tests/panthor/panthor_group.c
@@ -43,7 +43,7 @@ issue_store_multiple(uint8_t *cs, uint64_t kernel_va, uint32_t constant)
 igt_main {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_PANTHOR);
 	}
 
@@ -117,7 +117,7 @@ igt_main {
 		igt_panthor_free_bo(fd, &result_bo);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/panthor/panthor_query.c b/tests/panthor/panthor_query.c
index 81c2ebd23f06..7212cb8f1c3c 100644
--- a/tests/panthor/panthor_query.c
+++ b/tests/panthor/panthor_query.c
@@ -10,7 +10,7 @@
 igt_main {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_PANTHOR);
 	}
 
@@ -23,7 +23,7 @@ igt_main {
 		igt_assert_neq(gpu.gpu_id, 0);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/panthor/panthor_vm.c b/tests/panthor/panthor_vm.c
index 18a0622c7f8a..ffde7881146b 100644
--- a/tests/panthor/panthor_vm.c
+++ b/tests/panthor/panthor_vm.c
@@ -9,7 +9,7 @@
 igt_main {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_PANTHOR);
 	}
 
@@ -78,7 +78,7 @@ igt_main {
 		igt_panthor_vm_destroy(fd, vm_id, 0);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/prime_nv_api.c b/tests/prime_nv_api.c
index d9c1849cf0b0..c95586c6b01d 100644
--- a/tests/prime_nv_api.c
+++ b/tests/prime_nv_api.c
@@ -348,7 +348,7 @@ static void test_nv_self_import_to_different_fd(void)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		find_and_open_devices();
 
 		igt_require(nouveau_fd != -1);
@@ -383,7 +383,7 @@ igt_main
 	xtest(i915_self_import_to_different_fd);
 	xtest(nv_self_import_to_different_fd);
 	
-	igt_fixture {
+	igt_fixture() {
 		nouveau_device_del(&ndev);
 
 		close(intel_fd);
diff --git a/tests/prime_nv_pcopy.c b/tests/prime_nv_pcopy.c
index 103f67235e12..b1a935dbbea6 100644
--- a/tests/prime_nv_pcopy.c
+++ b/tests/prime_nv_pcopy.c
@@ -862,7 +862,7 @@ static void test_semaphore(void)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		find_and_open_devices();
 
 		igt_require(nouveau_fd != -1);
@@ -887,7 +887,7 @@ igt_main
 	xtest(test3_5);
 	xtest(test_semaphore);
 
-	igt_fixture {
+	igt_fixture() {
 		nouveau_bo_ref(NULL, &query_bo);
 		nouveau_object_del(&pcopy);
 		nouveau_bufctx_del(&nbufctx);
diff --git a/tests/prime_nv_test.c b/tests/prime_nv_test.c
index c8c4337e32b6..94ea4f028d2a 100644
--- a/tests/prime_nv_test.c
+++ b/tests/prime_nv_test.c
@@ -354,7 +354,7 @@ static void test_i915_blt_fill_nv_read(void)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		igt_assert(find_and_open_devices() == 0);
 
 		igt_require(nouveau_fd != -1);
@@ -380,7 +380,7 @@ igt_main
 	xtest(i915_import_pread_pwrite);
 	xtest(i915_blt_fill_nv_read);
 
-	igt_fixture {
+	igt_fixture() {
 		nouveau_device_del(&ndev);
 
 		buf_ops_destroy(bops);
diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c
index d15ea906ff7b..7bcd731faeb9 100644
--- a/tests/prime_vgem.c
+++ b/tests/prime_vgem.c
@@ -1124,7 +1124,7 @@ static void test_each_engine(const char *name, int vgem, int i915,
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
 
-	igt_fixture
+	igt_fixture()
 		ctx = intel_ctx_create_all_physical(i915);
 
 	igt_subtest_with_dynamic(name) {
@@ -1142,7 +1142,7 @@ static void test_each_engine(const char *name, int vgem, int i915,
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 		intel_ctx_destroy(i915, ctx);
 }
 
@@ -1151,7 +1151,7 @@ igt_main
 	int i915 = -1;
 	int vgem = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		vgem = drm_open_driver(DRIVER_VGEM);
 		igt_require(has_prime_export(vgem));
 
@@ -1214,7 +1214,7 @@ igt_main
 
 	/* Fence testing */
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(vgem_has_fences(vgem));
 		}
 
@@ -1237,7 +1237,7 @@ igt_main
 			test_flip(i915, vgem, 0);
 
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				igt_require(vgem_fence_has_flag(vgem, WIP_VGEM_FENCE_NOTIMEOUT));
 			}
 
@@ -1258,7 +1258,7 @@ igt_main
 
 	/* Fence testing, requires multiprocess allocator */
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(vgem_has_fences(vgem));
 			intel_allocator_multiprocess_start();
 		}
@@ -1266,13 +1266,13 @@ igt_main
 		igt_describe("Examine basic dma-buf fence interop.");
 		test_each_engine("fence-wait", vgem, i915, test_fence_wait);
 
-		igt_fixture {
+		igt_fixture() {
 			intel_allocator_multiprocess_stop();
 		}
 	}
 
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(i915);
 		drm_close_driver(vgem);
 	}
diff --git a/tests/sriov_basic.c b/tests/sriov_basic.c
index 36bca4149e02..7e01b578b5bc 100644
--- a/tests/sriov_basic.c
+++ b/tests/sriov_basic.c
@@ -123,7 +123,7 @@ igt_main
 	int pf_fd;
 	bool autoprobe;
 
-	igt_fixture {
+	igt_fixture() {
 		pf_fd = drm_open_driver(DRIVER_ANY);
 		igt_require(igt_sriov_is_pf(pf_fd));
 		igt_require(igt_sriov_vfs_supported(pf_fd));
@@ -209,7 +209,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_sriov_disable_vfs(pf_fd);
 		/* abort to avoid execution of next tests with enabled VFs */
 		igt_abort_on_f(igt_sriov_get_enabled_vfs(pf_fd) > 0, "Failed to disable VF(s)");
diff --git a/tests/sw_sync.c b/tests/sw_sync.c
index fbb24e8ac380..f7d719873626 100644
--- a/tests/sw_sync.c
+++ b/tests/sw_sync.c
@@ -880,7 +880,7 @@ static void test_sync_random_merge(void)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		igt_require_sw_sync();
 		multi_consumer_threads =
 			min_t(multi_consumer_threads,
diff --git a/tests/syncobj_basic.c b/tests/syncobj_basic.c
index 8a4416fffe88..9a4f33884fba 100644
--- a/tests/syncobj_basic.c
+++ b/tests/syncobj_basic.c
@@ -223,7 +223,7 @@ igt_main
 {
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_ANY);
 		igt_require(has_syncobj(fd));
 	}
@@ -265,7 +265,7 @@ igt_main
 	igt_subtest("test-valid-cycle")
 		test_valid_cycle(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 
diff --git a/tests/syncobj_eventfd.c b/tests/syncobj_eventfd.c
index f8bf17e1f8ad..7ad0e62ad04d 100644
--- a/tests/syncobj_eventfd.c
+++ b/tests/syncobj_eventfd.c
@@ -281,7 +281,7 @@ igt_main
 {
 	int fd = -1, i;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_ANY);
 		igt_require(has_syncobj_eventfd(fd));
 		igt_require_sw_sync();
@@ -320,7 +320,7 @@ igt_main
 			test_wait_signaled(fd, use_timeline);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/syncobj_timeline.c b/tests/syncobj_timeline.c
index a77896ec1d20..7f09070d3412 100644
--- a/tests/syncobj_timeline.c
+++ b/tests/syncobj_timeline.c
@@ -1699,7 +1699,7 @@ igt_main
 {
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_ANY);
 		igt_require(has_syncobj_timeline_wait(fd));
 		igt_require_sw_sync();
@@ -1934,7 +1934,7 @@ igt_main
 	igt_subtest("32bits-limit")
 		test_32bits_limit(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/syncobj_wait.c b/tests/syncobj_wait.c
index e5f251205bc9..854e1711055d 100644
--- a/tests/syncobj_wait.c
+++ b/tests/syncobj_wait.c
@@ -909,7 +909,7 @@ igt_main
 {
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_ANY);
 		igt_require(has_syncobj_wait(fd));
 		igt_require_sw_sync();
@@ -1061,7 +1061,7 @@ igt_main
 	igt_subtest("wait-all-interrupted")
 		test_wait_interrupted(fd, WAIT_ALL);
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/template.c b/tests/template.c
index ae2681c01378..513125757109 100644
--- a/tests/template.c
+++ b/tests/template.c
@@ -47,7 +47,7 @@ static void test_B(int fd)
 }
 
 /*
- * Variables which are written to in igt_fixtures/subtest blocks need to be
+ * Variables which are written to in igt_fixture()s/subtest blocks need to be
  * allocated outside of the relevant function scope, otherwise gcc will wreak
  * havoc (since these magic blocks use setjmp/longjmp internally).
  *
@@ -60,7 +60,7 @@ int drm_fd;
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		drm_fd = drm_open_driver(DRIVER_ANY);
 
 		/* Set up other interesting stuff shared by all tests. */
@@ -75,7 +75,7 @@ igt_main
 	 * various uses of igt_subtest_f for a few neat ideas.
 	 */
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(drm_fd);
 	}
 }
diff --git a/tests/tools_test.c b/tests/tools_test.c
index 8412ba521df1..61e8a9998394 100644
--- a/tests/tools_test.c
+++ b/tests/tools_test.c
@@ -96,7 +96,7 @@ static bool chdir_to_tools_dir(void)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		char *path;
 
 		igt_require_f(chdir_to_tools_dir(),
diff --git a/tests/v3d/v3d_create_bo.c b/tests/v3d/v3d_create_bo.c
index 07d237e96786..daa928d3fdd2 100644
--- a/tests/v3d/v3d_create_bo.c
+++ b/tests/v3d/v3d_create_bo.c
@@ -12,7 +12,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_V3D);
 
 	igt_describe("Make sure a BO cannot be created with flags different than zero.");
@@ -66,6 +66,6 @@ igt_main
 		drm_close_driver(fd2);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/v3d/v3d_get_bo_offset.c b/tests/v3d/v3d_get_bo_offset.c
index 533488420190..717d91a528c2 100644
--- a/tests/v3d/v3d_get_bo_offset.c
+++ b/tests/v3d/v3d_get_bo_offset.c
@@ -30,7 +30,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_V3D);
 
 	igt_describe("Make sure the offset returned by the creation of the BO is "
@@ -66,6 +66,6 @@ igt_main
 		do_ioctl_err(fd, DRM_IOCTL_V3D_GET_BO_OFFSET, &get, ENOENT);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/v3d/v3d_get_param.c b/tests/v3d/v3d_get_param.c
index 0d8fbf3d6d67..55caa0f1dd9a 100644
--- a/tests/v3d/v3d_get_param.c
+++ b/tests/v3d/v3d_get_param.c
@@ -30,7 +30,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_V3D);
 
 	igt_describe("Sanity check for getting existent params.");
@@ -68,6 +68,6 @@ igt_main
 		do_ioctl_err(fd, DRM_IOCTL_V3D_GET_PARAM, &get, EINVAL);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/v3d/v3d_job_submission.c b/tests/v3d/v3d_job_submission.c
index e4ca7e89d6bf..522c0ff79d84 100644
--- a/tests/v3d/v3d_job_submission.c
+++ b/tests/v3d/v3d_job_submission.c
@@ -60,7 +60,7 @@ static void *create_csd_jobs(void *args)
 
 igt_main
 {
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_V3D);
 		igt_require(igt_v3d_get_param(fd, DRM_V3D_PARAM_SUPPORTS_CSD));
 		igt_require(igt_v3d_get_param(fd, DRM_V3D_PARAM_SUPPORTS_MULTISYNC_EXT));
@@ -218,6 +218,6 @@ igt_main
 		free(csd_jobs);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/v3d/v3d_mmap.c b/tests/v3d/v3d_mmap.c
index 642c55c659ee..c5ef39a6609b 100644
--- a/tests/v3d/v3d_mmap.c
+++ b/tests/v3d/v3d_mmap.c
@@ -30,7 +30,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_V3D);
 
 	igt_describe("Make sure that flags is equal to zero.");
@@ -74,6 +74,6 @@ igt_main
 		free(bo);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/v3d/v3d_perfmon.c b/tests/v3d/v3d_perfmon.c
index 4d6ea465f48e..1858888fe427 100644
--- a/tests/v3d/v3d_perfmon.c
+++ b/tests/v3d/v3d_perfmon.c
@@ -12,7 +12,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_V3D);
 		igt_require(igt_v3d_get_param(fd, DRM_V3D_PARAM_SUPPORTS_PERFMON));
 	}
@@ -141,6 +141,6 @@ igt_main
 		do_ioctl_err(fd, DRM_IOCTL_V3D_PERFMON_GET_VALUES, &get, EINVAL);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/v3d/v3d_submit_cl.c b/tests/v3d/v3d_submit_cl.c
index 293b146e296d..a4d79e4abf5e 100644
--- a/tests/v3d/v3d_submit_cl.c
+++ b/tests/v3d/v3d_submit_cl.c
@@ -31,7 +31,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_V3D);
 
 	igt_describe("Make sure a submission cannot be accepted with a pad different than zero.");
@@ -375,6 +375,6 @@ igt_main
 		igt_v3d_perfmon_destroy(fd, id);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/v3d/v3d_submit_csd.c b/tests/v3d/v3d_submit_csd.c
index 0e19913c6871..cf2026cef022 100644
--- a/tests/v3d/v3d_submit_csd.c
+++ b/tests/v3d/v3d_submit_csd.c
@@ -33,7 +33,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_V3D);
 		igt_require(igt_v3d_get_param(fd, DRM_V3D_PARAM_SUPPORTS_CSD));
 	}
@@ -359,6 +359,6 @@ igt_main
 		igt_v3d_perfmon_destroy(fd, id);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/v3d/v3d_wait_bo.c b/tests/v3d/v3d_wait_bo.c
index 6ed999426a6f..8754410261e5 100644
--- a/tests/v3d/v3d_wait_bo.c
+++ b/tests/v3d/v3d_wait_bo.c
@@ -29,7 +29,7 @@ igt_main
 	int fd;
 	struct v3d_bo *bo;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_V3D);
 		bo = igt_v3d_create_bo(fd, PAGE_SIZE);
 	}
@@ -120,7 +120,7 @@ igt_main
 		igt_v3d_free_cl_job(fd, job);
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_v3d_free_bo(fd, bo);
 		drm_close_driver(fd);
 	}
diff --git a/tests/vc4/vc4_create_bo.c b/tests/vc4/vc4_create_bo.c
index c67f626f9796..8c55d09e629f 100644
--- a/tests/vc4/vc4_create_bo.c
+++ b/tests/vc4/vc4_create_bo.c
@@ -28,7 +28,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_VC4);
 		igt_require(igt_vc4_is_v3d(fd));
 	}
@@ -75,6 +75,6 @@ igt_main
 		drm_close_driver(fd2);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/vc4/vc4_dmabuf_poll.c b/tests/vc4/vc4_dmabuf_poll.c
index 56f60b202b06..14976dacc731 100644
--- a/tests/vc4/vc4_dmabuf_poll.c
+++ b/tests/vc4/vc4_dmabuf_poll.c
@@ -59,7 +59,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_VC4);
 		igt_require(igt_vc4_is_v3d(fd));
 	}
@@ -72,6 +72,6 @@ igt_main
 		poll_write_bo_test(fd, POLLIN);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/vc4/vc4_label_bo.c b/tests/vc4/vc4_label_bo.c
index dc0ddaa15d55..1d1b134a1796 100644
--- a/tests/vc4/vc4_label_bo.c
+++ b/tests/vc4/vc4_label_bo.c
@@ -43,7 +43,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_VC4);
 		igt_require(igt_vc4_is_v3d(fd));
 	}
@@ -81,6 +81,6 @@ igt_main
 		gem_close(fd, handle);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/vc4/vc4_lookup_fail.c b/tests/vc4/vc4_lookup_fail.c
index 76b52ecf3ed4..be0b39ad9469 100644
--- a/tests/vc4/vc4_lookup_fail.c
+++ b/tests/vc4/vc4_lookup_fail.c
@@ -29,7 +29,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 		fd = drm_open_driver(DRIVER_VC4);
 
 	igt_subtest("bad-color-write") {
@@ -66,6 +66,6 @@ igt_main
 		do_ioctl_err(fd, DRM_IOCTL_VC4_SUBMIT_CL, &submit, EINVAL);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/vc4/vc4_mmap.c b/tests/vc4/vc4_mmap.c
index 7ca08811e396..511561c8e6df 100644
--- a/tests/vc4/vc4_mmap.c
+++ b/tests/vc4/vc4_mmap.c
@@ -12,7 +12,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_VC4);
 		igt_require(igt_vc4_is_v3d(fd));
 	}
@@ -48,6 +48,6 @@ igt_main
 		munmap(map, VC4_GPU_PAGE_SIZE);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/vc4/vc4_perfmon.c b/tests/vc4/vc4_perfmon.c
index b25e9209681e..646956747f97 100644
--- a/tests/vc4/vc4_perfmon.c
+++ b/tests/vc4/vc4_perfmon.c
@@ -12,7 +12,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_VC4);
 		igt_require(igt_vc4_is_v3d(fd));
 		igt_require(igt_vc4_get_param(fd, DRM_VC4_PARAM_SUPPORTS_PERFMON));
@@ -134,6 +134,6 @@ igt_main
 		do_ioctl_err(fd, DRM_IOCTL_VC4_PERFMON_GET_VALUES, &get, EINVAL);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/vc4/vc4_purgeable_bo.c b/tests/vc4/vc4_purgeable_bo.c
index 7e9ac1718934..294f193dfc36 100644
--- a/tests/vc4/vc4_purgeable_bo.c
+++ b/tests/vc4/vc4_purgeable_bo.c
@@ -101,7 +101,7 @@ igt_main
 	uint32_t *map;
 	int fd, ret;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_VC4);
 		igt_require(igt_vc4_get_param(fd, DRM_VC4_PARAM_SUPPORTS_MADVISE));
 		IGT_INIT_LIST_HEAD(&list);
@@ -248,6 +248,6 @@ igt_main
 		free(bo);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/vc4/vc4_tiling.c b/tests/vc4/vc4_tiling.c
index 923e210e7aad..f412a9fe896e 100644
--- a/tests/vc4/vc4_tiling.c
+++ b/tests/vc4/vc4_tiling.c
@@ -28,7 +28,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_VC4);
 		igt_require(igt_vc4_is_v3d(fd));
 	}
@@ -123,6 +123,6 @@ igt_main
 		gem_close(fd, bo);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/vc4/vc4_wait_bo.c b/tests/vc4/vc4_wait_bo.c
index 3f4fb4dc6990..d70e90118759 100644
--- a/tests/vc4/vc4_wait_bo.c
+++ b/tests/vc4/vc4_wait_bo.c
@@ -62,7 +62,7 @@ igt_main
 	int fd;
 	int bo_handle;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_VC4);
 		igt_require(igt_vc4_is_v3d(fd));
 		bo_handle = igt_vc4_create_bo(fd, VC4_GPU_PAGE_SIZE);
@@ -110,6 +110,6 @@ igt_main
 	igt_subtest("used-bo")
 		test_used_bo(fd, ~0ull);
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/vc4/vc4_wait_seqno.c b/tests/vc4/vc4_wait_seqno.c
index e029a613e58c..b390d76b55e6 100644
--- a/tests/vc4/vc4_wait_seqno.c
+++ b/tests/vc4/vc4_wait_seqno.c
@@ -28,7 +28,7 @@ igt_main
 {
 	int fd;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_VC4);
 		igt_require(igt_vc4_is_v3d(fd));
 	}
@@ -54,6 +54,6 @@ igt_main
 		do_ioctl_err(fd, DRM_IOCTL_VC4_WAIT_SEQNO, &arg, ETIME);
 	}
 
-	igt_fixture
+	igt_fixture()
 		drm_close_driver(fd);
 }
diff --git a/tests/vgem_basic.c b/tests/vgem_basic.c
index 048ad7460fea..96d0d77ad840 100644
--- a/tests/vgem_basic.c
+++ b/tests/vgem_basic.c
@@ -497,7 +497,7 @@ igt_main
 	igt_subtest("unload")
 		test_unload();
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_VGEM);
 	}
 
@@ -560,7 +560,7 @@ igt_main
 		test_busy_fence(fd);
 
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			igt_require(has_prime_export(fd));
 		}
 
@@ -575,7 +575,7 @@ igt_main
 			test_dmabuf_mmap(fd);
 
 		igt_subtest_group {
-			igt_fixture {
+			igt_fixture() {
 				igt_require(vgem_has_fences(fd));
 			}
 
@@ -598,7 +598,7 @@ igt_main
 	igt_subtest("debugfs")
 		test_debugfs_read(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/vgem_slow.c b/tests/vgem_slow.c
index 6609989c71e0..0e5ead6fa547 100644
--- a/tests/vgem_slow.c
+++ b/tests/vgem_slow.c
@@ -89,14 +89,14 @@ igt_main
 {
 	int fd = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		fd = drm_open_driver(DRIVER_VGEM);
 	}
 
 	igt_subtest_f("nohang")
 		test_nohang(fd);
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd);
 	}
 }
diff --git a/tests/vkms/vkms_configfs.c b/tests/vkms/vkms_configfs.c
index 04a86de43283..69ebb23ec4bf 100644
--- a/tests/vkms/vkms_configfs.c
+++ b/tests/vkms/vkms_configfs.c
@@ -1942,7 +1942,7 @@ igt_main
 		{ "enabled-connector-hot-plug", test_enabled_connector_hot_plug },
 	};
 
-	igt_fixture {
+	igt_fixture() {
 		drm_load_module(DRIVER_VKMS);
 		igt_require_vkms();
 		igt_require_vkms_configfs();
@@ -1954,7 +1954,7 @@ igt_main
 			tests[i].fn();
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		igt_require_vkms();
 		igt_require_vkms_configfs();
 		igt_vkms_destroy_all_devices();
diff --git a/tests/vmwgfx/vmw_execution_buffer.c b/tests/vmwgfx/vmw_execution_buffer.c
index 23c5f900d96e..4fcefe622cd6 100644
--- a/tests/vmwgfx/vmw_execution_buffer.c
+++ b/tests/vmwgfx/vmw_execution_buffer.c
@@ -252,7 +252,7 @@ igt_main_args("st:", long_options, NULL, parse_options, NULL)
 {
 	int fd;
 
-	igt_fixture
+	igt_fixture()
 	{
 		fd = drm_open_driver_render(DRIVER_VMWGFX);
 	}
@@ -287,7 +287,7 @@ igt_main_args("st:", long_options, NULL, parse_options, NULL)
 		}
 	}
 
-	igt_fixture
+	igt_fixture()
 	{
 		drm_close_driver(fd);
 	}
diff --git a/tests/vmwgfx/vmw_mob_stress.c b/tests/vmwgfx/vmw_mob_stress.c
index 2e6a9422c12f..cf229fb3b33d 100644
--- a/tests/vmwgfx/vmw_mob_stress.c
+++ b/tests/vmwgfx/vmw_mob_stress.c
@@ -52,7 +52,7 @@ igt_main
 	uint64 max_mob_mem;
 	uint64 max_mob_size;
 
-	igt_fixture
+	igt_fixture()
 	{
 		vmw_svga_device_init(&device, vmw_svga_device_node_render);
 		igt_require(device.drm_fd != -1);
@@ -97,7 +97,7 @@ igt_main
 		free(mob_objs);
 	}
 
-	igt_fixture
+	igt_fixture()
 	{
 		vmw_ioctl_context_destroy(device.drm_fd, cid);
 		vmw_svga_device_fini(&device);
diff --git a/tests/vmwgfx/vmw_prime.c b/tests/vmwgfx/vmw_prime.c
index 5c39ff1a4d45..4265a13943f0 100644
--- a/tests/vmwgfx/vmw_prime.c
+++ b/tests/vmwgfx/vmw_prime.c
@@ -508,7 +508,7 @@ igt_main
 	struct gpu_process_t gpu = { 0 };
 	int second_fd_vgem = -1;
 
-	igt_fixture {
+	igt_fixture() {
 		vmw_svga_device_init(&gpu.mdevice, vmw_svga_device_node_master);
 		vmw_svga_device_init(&gpu.rdevice, vmw_svga_device_node_render);
 		igt_require(gpu.mdevice.drm_fd != -1);
@@ -558,7 +558,7 @@ igt_main
 
 	igt_describe("VGEM subtests");
 	igt_subtest_group {
-		igt_fixture {
+		igt_fixture() {
 			second_fd_vgem =
 				__drm_open_driver_another(1, DRIVER_VGEM);
 			igt_require(second_fd_vgem >= 0);
@@ -570,12 +570,12 @@ igt_main
 			test_vgem(&gpu, second_fd_vgem);
 		}
 
-		igt_fixture {
+		igt_fixture() {
 			drm_close_driver(second_fd_vgem);
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		vmw_ioctl_context_destroy(gpu.rdevice.drm_fd, gpu.cid);
 		igt_display_fini(&gpu.display);
 		vmw_svga_device_fini(&gpu.rdevice);
diff --git a/tests/vmwgfx/vmw_ref_count.c b/tests/vmwgfx/vmw_ref_count.c
index c74940e0201c..40f46588bce7 100644
--- a/tests/vmwgfx/vmw_ref_count.c
+++ b/tests/vmwgfx/vmw_ref_count.c
@@ -92,7 +92,7 @@ igt_main
 	const uint32 size = sizeof(data);
 	SVGA3dSize surface_size = { .width = size, .height = 1, .depth = 1 };
 
-	igt_fixture
+	igt_fixture()
 	{
 		fd1 = drm_open_driver_render(DRIVER_VMWGFX);
 		fd2 = drm_open_driver_render(DRIVER_VMWGFX);
@@ -445,7 +445,7 @@ igt_main
 		}
 	}
 
-	igt_fixture {
+	igt_fixture() {
 		drm_close_driver(fd1);
 		drm_close_driver(fd2);
 	}
diff --git a/tests/vmwgfx/vmw_surface_copy.c b/tests/vmwgfx/vmw_surface_copy.c
index 471de54aa876..7c44be1c25bb 100644
--- a/tests/vmwgfx/vmw_surface_copy.c
+++ b/tests/vmwgfx/vmw_surface_copy.c
@@ -311,7 +311,7 @@ igt_main
 	int fd;
 	int32 cid;
 
-	igt_fixture
+	igt_fixture()
 	{
 		fd = drm_open_driver_render(DRIVER_VMWGFX);
 		igt_require(fd != -1);
@@ -333,7 +333,7 @@ igt_main
 		test_invalid_copies_3d(fd, cid);
 	}
 
-	igt_fixture
+	igt_fixture()
 	{
 		vmw_ioctl_context_destroy(fd, cid);
 		drm_close_driver(fd);
diff --git a/tests/vmwgfx/vmw_tri.c b/tests/vmwgfx/vmw_tri.c
index 1cb54707a2d3..4c79e5e2152a 100644
--- a/tests/vmwgfx/vmw_tri.c
+++ b/tests/vmwgfx/vmw_tri.c
@@ -185,7 +185,7 @@ igt_main
 	struct vmw_svga_device device;
 	int32 cid;
 
-	igt_fixture
+	igt_fixture()
 	{
 		vmw_svga_device_init(&device, vmw_svga_device_node_render);
 		igt_require(device.drm_fd != -1);
@@ -233,7 +233,7 @@ igt_main
 		vmw_ioctl_mob_close_handle(device.drm_fd, mob);
 	}
 
-	igt_fixture
+	igt_fixture()
 	{
 		vmw_svga_device_fini(&device);
 	}
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH i-g-t 2/7] igt: Make igt_subtest_group look like an iterator
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
  2025-11-20 19:14 ` [PATCH i-g-t 1/7] igt: Make igt_fixture look like an iterator Ville Syrjala
@ 2025-11-20 19:14 ` Ville Syrjala
  2025-11-20 19:14 ` [PATCH i-g-t 3/7] igt: Make igt_main look more like a function Ville Syrjala
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 29+ messages in thread
From: Ville Syrjala @ 2025-11-20 19:14 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Turn igt_subtest_group into igt_subtest_group(). This allows coccinelle
to parse it when given a helping hand with the
'iterator name igt_subtest_group' directive.

Conversion done via:
$ find -type f -name \*.[ch] -exec sed -i 's/igt_subtest_group\([^_(]\|$\)/igt_subtest_group()\1/g' {} +

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 lib/igt_core.c                         |  8 ++--
 lib/igt_core.h                         | 14 +++----
 lib/tests/igt_audio.c                  |  2 +-
 lib/tests/igt_describe.c               |  6 +--
 lib/tests/igt_hook.c                   |  2 +-
 lib/tests/igt_nesting.c                |  6 +--
 lib/tests/igt_subtest_group.c          |  8 ++--
 lib/tests/igt_types.c                  |  8 ++--
 runner/runner_kmemleak_test.c          |  2 +-
 runner/runner_tests.c                  | 56 +++++++++++++-------------
 tests/chamelium/kms_chamelium_audio.c  |  4 +-
 tests/chamelium/kms_chamelium_color.c  |  2 +-
 tests/chamelium/kms_chamelium_edid.c   |  6 +--
 tests/chamelium/kms_chamelium_frames.c |  6 +--
 tests/chamelium/kms_chamelium_hpd.c    |  8 ++--
 tests/core_auth.c                      |  2 +-
 tests/core_hotunplug.c                 | 16 ++++----
 tests/core_setmaster.c                 |  2 +-
 tests/device_reset.c                   |  2 +-
 tests/fbdev.c                          |  4 +-
 tests/intel/gem_busy.c                 | 12 +++---
 tests/intel/gem_concurrent_all.c       | 18 ++++-----
 tests/intel/gem_create.c               |  2 +-
 tests/intel/gem_ctx_exec.c             |  2 +-
 tests/intel/gem_ctx_param.c            |  2 +-
 tests/intel/gem_ctx_persistence.c      |  6 +--
 tests/intel/gem_ctx_shared.c           |  6 +--
 tests/intel/gem_ctx_sseu.c             |  2 +-
 tests/intel/gem_ctx_switch.c           |  6 +--
 tests/intel/gem_eio.c                  |  6 +--
 tests/intel/gem_exec_async.c           |  2 +-
 tests/intel/gem_exec_balancer.c        | 10 ++---
 tests/intel/gem_exec_endless.c         |  2 +-
 tests/intel/gem_exec_fence.c           | 16 ++++----
 tests/intel/gem_exec_flush.c           |  2 +-
 tests/intel/gem_exec_latency.c         |  4 +-
 tests/intel/gem_exec_nop.c             |  4 +-
 tests/intel/gem_exec_reloc.c           |  4 +-
 tests/intel/gem_exec_schedule.c        | 18 ++++-----
 tests/intel/gem_exec_whisper.c         |  2 +-
 tests/intel/gem_linear_blits.c         |  2 +-
 tests/intel/gem_mmap_gtt.c             |  2 +-
 tests/intel/gem_mmap_wc.c              |  2 +-
 tests/intel/gem_ppgtt.c                |  2 +-
 tests/intel/gem_pxp.c                  | 10 ++---
 tests/intel/gem_reset_stats.c          |  2 +-
 tests/intel/gem_softpin.c              |  4 +-
 tests/intel/gem_spin_batch.c           |  2 +-
 tests/intel/gem_sync.c                 |  2 +-
 tests/intel/gem_tiled_blits.c          |  2 +-
 tests/intel/gem_tiled_fence_blits.c    |  2 +-
 tests/intel/gem_userptr_blits.c        |  8 ++--
 tests/intel/gem_vm_create.c            |  2 +-
 tests/intel/gem_wait.c                 |  4 +-
 tests/intel/gem_watchdog.c             |  2 +-
 tests/intel/gem_workarounds.c          |  2 +-
 tests/intel/gen7_exec_parse.c          |  2 +-
 tests/intel/i915_drm_fdinfo.c          |  2 +-
 tests/intel/i915_pm_rc6_residency.c    |  2 +-
 tests/intel/i915_query.c               |  2 +-
 tests/intel/kms_frontbuffer_tracking.c |  2 +-
 tests/intel/kms_joiner.c               |  8 ++--
 tests/intel/perf.c                     |  6 +--
 tests/intel/perf_pmu.c                 |  6 +--
 tests/intel/prime_busy.c               |  2 +-
 tests/intel/xe_eudebug.c               |  4 +-
 tests/intel/xe_eudebug_online.c        |  2 +-
 tests/intel/xe_exec_queue_property.c   |  2 +-
 tests/intel/xe_exec_sip_eudebug.c      |  4 +-
 tests/intel/xe_mmap.c                  |  2 +-
 tests/intel/xe_oa.c                    | 10 ++---
 tests/intel/xe_pmu.c                   |  8 ++--
 tests/intel/xe_pxp.c                   |  8 ++--
 tests/kms_addfb_basic.c                | 16 ++++----
 tests/kms_async_flips.c                |  2 +-
 tests/kms_color.c                      |  4 +-
 tests/kms_content_protection.c         |  4 +-
 tests/kms_cursor_crc.c                 |  6 +--
 tests/kms_cursor_legacy.c              | 18 ++++-----
 tests/kms_feature_discovery.c          |  4 +-
 tests/kms_getfb.c                      |  8 ++--
 tests/kms_lease.c                      |  4 +-
 tests/kms_plane_scaling.c              |  4 +-
 tests/kms_prime.c                      |  4 +-
 tests/kms_properties.c                 |  6 +--
 tests/kms_vrr.c                        |  2 +-
 tests/prime_vgem.c                     |  6 +--
 tests/vgem_basic.c                     |  4 +-
 tests/vmwgfx/vmw_prime.c               |  2 +-
 89 files changed, 253 insertions(+), 253 deletions(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index 190f59c3411a..94236bf2ee87 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -122,7 +122,7 @@
  * of subtests and automatically skips the subtest code blocks themselves. For
  * special cases igt_only_list_subtests() is also provided. For setup code only
  * shared by a group of subtest encapsulate the #igt_fixture() block and all the
- * subtestest in a #igt_subtest_group block.
+ * subtestest in a #igt_subtest_group() block.
  *
  * # Magic Control Blocks
  *
@@ -1500,7 +1500,7 @@ bool __igt_run_subtest(const char *subtest_name, const char *file, const int lin
 {
 	internal_assert(!igt_can_fail(),
 			"igt_subtest can be nested only in igt_main"
-			" or igt_subtest_group\n");
+			" or igt_subtest_group()\n");
 
 	if (!valid_name_for_subtest(subtest_name)) {
 		igt_critical("Invalid subtest name \"%s\".\n",
@@ -1627,7 +1627,7 @@ bool igt_only_list_subtests(void)
 void __igt_subtest_group_save(int *save, int *desc)
 {
 	internal_assert(test_with_subtests,
-			"igt_subtest_group is not allowed in igt_simple_main\n");
+			"igt_subtest_group() is not allowed in igt_simple_main\n");
 
 	if (__current_description[0] != '\0') {
 		struct description_node *new = calloc(1, sizeof(*new));
@@ -1992,7 +1992,7 @@ bool igt_can_fail(void)
  * @fmt: format string containing description
  * @...: argument used by the format string
  *
- * Attach a description to the following #igt_subtest or #igt_subtest_group
+ * Attach a description to the following #igt_subtest or #igt_subtest_group()
  * block.
  *
  * Check #igt_describe for more details.
diff --git a/lib/igt_core.h b/lib/igt_core.h
index e03df8888453..422711b5e372 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -388,7 +388,7 @@ bool igt_only_list_subtests(void);
 void __igt_subtest_group_save(int *, int *);
 void __igt_subtest_group_restore(int, int);
 /**
- * igt_subtest_group:
+ * igt_subtest_group():
  *
  * Group a set of subtests together with their common setup code
  *
@@ -402,7 +402,7 @@ void __igt_subtest_group_restore(int, int);
  * clauses. If any common setup in a fixture fails, only the subtests in this
  * group will fail or skip. Subtest groups can be arbitrarily nested.
  */
-#define igt_subtest_group for (int igt_unique(__tmpint) = 0, \
+#define igt_subtest_group() for (int igt_unique(__tmpint) = 0, \
 			       igt_unique(__save) = 0, \
 			       igt_unique(__desc) = 0; \
 			       igt_unique(__tmpint) < 1 && \
@@ -556,7 +556,7 @@ void igt_describe_f(const char *fmt, ...);
  * igt_describe:
  * @dsc: string containing description
  *
- * Attach a description to the following #igt_subtest or #igt_subtest_group
+ * Attach a description to the following #igt_subtest or #igt_subtest_group()
  * block.
  *
  * The description should complement the test/subtest name and provide more
@@ -588,7 +588,7 @@ void igt_describe_f(const char *fmt, ...);
  *
  *
  * Resulting #igt_subtest documentation is a concatenation of its own
- * description and all the parenting #igt_subtest_group descriptions, starting
+ * description and all the parenting #igt_subtest_group() descriptions, starting
  * from the outermost one. Example:
  *
  * |[<!-- language="C" -->
@@ -598,7 +598,7 @@ void igt_describe_f(const char *fmt, ...);
  * igt_main
  * {
  * 	igt_describe("Desc of the subgroup with A and B");
- * 	igt_subtest_group {
+ * 	igt_subtest_group() {
  * 		igt_describe("Desc of the subtest A");
  * 		igt_subtest("subtest-a") {
  * 			...
@@ -638,7 +638,7 @@ void igt_describe_f(const char *fmt, ...);
  * ]|
  *
  * Every single #igt_subtest does not have to be preceded with a #igt_describe
- * as long as it has good-enough explanation provided on the #igt_subtest_group
+ * as long as it has good-enough explanation provided on the #igt_subtest_group()
  * level.
  *
  * Example:
@@ -649,7 +649,7 @@ void igt_describe_f(const char *fmt, ...);
  * igt_main
  * {
  * 	igt_describe("check xyz with different tilings");
- * 	igt_subtest_group {
+ * 	igt_subtest_group() {
  * 		// no need for extra description, group is enough and tiling is
  * 		// obvious from the test name
  * 		igt_subtest("foo-tiling-x") {
diff --git a/lib/tests/igt_audio.c b/lib/tests/igt_audio.c
index 7716ef28c9f4..c559f2e16a07 100644
--- a/lib/tests/igt_audio.c
+++ b/lib/tests/igt_audio.c
@@ -180,7 +180,7 @@ igt_main
 	int ret;
 	size_t i;
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			signal = audio_signal_init(CHANNELS, SAMPLING_RATE);
 
diff --git a/lib/tests/igt_describe.c b/lib/tests/igt_describe.c
index 54bd729ad1f4..2a09809296ec 100644
--- a/lib/tests/igt_describe.c
+++ b/lib/tests/igt_describe.c
@@ -46,7 +46,7 @@ __noreturn static void fake_main(void)
 		printf("should not be executed!\n");
 
 	igt_describe("Group with B, C & D");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Basic B");
 		igt_subtest("B")
 			;
@@ -55,7 +55,7 @@ __noreturn static void fake_main(void)
 			printf("should not be executed!\n");
 
 		igt_describe("Group with C & D");
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_describe("Basic C");
 			igt_subtest("C")
 				printf("should not be executed!\n");
@@ -67,7 +67,7 @@ __noreturn static void fake_main(void)
 	}
 
 	// NO DOC
-	igt_subtest_group {
+	igt_subtest_group() {
 		// NO DOC
 		igt_subtest("E")
 			;
diff --git a/lib/tests/igt_hook.c b/lib/tests/igt_hook.c
index 90b4657af3cb..b5d820c94ae0 100644
--- a/lib/tests/igt_hook.c
+++ b/lib/tests/igt_hook.c
@@ -156,7 +156,7 @@ igt_main
 	igt_subtest("help-description")
 		test_print_help();
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require_f(system(NULL), "Shell seems not to be available\n");
 		}
diff --git a/lib/tests/igt_nesting.c b/lib/tests/igt_nesting.c
index 16ffbaf6ebd1..526c7a75ab9e 100644
--- a/lib/tests/igt_nesting.c
+++ b/lib/tests/igt_nesting.c
@@ -47,8 +47,8 @@ __noreturn static void all_valid(void)
 	igt_fixture() {
 	}
 
-	igt_subtest_group {
-		igt_subtest_group {
+	igt_subtest_group() {
+		igt_subtest_group() {
 		}
 
 		igt_fixture() {
@@ -101,7 +101,7 @@ __noreturn static void invalid_subtest_group_in_simple_test(void)
 {
 	igt_simple_init(fake_argc, fake_argv);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 	}
 
 	igt_exit();
diff --git a/lib/tests/igt_subtest_group.c b/lib/tests/igt_subtest_group.c
index e42b1ef1305e..3568276dee71 100644
--- a/lib/tests/igt_subtest_group.c
+++ b/lib/tests/igt_subtest_group.c
@@ -36,12 +36,12 @@ igt_main
 	volatile bool t1 = false;
 	volatile int t2 = 0;
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(true);
 		}
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				igt_require(false);
 			}
@@ -50,7 +50,7 @@ igt_main
 				internal_assert(0);
 			}
 
-			igt_subtest_group {
+			igt_subtest_group() {
 				/* need to make sure we don't accidentally
 				 * restore to "run testcases" when an outer
 				 * group is already in SKIP state. */
@@ -66,7 +66,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			internal_assert(t2 == 0);
 			t2 = 1;
diff --git a/lib/tests/igt_types.c b/lib/tests/igt_types.c
index eb05393616bf..e75a77157cda 100644
--- a/lib/tests/igt_types.c
+++ b/lib/tests/igt_types.c
@@ -73,7 +73,7 @@ igt_main
 
 	/* But not before we go out of scope! */
 	cleanup_called = 0;
-	igt_subtest_group {
+	igt_subtest_group() {
 		scoped_int_t(x);
 
 		igt_fixture() {
@@ -112,7 +112,7 @@ igt_main
 	 * will get cleanup on the outer scope.
 	 */
 	cleanup_called = 0;
-	igt_subtest_group {
+	igt_subtest_group() {
 		scoped_int_t(x);
 
 		igt_describe("Check skipping a subtest group");
@@ -131,7 +131,7 @@ igt_main
 		igt_assert(cleanup_called);
 
 	cleanup_called = 0;
-	igt_subtest_group
+	igt_subtest_group()
 		delegate();
 	igt_describe("Check cleanup after group delegation");
 	igt_subtest("cleanup-after-group-delegation")
@@ -145,7 +145,7 @@ igt_main
 		igt_assert(cleanup_called);
 
 	cleanup_called = 0;
-	igt_subtest_group
+	igt_subtest_group()
 		skip_delegate();
 	igt_describe("Check cleanup after skipping group delegation");
 	igt_subtest("cleanup-after-group-skipped-delegation")
diff --git a/runner/runner_kmemleak_test.c b/runner/runner_kmemleak_test.c
index 8030ff621c62..31b0e3b91b32 100644
--- a/runner/runner_kmemleak_test.c
+++ b/runner/runner_kmemleak_test.c
@@ -246,7 +246,7 @@ igt_main
 		igt_assert(runner_kmemleak_init(unit_testing_kmemleak_filepath));
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_subtest("test_runner_kmemleak_once")
 			igt_assert(runner_kmemleak(NULL, resdirfd, false, true));
 
diff --git a/runner/runner_tests.c b/runner/runner_tests.c
index b360cdd8bfcf..bdba0bdd2077 100644
--- a/runner/runner_tests.c
+++ b/runner/runner_tests.c
@@ -16,7 +16,7 @@
 
 /*
  * NOTE: this test is using a lot of variables that are changed in igt_fixture(),
- * igt_subtest_group and igt_subtests blocks but defined outside of them.
+ * igt_subtest_group() and igt_subtests blocks but defined outside of them.
  *
  * Such variables have to be either non-local or volatile, otherwise their
  * contents is undefined due to longjmps the framework performs.
@@ -323,7 +323,7 @@ igt_main
 		igt_assert_eq(settings->dmesg_warn_level, 4);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char *cwd;
 		char *path;
 
@@ -355,7 +355,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const char tmptestlist[] = "tmp.testlist";
 		char dirname[] = "tmpdirXXXXXX";
 		char pathtotestlist[64];
@@ -757,7 +757,7 @@ igt_main
 		igt_assert(settings->sync);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char filename[] = "tmplistXXXXXX";
 
 		igt_fixture() {
@@ -798,7 +798,7 @@ igt_main
 		igt_assert(!validate_settings(settings));
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char dirname[] = "tmpdirXXXXXX";
 		struct job_list *list = malloc(sizeof(*list));
 
@@ -833,7 +833,7 @@ igt_main
 	job_list_filter_test("piglit-names", "-t", "igt@successtest", 2, 1);
 	job_list_filter_test("piglit-names-subtest", "-t", "igt@successtest@first", 1, 1);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char filename[] = "tmplistXXXXXX";
 		const char testlisttext[] = "igt@successtest@first-subtest\n"
 			"igt@successtest@second-subtest\n"
@@ -903,7 +903,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char filename[] = "tmplistXXXXXX";
 		const char testlisttext[] = "igt@dynamic@dynamic-subtest@passing\n"
 			"igt@dynamic@dynamic-subtest@failing\n"
@@ -963,7 +963,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char dirname[] = "tmpdirXXXXXX";
 		volatile int dirfd = -1, fd = -1;
 		struct settings *cmp_settings = malloc(sizeof(*cmp_settings));
@@ -1028,7 +1028,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char dirname[] = "tmpdirXXXXXX";
 		volatile int dirfd = -1, fd = -1;
 		struct job_list *list, *cmp_list;
@@ -1086,7 +1086,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char dirname[] = "tmpdirXXXXXX";
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
@@ -1170,7 +1170,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char dirname[] = "tmpdirXXXXXX";
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, fd = -1;
@@ -1219,7 +1219,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char dirname[] = "tmpdirXXXXXX";
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
@@ -1276,7 +1276,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char dirname[] = "tmpdirXXXXXX";
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
@@ -1332,7 +1332,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char dirname[] = "tmpdirXXXXXX";
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
@@ -1388,7 +1388,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char dirname[] = "tmpdirXXXXXX";
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
@@ -1444,7 +1444,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char dirname[] = "tmpdirXXXXXX";
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
@@ -1503,7 +1503,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		char dirname[] = "tmpdirXXXXXX";
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
@@ -1563,7 +1563,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
 		int multiple;
@@ -1633,7 +1633,7 @@ igt_main
 			free(list);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_subtest("metadata-read-old-style-infer-dmesg-warn-piglit-style") {
 			char metadata[] = "piglit_style_dmesg : 1\n";
 			FILE *f = fmemopen(metadata, strlen(metadata), "r");
@@ -1699,7 +1699,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1, subdirfd = -1, fd = -1;
 		int multiple;
@@ -1786,7 +1786,7 @@ igt_main
 			free(list);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const char testlisttext[] = "igt@dynamic@dynamic-subtest@passing\n";
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1;
@@ -1849,7 +1849,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const char testlisttext[] = "igt@successtest";
 		const char blocktext[] = "igt@successtest@first";
 		const char blocktext_upper[] = "igt@successTEST@first";
@@ -1944,7 +1944,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1;
 		char dirname[] = "tmpdirXXXXXX";
@@ -1990,7 +1990,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1;
 		char dirname[] = "tmpdirXXXXXX";
@@ -2036,7 +2036,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1;
 
@@ -2092,7 +2092,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1;
 
@@ -2152,7 +2152,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1;
 
@@ -2215,7 +2215,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct job_list *list = malloc(sizeof(*list));
 		volatile int dirfd = -1;
 
diff --git a/tests/chamelium/kms_chamelium_audio.c b/tests/chamelium/kms_chamelium_audio.c
index c7eabdf4f367..b296bdf7ef0a 100644
--- a/tests/chamelium/kms_chamelium_audio.c
+++ b/tests/chamelium/kms_chamelium_audio.c
@@ -859,7 +859,7 @@ igt_main
 	}
 
 	igt_describe("DisplayPort tests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_DisplayPort,
@@ -877,7 +877,7 @@ igt_main
 	}
 
 	igt_describe("HDMI tests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_HDMIA,
diff --git a/tests/chamelium/kms_chamelium_color.c b/tests/chamelium/kms_chamelium_color.c
index 3d5be31c3de7..4658678ae693 100644
--- a/tests/chamelium/kms_chamelium_color.c
+++ b/tests/chamelium/kms_chamelium_color.c
@@ -763,7 +763,7 @@ igt_main
 		kmstest_set_vt_graphics_mode();
 	}
 
-	igt_subtest_group
+	igt_subtest_group()
 		run_tests_for_pipe(&data);
 
 	igt_fixture() {
diff --git a/tests/chamelium/kms_chamelium_edid.c b/tests/chamelium/kms_chamelium_edid.c
index 44ddd302db71..9e21a68f7db8 100644
--- a/tests/chamelium/kms_chamelium_edid.c
+++ b/tests/chamelium/kms_chamelium_edid.c
@@ -530,7 +530,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	}
 
 	igt_describe("DisplayPort tests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_DisplayPort,
@@ -584,7 +584,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	}
 
 	igt_describe("HDMI tests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_HDMIA,
@@ -632,7 +632,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	}
 
 	igt_describe("VGA tests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_VGA,
diff --git a/tests/chamelium/kms_chamelium_frames.c b/tests/chamelium/kms_chamelium_frames.c
index e16a2eb58f07..5194938b7564 100644
--- a/tests/chamelium/kms_chamelium_frames.c
+++ b/tests/chamelium/kms_chamelium_frames.c
@@ -995,7 +995,7 @@ igt_main
 	}
 
 	igt_describe("DisplayPort tests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_DisplayPort,
@@ -1023,7 +1023,7 @@ igt_main
 	}
 
 	igt_describe("HDMI tests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_HDMIA,
@@ -1136,7 +1136,7 @@ igt_main
 	}
 
 	igt_describe("VGA tests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_VGA,
diff --git a/tests/chamelium/kms_chamelium_hpd.c b/tests/chamelium/kms_chamelium_hpd.c
index f475e0ed8f14..078166cbd955 100644
--- a/tests/chamelium/kms_chamelium_hpd.c
+++ b/tests/chamelium/kms_chamelium_hpd.c
@@ -471,7 +471,7 @@ igt_main
 	}
 
 	igt_describe("DisplayPort tests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_DisplayPort,
@@ -523,7 +523,7 @@ igt_main
 	}
 
 	igt_describe("HDMI tests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_HDMIA,
@@ -575,7 +575,7 @@ igt_main
 	}
 
 	igt_describe("VGA tests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			chamelium_require_connector_present(
 				data.ports, DRM_MODE_CONNECTOR_VGA,
@@ -616,7 +616,7 @@ igt_main
 	}
 
 	igt_describe("Tests that operate on all connectors");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(data.port_count);
 		}
diff --git a/tests/core_auth.c b/tests/core_auth.c
index ef9cd2c1c3d5..2cdaa2f2bec6 100644
--- a/tests/core_auth.c
+++ b/tests/core_auth.c
@@ -241,7 +241,7 @@ igt_main
 	}
 
 	/* above tests require that no drm fd is open */
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fd_t(master);
 
 		igt_fixture()
diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
index fe8cefd1769c..9d8d3f1302bc 100644
--- a/tests/core_hotunplug.c
+++ b/tests/core_hotunplug.c
@@ -715,7 +715,7 @@ igt_main
 		prepare(&priv);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Check if the driver can be cleanly unbound from a device believed to be closed, then rebound");
 		igt_subtest("unbind-rebind")
 			unbind_rebind(&priv);
@@ -727,7 +727,7 @@ igt_main
 	igt_fixture()
 		post_healthcheck(&priv);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Check if a device believed to be closed can be cleanly unplugged, then restored");
 		igt_subtest("unplug-rescan")
 			unplug_rescan(&priv);
@@ -739,7 +739,7 @@ igt_main
 	igt_fixture()
 		post_healthcheck(&priv);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Check if the driver can be cleanly unbound from an open device, then released and rebound");
 		igt_subtest("hotunbind-rebind")
 			hotunbind_rebind(&priv);
@@ -751,7 +751,7 @@ igt_main
 	igt_fixture()
 		post_healthcheck(&priv);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Check if an open device can be cleanly unplugged, then released and restored");
 		igt_subtest("hotunplug-rescan")
 			hotunplug_rescan(&priv);
@@ -763,7 +763,7 @@ igt_main
 	igt_fixture()
 		post_healthcheck(&priv);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Check if the driver can be cleanly rebound to a device with a still open hot unbound driver instance");
 		igt_subtest("hotrebind")
 			hotrebind(&priv);
@@ -775,7 +775,7 @@ igt_main
 	igt_fixture()
 		post_healthcheck(&priv);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Check if a hot unplugged and still open device can be cleanly restored");
 		igt_subtest("hotreplug")
 			hotreplug(&priv);
@@ -787,7 +787,7 @@ igt_main
 	igt_fixture()
 		post_healthcheck(&priv);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Check if a hot unbound driver instance still open after hot rebind can be cleanly released");
 		igt_subtest("hotrebind-lateclose")
 			hotrebind_lateclose(&priv);
@@ -799,7 +799,7 @@ igt_main
 	igt_fixture()
 		post_healthcheck(&priv);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Check if an instance of a still open while hot replugged device can be cleanly released");
 		igt_subtest("hotreplug-lateclose")
 			hotreplug_lateclose(&priv);
diff --git a/tests/core_setmaster.c b/tests/core_setmaster.c
index a929b7f5187f..7f6373c73780 100644
--- a/tests/core_setmaster.c
+++ b/tests/core_setmaster.c
@@ -150,7 +150,7 @@ igt_main
 	}
 
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		uint8_t saved_perm;
 		char buf[255];
 
diff --git a/tests/device_reset.c b/tests/device_reset.c
index 2c25ed79afc0..8ef7792003de 100644
--- a/tests/device_reset.c
+++ b/tests/device_reset.c
@@ -470,7 +470,7 @@ igt_main
 	}
 
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Unbinds driver from device, initiates cold reset"
 			     " then rebinds driver to device");
 		igt_subtest("unbind-cold-reset-rebind") {
diff --git a/tests/fbdev.c b/tests/fbdev.c
index cd478add5411..387b99660fb5 100644
--- a/tests/fbdev.c
+++ b/tests/fbdev.c
@@ -470,12 +470,12 @@ igt_main
 	}
 
 	igt_describe("Check modesetting");
-	igt_subtest_group {
+	igt_subtest_group() {
 		mode_tests(fd);
 	}
 
 	igt_describe("Check framebuffer access");
-	igt_subtest_group {
+	igt_subtest_group() {
 		framebuffer_tests(fd);
 	}
 
diff --git a/tests/intel/gem_busy.c b/tests/intel/gem_busy.c
index ffeba1d44a1a..16831aee0ba1 100644
--- a/tests/intel/gem_busy.c
+++ b/tests/intel/gem_busy.c
@@ -481,7 +481,7 @@ igt_main
 		ctx = intel_ctx_create_all_physical(fd);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			intel_allocator_multiprocess_start();
 			igt_fork_hang_detector(fd);
@@ -514,12 +514,12 @@ igt_main
 	}
 
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_fork_hang_detector(fd);
 		}
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				igt_require(has_extended_busy_ioctl(fd));
 				gem_require_mmap_device_coherent(fd);
@@ -543,7 +543,7 @@ igt_main
 			}
 		}
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				igt_require(has_extended_busy_ioctl(fd));
 				igt_require(has_semaphores(fd));
@@ -564,7 +564,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_hang_t hang;
 
 		igt_fixture() {
@@ -579,7 +579,7 @@ igt_main
 			gem_quiescent_gpu(fd);
 		}
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				igt_require(has_extended_busy_ioctl(fd));
 				gem_require_mmap_device_coherent(fd);
diff --git a/tests/intel/gem_concurrent_all.c b/tests/intel/gem_concurrent_all.c
index ede34f698d7d..5235de888b38 100644
--- a/tests/intel/gem_concurrent_all.c
+++ b/tests/intel/gem_concurrent_all.c
@@ -1577,7 +1577,7 @@ run_mode(const char *prefix,
 				igt_fork_hang_detector(fd);
 
 		for (p = all ? pipelines : pskip; p->prefix; p++) {
-			igt_subtest_group  {
+			igt_subtest_group()  {
 				igt_fixture() p->require();
 
 				igt_subtest_f("%s-%s-%s-sanitycheck0%s%s", prefix, mode->name, p->prefix, suffix, h->suffix) {
@@ -1735,7 +1735,7 @@ run_modes(const char *style,
 	};
 
 	while (mode->name) {
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				if (mode->require)
 					mode->require(create, num);
@@ -1920,7 +1920,7 @@ igt_main
 			/* Minimum test set */
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "tiny");
-			igt_subtest_group {
+			igt_subtest_group() {
 				igt_fixture() {
 					count = num_buffers(0, s, c, CHECK_RAM);
 				}
@@ -1930,7 +1930,7 @@ igt_main
 			/* "Average" test set */
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "small");
-			igt_subtest_group {
+			igt_subtest_group() {
 				igt_fixture() {
 					count = num_buffers(gem_mappable_aperture_size(fd)/4,
 							    s, c, CHECK_RAM);
@@ -1941,7 +1941,7 @@ igt_main
 			/* Use the entire mappable aperture */
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "thrash");
-			igt_subtest_group {
+			igt_subtest_group() {
 				igt_fixture() {
 					count = num_buffers(gem_mappable_aperture_size(fd),
 							    s, c, CHECK_RAM);
@@ -1952,7 +1952,7 @@ igt_main
 			/* Use the entire global GTT */
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "global");
-			igt_subtest_group {
+			igt_subtest_group() {
 				igt_fixture() {
 					count = num_buffers(gem_global_aperture_size(fd),
 							    s, c, CHECK_RAM);
@@ -1963,7 +1963,7 @@ igt_main
 			/* Use the entire per-process GTT */
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "full");
-			igt_subtest_group {
+			igt_subtest_group() {
 				igt_fixture() {
 					count = num_buffers(gem_aperture_size(fd),
 							    s, c, CHECK_RAM);
@@ -1973,7 +1973,7 @@ igt_main
 
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "shrink");
-			igt_subtest_group {
+			igt_subtest_group() {
 				igt_fixture() {
 					count = num_buffers(gem_mappable_aperture_size(fd),
 							    s, c, CHECK_RAM);
@@ -1989,7 +1989,7 @@ igt_main
 			/* Use the entire mappable aperture, force swapping */
 			snprintf(name, sizeof(name), "%s%s-%s",
 				 c->name, s->name, "swap");
-			igt_subtest_group {
+			igt_subtest_group() {
 				igt_fixture() {
 					if (igt_get_avail_ram_mb() > gem_mappable_aperture_size(fd)/(1024*1024)) {
 						pin_sz = igt_get_avail_ram_mb() - gem_mappable_aperture_size(fd)/(1024*1024);
diff --git a/tests/intel/gem_create.c b/tests/intel/gem_create.c
index 7d80b2707382..4253a055f0e8 100644
--- a/tests/intel/gem_create.c
+++ b/tests/intel/gem_create.c
@@ -984,7 +984,7 @@ igt_main
 	}
 
 	igt_describe("Create buffer objects while GPU is busy.");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture()
 			igt_fork_hang_detector(fd);
 
diff --git a/tests/intel/gem_ctx_exec.c b/tests/intel/gem_ctx_exec.c
index f5fa2938eed1..025f25a20e8b 100644
--- a/tests/intel/gem_ctx_exec.c
+++ b/tests/intel/gem_ctx_exec.c
@@ -540,7 +540,7 @@ igt_main
 
 	igt_describe("Race the execution and interrupt handlers along a context,"
 	             " while closing it at a random time.");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			intel_allocator_multiprocess_start();
 		}
diff --git a/tests/intel/gem_ctx_param.c b/tests/intel/gem_ctx_param.c
index 0edf3a357906..44bde4dee93b 100644
--- a/tests/intel/gem_ctx_param.c
+++ b/tests/intel/gem_ctx_param.c
@@ -482,7 +482,7 @@ igt_main
 	}
 
 	igt_describe("Test performed with context param set to priority");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(gem_scheduler_has_ctx_priority(fd));
 		}
diff --git a/tests/intel/gem_ctx_persistence.c b/tests/intel/gem_ctx_persistence.c
index cbf5ff142a63..2fc82bdc3c6f 100644
--- a/tests/intel/gem_ctx_persistence.c
+++ b/tests/intel/gem_ctx_persistence.c
@@ -1400,7 +1400,7 @@ igt_main
 	igt_subtest("heartbeat-hostile")
 		test_noheartbeat_close(i915, IGT_SPIN_NO_PREEMPTION);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture()
 			gem_require_contexts(i915);
 
@@ -1420,7 +1420,7 @@ igt_main
 
 	/* New way of selecting engines. */
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const struct intel_execution_engine2 *e;
 
 		igt_fixture()
@@ -1456,7 +1456,7 @@ igt_main
 			many_contexts(i915, &ctx->cfg);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			gem_require_contexts(i915);
 			intel_allocator_multiprocess_start();
diff --git a/tests/intel/gem_ctx_shared.c b/tests/intel/gem_ctx_shared.c
index 0c1d687c7a9a..575e0cebd80f 100644
--- a/tests/intel/gem_ctx_shared.c
+++ b/tests/intel/gem_ctx_shared.c
@@ -1035,7 +1035,7 @@ igt_main
 		cfg = intel_ctx_cfg_all_physical(i915);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(gem_has_vm(i915));
 			igt_fork_hang_detector(i915);
@@ -1071,7 +1071,7 @@ igt_main
 		 * enough to reduce the queue into just another context,
 		 * and so rely on gem_exec_schedule to prove the rest.
 		 */
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				igt_require(gem_scheduler_enabled(i915));
 				igt_require(gem_scheduler_has_ctx_priority(i915));
@@ -1100,7 +1100,7 @@ igt_main
 			}
 		}
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				igt_require(gem_scheduler_enabled(i915));
 				igt_require(gem_scheduler_has_ctx_priority(i915));
diff --git a/tests/intel/gem_ctx_sseu.c b/tests/intel/gem_ctx_sseu.c
index 11bbf5764455..45fcb16e6fa6 100644
--- a/tests/intel/gem_ctx_sseu.c
+++ b/tests/intel/gem_ctx_sseu.c
@@ -528,7 +528,7 @@ igt_main
 		igt_require(kernel_has_per_context_sseu_support(fd));
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			drm_i915_getparam_t gp;
 
diff --git a/tests/intel/gem_ctx_switch.c b/tests/intel/gem_ctx_switch.c
index 1880a3ce2a0d..0fa31b4c27f9 100644
--- a/tests/intel/gem_ctx_switch.c
+++ b/tests/intel/gem_ctx_switch.c
@@ -737,7 +737,7 @@ igt_main
 		e2 = &e2__;
 
 		for (typeof(*phases) *p = phases; p->name; p++) {
-			igt_subtest_group {
+			igt_subtest_group() {
 				igt_fixture() {
 					gem_require_ring(fd, e2->flags);
 					if (p->require)
@@ -766,7 +766,7 @@ igt_main
 	/* Must come after legacy subtests. */
 	for_each_ctx_cfg_engine(fd, &engines_cfg, e2) {
 		for (typeof(*phases) *p = phases; p->name; p++) {
-			igt_subtest_group {
+			igt_subtest_group() {
 				igt_fixture() {
 					if (p->require)
 						igt_require(p->require(fd));
@@ -794,7 +794,7 @@ igt_main
 	igt_subtest("all-heavy")
 		all(fd, heavy, &engines_cfg, 0, 2);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			gem_require_vm(fd);
 		}
diff --git a/tests/intel/gem_eio.c b/tests/intel/gem_eio.c
index 844562a0e861..e589a62d534c 100644
--- a/tests/intel/gem_eio.c
+++ b/tests/intel/gem_eio.c
@@ -1152,7 +1152,7 @@ igt_main
 	igt_subtest("in-flight-suspend")
 		test_inflight_suspend(fd);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(gem_has_contexts(fd));
 		}
@@ -1164,7 +1164,7 @@ igt_main
 			test_reset_stress(fd, TEST_WEDGE);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const struct {
 			unsigned int wait;
 			const char *name;
@@ -1193,7 +1193,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_display_t display = {
 			.drm_fd = -1, .n_pipes = IGT_MAX_PIPES
 		};
diff --git a/tests/intel/gem_exec_async.c b/tests/intel/gem_exec_async.c
index 4b5c03553a7d..de5bc9caca31 100644
--- a/tests/intel/gem_exec_async.c
+++ b/tests/intel/gem_exec_async.c
@@ -209,7 +209,7 @@ igt_main
 	test_each_engine("concurrent-writes", fd, ctx, e)
 		one(fd, ctx, e->flags, 0);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			intel_allocator_multiprocess_start();
 		}
diff --git a/tests/intel/gem_exec_balancer.c b/tests/intel/gem_exec_balancer.c
index 57f30f73aa68..a7d88952f650 100644
--- a/tests/intel/gem_exec_balancer.c
+++ b/tests/intel/gem_exec_balancer.c
@@ -3440,7 +3440,7 @@ igt_main
 	igt_subtest("busy")
 		busy(i915);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		static const struct {
 			const char *name;
 			unsigned int flags;
@@ -3483,7 +3483,7 @@ igt_main
 	igt_subtest("bonded-semaphore")
 		bonded_semaphore(i915);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			intel_allocator_multiprocess_start();
 		}
@@ -3509,7 +3509,7 @@ igt_main
 		igt_stop_hang_detector();
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(has_logical_mapping(i915));
 			igt_require(has_parallel_execbuf(i915));
@@ -3546,7 +3546,7 @@ igt_main
 			parallel_balancer(i915, 0);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_hang_t  hang;
 
 		igt_fixture()
@@ -3565,7 +3565,7 @@ igt_main
 			hangme(i915);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require_gem(i915); /* reset parameters */
 			igt_require(has_persistence(i915));
diff --git a/tests/intel/gem_exec_endless.c b/tests/intel/gem_exec_endless.c
index fb70a9cc87f1..0b0e755e1191 100644
--- a/tests/intel/gem_exec_endless.c
+++ b/tests/intel/gem_exec_endless.c
@@ -353,7 +353,7 @@ igt_main
 		igt_require_gem(i915);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct intel_mmio_data mmio;
 		int sysfs;
 
diff --git a/tests/intel/gem_exec_fence.c b/tests/intel/gem_exec_fence.c
index 62d090847698..b9855f2e3347 100644
--- a/tests/intel/gem_exec_fence.c
+++ b/tests/intel/gem_exec_fence.c
@@ -3171,7 +3171,7 @@ igt_main
 		gem_submission_print_method(i915);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_hang_t hang;
 
 		igt_fixture() {
@@ -3207,13 +3207,13 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		for_each_ctx_engine(i915, ctx, e) {
 			igt_fixture() {
 				igt_require(gem_class_can_store_dword(i915, e->class));
 			}
 		}
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				igt_fork_hang_detector(i915);
 				intel_allocator_multiprocess_start();
@@ -3336,7 +3336,7 @@ igt_main
 			}
 		}
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_hang_t hang;
 
 			igt_fixture() {
@@ -3383,7 +3383,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		long ring_size = 0;
 
 		igt_fixture() {
@@ -3404,7 +3404,7 @@ igt_main
 			test_long_history(i915, ctx, ring_size, EXPIRED);
 	}
 
-	igt_subtest_group { /* syncobj */
+	igt_subtest_group() { /* syncobj */
 		igt_fixture() {
 			igt_require(exec_has_fence_array(i915));
 			igt_assert(has_syncobj(i915));
@@ -3462,7 +3462,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group { /* syncobj timeline */
+	igt_subtest_group() { /* syncobj timeline */
 		igt_fixture() {
 			igt_require(exec_has_timeline_fences(i915));
 			igt_require(has_syncobj_timeline(i915));
@@ -3505,7 +3505,7 @@ igt_main
 		igt_subtest("syncobj-timeline-multiple-ext-nodes")
 			test_syncobj_timeline_multiple_ext_nodes(i915);
 
-		igt_subtest_group { /* syncobj timeline engine chaining */
+		igt_subtest_group() { /* syncobj timeline engine chaining */
 			igt_fixture() {
 				/*
 				 * We need support for MI_ALU on all
diff --git a/tests/intel/gem_exec_flush.c b/tests/intel/gem_exec_flush.c
index d8fe78377994..84e3d82fbe5e 100644
--- a/tests/intel/gem_exec_flush.c
+++ b/tests/intel/gem_exec_flush.c
@@ -2123,7 +2123,7 @@ igt_main
 		igt_fork_hang_detector(fd);
 	}
 
-	for (e = intel_execution_rings; e->name; e++) igt_subtest_group {
+	for (e = intel_execution_rings; e->name; e++) igt_subtest_group() {
 		unsigned ring = eb_ring(e);
 		unsigned timeout = 5 + 120*!!e->exec_id;
 
diff --git a/tests/intel/gem_exec_latency.c b/tests/intel/gem_exec_latency.c
index 65937d109d7d..f86b9b1da6c5 100644
--- a/tests/intel/gem_exec_latency.c
+++ b/tests/intel/gem_exec_latency.c
@@ -956,7 +956,7 @@ igt_main
 		rcs_clock = 1e9 / rcs_clock;
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture()
 			igt_require(intel_gen(intel_get_drm_devid(device)) >= 7);
 
@@ -986,7 +986,7 @@ igt_main
 		test_each_engine("wakeup-latency", device, ctx, e)
 			wakeup_latency(device, ctx, e);
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				gem_require_contexts(device);
 				igt_require(gem_scheduler_has_preemption(device));
diff --git a/tests/intel/gem_exec_nop.c b/tests/intel/gem_exec_nop.c
index 072be55f3c95..d7664bfa37b8 100644
--- a/tests/intel/gem_exec_nop.c
+++ b/tests/intel/gem_exec_nop.c
@@ -1077,7 +1077,7 @@ igt_main
 	igt_subtest("context-sequential")
 		sequential(device, handle, ctx, FORKED | CONTEXT, 20);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			gem_require_contexts(device);
 			igt_require(gem_scheduler_has_ctx_priority(device));
@@ -1091,7 +1091,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_device_set_master(device);
 		}
diff --git a/tests/intel/gem_exec_reloc.c b/tests/intel/gem_exec_reloc.c
index 1aed353b586b..8bdfc78da6e0 100644
--- a/tests/intel/gem_exec_reloc.c
+++ b/tests/intel/gem_exec_reloc.c
@@ -1677,7 +1677,7 @@ igt_main
 	for (f = flags; f->name; f++) {
 		igt_hang_t hang;
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				if (f->flags & HANG)
 					hang = igt_allow_hang(fd, 0, 0);
@@ -1752,7 +1752,7 @@ igt_main
 	igt_subtest("invalid-domains")
 		invalid_domains(fd);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_display_t display = {
 			.drm_fd = fd,
 			.n_pipes = IGT_MAX_PIPES
diff --git a/tests/intel/gem_exec_schedule.c b/tests/intel/gem_exec_schedule.c
index 5a4665284104..5e5fa2877908 100644
--- a/tests/intel/gem_exec_schedule.c
+++ b/tests/intel/gem_exec_schedule.c
@@ -3222,7 +3222,7 @@ igt_main
 		igt_fork_hang_detector(fd);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const struct intel_execution_engine2 *e;
 
 		test_each_ggtt_binder_nonblocking_engine("fifo", fd, ctx, e)
@@ -3244,7 +3244,7 @@ igt_main
 			independent(fd, ctx, e->flags, IGT_SPIN_USERPTR);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const struct intel_execution_engine2 *e;
 
 		igt_fixture() {
@@ -3266,7 +3266,7 @@ igt_main
 		test_each_engine("u-lateslice", fd, ctx, e)
 			lateslice(fd, &ctx->cfg, e->flags, IGT_SPIN_USERPTR);
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				igt_require(gem_scheduler_has_timeslicing(fd));
 				igt_require(intel_gen(intel_get_drm_devid(fd)) >= 8);
@@ -3345,7 +3345,7 @@ igt_main
 		test_each_ggtt_binder_nonblocking_engine("promotion", fd, ctx, e)
 			promotion(fd, &ctx->cfg, e->flags);
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				igt_require(gem_scheduler_has_preemption(fd));
 			}
@@ -3371,7 +3371,7 @@ igt_main
 			test_each_engine_store("preempt-engines", fd, ctx, e)
 				preempt_engines(fd, e, 0);
 
-			igt_subtest_group {
+			igt_subtest_group() {
 				igt_fixture() {
 					igt_require(!gem_scheduler_has_static_priority(fd));
 				}
@@ -3388,7 +3388,7 @@ igt_main
 					preempt_queue(fd, &ctx->cfg, e->flags, CONTEXTS | CHAIN);
 			}
 
-			igt_subtest_group {
+			igt_subtest_group() {
 				igt_hang_t hang;
 
 				igt_fixture() {
@@ -3431,7 +3431,7 @@ igt_main
 		test_each_engine_store("smoketest", fd, ctx, e)
 			smoketest(fd, &ctx->cfg, e->flags, 5);
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				igt_require(!gem_scheduler_has_static_priority(fd));
 			}
@@ -3441,7 +3441,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const struct intel_execution_engine2 *e;
 
 		igt_fixture() {
@@ -3466,7 +3466,7 @@ igt_main
 			test_pi_iova(fd, &ctx->cfg, e->flags, SHARED);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(gem_scheduler_enabled(fd));
 			igt_require(gem_scheduler_has_semaphores(fd));
diff --git a/tests/intel/gem_exec_whisper.c b/tests/intel/gem_exec_whisper.c
index 0200d50e8b03..649847354c42 100644
--- a/tests/intel/gem_exec_whisper.c
+++ b/tests/intel/gem_exec_whisper.c
@@ -756,7 +756,7 @@ igt_main
 		igt_stop_hang_detector();
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		for (const struct mode *m = modes; m->name; m++) {
 			if (m->flags & INTERRUPTIBLE)
 				continue;
diff --git a/tests/intel/gem_linear_blits.c b/tests/intel/gem_linear_blits.c
index c81866aec84d..ac07d4ef0adc 100644
--- a/tests/intel/gem_linear_blits.c
+++ b/tests/intel/gem_linear_blits.c
@@ -300,7 +300,7 @@ igt_main
 	igt_subtest("basic")
 		run_test(fd, 2, do_relocs);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			intel_allocator_multiprocess_start();
 		}
diff --git a/tests/intel/gem_mmap_gtt.c b/tests/intel/gem_mmap_gtt.c
index 2cd02b281804..fe944f161e9b 100644
--- a/tests/intel/gem_mmap_gtt.c
+++ b/tests/intel/gem_mmap_gtt.c
@@ -1750,7 +1750,7 @@ igt_main
 	igt_subtest("huge-bo-tiledY")
 		test_huge_bo(fd, 1, I915_TILING_Y);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const struct copy_size {
 			const char *prefix;
 			int size;
diff --git a/tests/intel/gem_mmap_wc.c b/tests/intel/gem_mmap_wc.c
index 3a6b12f56fe8..2d77b3ede410 100644
--- a/tests/intel/gem_mmap_wc.c
+++ b/tests/intel/gem_mmap_wc.c
@@ -637,7 +637,7 @@ igt_main
 	igt_subtest("write-cpu-read-wc-unflushed")
 		test_write_cpu_read_wc(fd, 0);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() gem_require_mappable_ggtt(fd);
 		igt_subtest("write-wc-read-gtt")
 			test_write_wc_read_gtt(fd);
diff --git a/tests/intel/gem_ppgtt.c b/tests/intel/gem_ppgtt.c
index 9c8c5e3dec97..7e242ae24c5b 100644
--- a/tests/intel/gem_ppgtt.c
+++ b/tests/intel/gem_ppgtt.c
@@ -474,7 +474,7 @@ igt_main
 		flink_and_close();
 
 	igt_describe("Regression test to verify GTT eviction can't randomly fail due to object lock contention");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_subtest("shrink-vs-evict-any")
 			shrink_vs_evict(IGT_USE_ANY);
 		igt_subtest("shrink-vs-evict-pinned")
diff --git a/tests/intel/gem_pxp.c b/tests/intel/gem_pxp.c
index ecff502c1427..73ba7c230546 100644
--- a/tests/intel/gem_pxp.c
+++ b/tests/intel/gem_pxp.c
@@ -1319,7 +1319,7 @@ igt_main
 		rendercopy = igt_get_render_copyfunc(i915);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Verify protected buffer on unsupported hw:");
 		igt_subtest("hw-rejects-pxp-buffer") {
 			require_nopxp(pxp_supported, devid);
@@ -1332,7 +1332,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Verify protected buffer on supported hw:");
 		igt_subtest("create-regular-buffer") {
 			require_pxp(pxp_supported, devid);
@@ -1379,7 +1379,7 @@ igt_main
 			test_ctx_mod_protected_to_all_invalid(i915);
 		}
 	}
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Verify protected render operations:");
 		igt_subtest("regular-baseline-src-copy-readible") {
 			require_pxp_render(pxp_supported, devid, rendercopy);
@@ -1398,7 +1398,7 @@ igt_main
 			test_pxp_dmabuffshare_refcnt(i915);
 		}
 	}
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Verify suspend-resume teardown management:");
 		igt_subtest("verify-pxp-key-change-after-suspend-resume") {
 			require_pxp_render(pxp_supported, devid, rendercopy);
@@ -1426,7 +1426,7 @@ igt_main
 			test_pxp_pwrcycle_staleasset_execution(i915, &pm);
 		}
 	}
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Test the display CRC");
 		igt_subtest("display-protected-crc") {
 			require_pxp_render(pxp_supported, devid, rendercopy);
diff --git a/tests/intel/gem_reset_stats.c b/tests/intel/gem_reset_stats.c
index 712183cf65af..e0fe9c420e71 100644
--- a/tests/intel/gem_reset_stats.c
+++ b/tests/intel/gem_reset_stats.c
@@ -1156,7 +1156,7 @@ igt_main
 			RUN_TEST(defer_hangcheck(e));
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const struct intel_execution_engine2 *e2;
 		intel_ctx_cfg_t cfg = {};
 
diff --git a/tests/intel/gem_softpin.c b/tests/intel/gem_softpin.c
index 7e772b927c32..dfa33b7c7a38 100644
--- a/tests/intel/gem_softpin.c
+++ b/tests/intel/gem_softpin.c
@@ -1484,7 +1484,7 @@ igt_main
 	igt_subtest("invalid")
 		test_invalid(fd);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		/* Under full-ppgtt, we have complete control of the GTT */
 
 		igt_fixture() {
@@ -1553,7 +1553,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(gem_uses_full_ppgtt(fd));
 			intel_allocator_multiprocess_start();
diff --git a/tests/intel/gem_spin_batch.c b/tests/intel/gem_spin_batch.c
index 36e1d759ab24..72fd736e902d 100644
--- a/tests/intel/gem_spin_batch.c
+++ b/tests/intel/gem_spin_batch.c
@@ -302,7 +302,7 @@ igt_main
 
 #undef test_each_engine
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture()
 			intel_allocator_multiprocess_start();
 
diff --git a/tests/intel/gem_sync.c b/tests/intel/gem_sync.c
index 6a2644b1ebbb..95e40f7802a1 100644
--- a/tests/intel/gem_sync.c
+++ b/tests/intel/gem_sync.c
@@ -1502,7 +1502,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			gem_require_contexts(fd);
 			igt_require(gem_scheduler_has_ctx_priority(fd));
diff --git a/tests/intel/gem_tiled_blits.c b/tests/intel/gem_tiled_blits.c
index 735ef4800e3e..183c938dd26a 100644
--- a/tests/intel/gem_tiled_blits.c
+++ b/tests/intel/gem_tiled_blits.c
@@ -212,7 +212,7 @@ igt_main
 	igt_subtest("basic")
 		run_test(fd, 2);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			intel_allocator_multiprocess_start();
 		}
diff --git a/tests/intel/gem_tiled_fence_blits.c b/tests/intel/gem_tiled_fence_blits.c
index 5753f9ad8455..7a81074f0634 100644
--- a/tests/intel/gem_tiled_fence_blits.c
+++ b/tests/intel/gem_tiled_fence_blits.c
@@ -325,7 +325,7 @@ igt_main
 	igt_subtest("basic")
 		run_test(fd, 2, end);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			intel_allocator_multiprocess_start();
 		}
diff --git a/tests/intel/gem_userptr_blits.c b/tests/intel/gem_userptr_blits.c
index 83c9f8888348..eb5b0d0621c6 100644
--- a/tests/intel/gem_userptr_blits.c
+++ b/tests/intel/gem_userptr_blits.c
@@ -2532,7 +2532,7 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			/* Either mode will do for parameter checking */
 			gem_userptr_test_synchronized();
@@ -2577,7 +2577,7 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		gem_userptr_test_unsynchronized();
 
 		igt_fixture() {
@@ -2671,7 +2671,7 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 		igt_stop_signal_helper();
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		gem_userptr_test_synchronized();
 
 		igt_fixture() {
@@ -2797,7 +2797,7 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 		igt_stop_signal_helper();
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			gem_userptr_test_synchronized();
 			if (!has_userptr(fd))
diff --git a/tests/intel/gem_vm_create.c b/tests/intel/gem_vm_create.c
index 18b049cc0551..435549cdfec9 100644
--- a/tests/intel/gem_vm_create.c
+++ b/tests/intel/gem_vm_create.c
@@ -396,7 +396,7 @@ igt_main
 	igt_subtest("invalid-destroy")
 		invalid_destroy(i915);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			gem_context_require_param(i915, I915_CONTEXT_PARAM_VM);
 		}
diff --git a/tests/intel/gem_wait.c b/tests/intel/gem_wait.c
index a08fda9beefd..6247ed7441ad 100644
--- a/tests/intel/gem_wait.c
+++ b/tests/intel/gem_wait.c
@@ -248,7 +248,7 @@ igt_main
 	igt_subtest("invalid-buf")
 		invalid_buf(fd);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		static const struct {
 			const char *name;
 			unsigned int flags;
@@ -278,7 +278,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		static const struct {
 			const char *name;
 			unsigned int flags;
diff --git a/tests/intel/gem_watchdog.c b/tests/intel/gem_watchdog.c
index 9b69f534399a..6d9b95018766 100644
--- a/tests/intel/gem_watchdog.c
+++ b/tests/intel/gem_watchdog.c
@@ -592,7 +592,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_subtest("default-physical")
 			physical(i915, ctx);
 
diff --git a/tests/intel/gem_workarounds.c b/tests/intel/gem_workarounds.c
index b639b061a786..54fd2c4c13e1 100644
--- a/tests/intel/gem_workarounds.c
+++ b/tests/intel/gem_workarounds.c
@@ -349,7 +349,7 @@ igt_main
 	}
 
 	for (op = ops; op->name; op++) {
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_hang_t hang = {};
 
 			igt_fixture() {
diff --git a/tests/intel/gen7_exec_parse.c b/tests/intel/gen7_exec_parse.c
index 8a25805f00d6..de92f9e186b4 100644
--- a/tests/intel/gen7_exec_parse.c
+++ b/tests/intel/gen7_exec_parse.c
@@ -579,7 +579,7 @@ igt_main
 		test_allocations(fd);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 #define REG(R, MSK, INI, V, OK, MIN_V) { #R, R, MSK, INI, V, OK, MIN_V }
 		struct test_lri lris[] = {
 			/* dummy head pointer */
diff --git a/tests/intel/i915_drm_fdinfo.c b/tests/intel/i915_drm_fdinfo.c
index 902c0cb8e551..4505dea9ce64 100644
--- a/tests/intel/i915_drm_fdinfo.c
+++ b/tests/intel/i915_drm_fdinfo.c
@@ -1092,7 +1092,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		int newfd;
 
 		igt_fixture()
diff --git a/tests/intel/i915_pm_rc6_residency.c b/tests/intel/i915_pm_rc6_residency.c
index e56263ff27ef..3d6bb5a6f445 100644
--- a/tests/intel/i915_pm_rc6_residency.c
+++ b/tests/intel/i915_pm_rc6_residency.c
@@ -647,7 +647,7 @@ igt_main
 				rc6_fence(i915, gt);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		unsigned int rc6_enabled = 0;
 		unsigned int devid = 0;
 
diff --git a/tests/intel/i915_query.c b/tests/intel/i915_query.c
index 9545a35c1836..25443f6f35b9 100644
--- a/tests/intel/i915_query.c
+++ b/tests/intel/i915_query.c
@@ -1515,7 +1515,7 @@ igt_main
 		test_query_regions_unallocated(fd);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(query_engine_info_supported(fd));
 		}
diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
index 4e1214d165f1..50b118f1d754 100644
--- a/tests/intel/kms_frontbuffer_tracking.c
+++ b/tests/intel/kms_frontbuffer_tracking.c
@@ -4148,7 +4148,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 		plane_fbc_rte_subtest(&t);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_subtest_with_dynamic("pipe-fbc-rte") {
 
 			enum pipe default_pipe = prim_mode_params.pipe;
diff --git a/tests/intel/kms_joiner.c b/tests/intel/kms_joiner.c
index efb109604d1a..07efc74e6f14 100644
--- a/tests/intel/kms_joiner.c
+++ b/tests/intel/kms_joiner.c
@@ -627,7 +627,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(data.big_joiner_output_count > 0);
 			igt_require(data.n_pipes > 1);
@@ -657,7 +657,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(data.non_big_joiner_output_count > 0);
 			igt_require(data.n_pipes > 1);
@@ -699,7 +699,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(data.ultra_joiner_output_count > 0);
 			igt_require(data.n_pipes > 3);
@@ -723,7 +723,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(ultra_joiner_supported);
 			igt_require(data.non_ultra_joiner_output_count > 0);
diff --git a/tests/intel/perf.c b/tests/intel/perf.c
index 7f27e70ace25..ee607b13efb2 100644
--- a/tests/intel/perf.c
+++ b/tests/intel/perf.c
@@ -6053,7 +6053,7 @@ igt_main
 		gen8_test_single_ctx_render_target_writes_a_counter();
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Test MI REPORT PERF COUNT for Gen 12");
 		igt_subtest_with_dynamic("gen12-mi-rpc") {
 			igt_require(intel_gen(devid) >= 12);
@@ -6079,7 +6079,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Verify invalid class instance");
 		igt_subtest("gen12-invalid-class-instance") {
 			igt_require(i915_perf_revision(drm_fd) >= 6);
@@ -6117,7 +6117,7 @@ igt_main
 		__for_random_engine_in_each_group(perf_oa_groups, ctx, e)
 			test_stress_open_close(e);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Verify invalid SSEU opening parameters");
 		igt_subtest_with_dynamic("global-sseu-config-invalid") {
 			igt_require(i915_perf_revision(drm_fd) >= 4);
diff --git a/tests/intel/perf_pmu.c b/tests/intel/perf_pmu.c
index 20e68e4b10fd..f7d3e0cefbd5 100644
--- a/tests/intel/perf_pmu.c
+++ b/tests/intel/perf_pmu.c
@@ -2423,7 +2423,7 @@ igt_main
 	 * Check that reported usage is correct when PMU is
 	 * enabled after two batches are running.
 	 */
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() gem_require_contexts(fd);
 
 		test_each_engine("busy-double-start", fd, ctx, e)
@@ -2437,7 +2437,7 @@ igt_main
 	test_each_engine("enable-race", fd, ctx, e)
 		test_enable_race(fd, ctx, e);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const unsigned int pct[] = { 2, 50, 98 };
 
 		/**
@@ -2537,7 +2537,7 @@ igt_main
 	/**
 	 * Check render nodes are counted.
 	 */
-	igt_subtest_group {
+	igt_subtest_group() {
 		int render_fd = -1;
 		const intel_ctx_t *render_ctx = NULL;
 
diff --git a/tests/intel/prime_busy.c b/tests/intel/prime_busy.c
index 2777d0aa92e6..ee4c7c73ab2c 100644
--- a/tests/intel/prime_busy.c
+++ b/tests/intel/prime_busy.c
@@ -159,7 +159,7 @@ igt_main
 		ctx = intel_ctx_create_all_physical(fd);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const struct mode {
 			const char *name;
 			unsigned int flags;
diff --git a/tests/intel/xe_eudebug.c b/tests/intel/xe_eudebug.c
index 6e5409df4ff0..fa4d5361cad9 100644
--- a/tests/intel/xe_eudebug.c
+++ b/tests/intel/xe_eudebug.c
@@ -2830,7 +2830,7 @@ igt_main
 		test_basic_sessions_th(fd, 0, 1, true);
 
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		uint32_t flags[] = {0, TEST_FAULTABLE};
 		const char *suffix[] = {"", "-faultable"};
 
@@ -2926,7 +2926,7 @@ igt_main
 		drm_close_driver(fd);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			gpu_count = drm_prepare_filtered_multigpu(DRIVER_XE);
 
diff --git a/tests/intel/xe_eudebug_online.c b/tests/intel/xe_eudebug_online.c
index 470d94022a45..a3e8d60953c9 100644
--- a/tests/intel/xe_eudebug_online.c
+++ b/tests/intel/xe_eudebug_online.c
@@ -2637,7 +2637,7 @@ igt_main
 	test_gt_render_or_compute("interrupt-other-debuggable", fd, hwe)
 		test_interrupt_other(fd, hwe, SHADER_LOOP);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		test_gt_render_or_compute("interrupt-other", fd, hwe) {
 			engine_class = hwe->engine_class;
 
diff --git a/tests/intel/xe_exec_queue_property.c b/tests/intel/xe_exec_queue_property.c
index cf8a9800ceed..f612fdf196bf 100644
--- a/tests/intel/xe_exec_queue_property.c
+++ b/tests/intel/xe_exec_queue_property.c
@@ -239,7 +239,7 @@ igt_main
 		igt_waitchildren();
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			int sys_fd = igt_sysfs_open(xe);
 
diff --git a/tests/intel/xe_exec_sip_eudebug.c b/tests/intel/xe_exec_sip_eudebug.c
index 7f739b120fa6..e3afa372776f 100644
--- a/tests/intel/xe_exec_sip_eudebug.c
+++ b/tests/intel/xe_exec_sip_eudebug.c
@@ -324,7 +324,7 @@ igt_main
 		fd = drm_open_driver(DRIVER_XE);
 
 	/* Debugger disabled (TD_CTL not set) */
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			was_enabled = xe_eudebug_enable(fd, false);
 			igt_require(!xe_eudebug_debugger_available(fd));
@@ -341,7 +341,7 @@ igt_main
 	}
 
 	/* Debugger enabled (TD_CTL set) */
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			was_enabled = xe_eudebug_enable(fd, true);
 		}
diff --git a/tests/intel/xe_mmap.c b/tests/intel/xe_mmap.c
index c9c00ee894a2..5952ce0bdd69 100644
--- a/tests/intel/xe_mmap.c
+++ b/tests/intel/xe_mmap.c
@@ -458,7 +458,7 @@ igt_main
 		test_mmap(fd, vram_memory(fd, 0) | system_memory(fd),
 			  DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		int fw_handle = -1;
 
 		igt_subtest("pci-membarrier") {
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index c9507b583e91..9da5eb5a63b5 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -5131,7 +5131,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
 	igt_subtest("short-reads")
 		test_short_reads();
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_subtest_with_dynamic("mi-rpc")
 			__for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
 				test_mi_rpc(oau);
@@ -5150,7 +5150,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_subtest("oa-unit-exclusive-stream-sample-oa")
 			test_oa_unit_exclusive_stream(true);
 
@@ -5185,7 +5185,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
 	igt_subtest("whitelisted-registers-userspace-config")
 		test_whitelisted_registers_userspace_config();
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_subtest_with_dynamic("map-oa-buffer")
 			__for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
 				test_mapped_oa_buffer(check_reports_from_mapped_buffer, oau);
@@ -5219,7 +5219,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
 			test_tail_address_wrap(oau, buf_sizes[k].size);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			perf_init_whitelist();
 		}
@@ -5241,7 +5241,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(oau->capabilities & DRM_XE_OA_CAPS_SYNCS);
 		}
diff --git a/tests/intel/xe_pmu.c b/tests/intel/xe_pmu.c
index d3cf7ca00fbf..96723ec867e1 100644
--- a/tests/intel/xe_pmu.c
+++ b/tests/intel/xe_pmu.c
@@ -1130,7 +1130,7 @@ igt_main
 		engine_activity_load_all(fd, num_engines, TEST_LOAD);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const unsigned int percent[] = { 2, 50, 90 };
 
 		for (unsigned int i = 0; i < ARRAY_SIZE(percent); i++) {
@@ -1152,7 +1152,7 @@ igt_main
 	test_each_engine("engine-activity-multi-client", fd, eci)
 		engine_activity_multi_client(fd, eci);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		int render_fd;
 
 		igt_fixture() {
@@ -1176,7 +1176,7 @@ igt_main
 			drm_close_driver(render_fd);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		unsigned int num_fns;
 
 		igt_fixture()
@@ -1202,7 +1202,7 @@ igt_main
 			unprovision_and_disable_vfs(fd);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		bool has_freq0_node, needs_freq_restore = false;
 		uint32_t *stash_min, *stash_max;
 
diff --git a/tests/intel/xe_pxp.c b/tests/intel/xe_pxp.c
index 88db5cecc3cf..cae8f5a7e73c 100644
--- a/tests/intel/xe_pxp.c
+++ b/tests/intel/xe_pxp.c
@@ -1116,7 +1116,7 @@ igt_main
 			igt_install_exit_handler(exit_handler);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Verify PXP allocations work as expected");
 		igt_subtest("pxp-bo-alloc")
 			test_pxp_bo_alloc(xe_fd, pxp_supported);
@@ -1125,7 +1125,7 @@ igt_main
 			test_pxp_queue_creation(xe_fd, pxp_supported);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Verify protected render operations:");
 		igt_subtest("regular-src-to-pxp-dest-rendercopy") {
 			require_pxp_render(xe_fd, pxp_supported);
@@ -1137,7 +1137,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		const struct mode {
 			enum termination_type type;
 			const char *tag;
@@ -1159,7 +1159,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_display_t display;
 
 		igt_describe("Test the flip of PXP objects to display");
diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
index 3f9c5fef4121..9699bd8398c1 100644
--- a/tests/kms_addfb_basic.c
+++ b/tests/kms_addfb_basic.c
@@ -477,7 +477,7 @@ static void tiling_tests(int fd)
 	f.pixel_format = DRM_FORMAT_XRGB8888;
 	f.pitches[0] = 1024*4;
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require_intel(fd);
 			tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
@@ -704,7 +704,7 @@ static void addfb25_tests(int fd)
 		do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require_intel(fd);
 			if (is_i915_device(fd)) {
@@ -989,22 +989,22 @@ igt_main
 		igt_require(has_addfb2_iface(fd));
 	}
 
-	igt_subtest_group
+	igt_subtest_group()
 		invalid_tests(fd);
 
-	igt_subtest_group
+	igt_subtest_group()
 		pitch_tests(fd);
 
-	igt_subtest_group
+	igt_subtest_group()
 		prop_tests(fd);
 
-	igt_subtest_group
+	igt_subtest_group()
 		master_tests(fd);
 
-	igt_subtest_group
+	igt_subtest_group()
 		tiling_tests(fd);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture()
 			igt_display_require(&display, fd);
 
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index ae64574a89fa..c1be4c5a947d 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -1087,7 +1087,7 @@ igt_main
 	}
 
 	igt_describe("Verify the async flip functionality and the fps during async flips");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture()
 			require_monotonic_timestamp(data.drm_fd);
 
diff --git a/tests/kms_color.c b/tests/kms_color.c
index ab3c0caea475..5ffc9ddadd19 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -1184,10 +1184,10 @@ igt_main
 		igt_display_require(&data.display, data.drm_fd);
 	}
 
-	igt_subtest_group
+	igt_subtest_group()
 		run_tests_for_pipe(&data);
 
-	igt_subtest_group
+	igt_subtest_group()
 		run_invalid_tests_for_pipe(&data);
 
 	igt_fixture() {
diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index 38de54da1547..f0c2993598e7 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -995,7 +995,7 @@ igt_main
 		test_content_protection(COMMIT_LEGACY, HDCP_CONTENT_TYPE_0);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture()
 			igt_require(data.display.is_atomic);
 
@@ -1018,7 +1018,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture()
 			igt_require(data.display.is_atomic);
 
diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index 1cbf26f55663..bb3bbd5cb7b6 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -1226,7 +1226,7 @@ static void run_tests_on_pipe(data_t *data)
 		int w = cursor_size;
 		int h = cursor_size;
 
-		igt_subtest_group
+		igt_subtest_group()
 			run_size_tests(data, w, h);
 
 		/*
@@ -1236,7 +1236,7 @@ static void run_tests_on_pipe(data_t *data)
 		 */
 		h /= 3;
 
-		igt_subtest_group
+		igt_subtest_group()
 			run_size_tests(data, w, h);
 	}
 
@@ -1300,7 +1300,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	data.cursor_max_w = cursor_width;
 	data.cursor_max_h = cursor_height;
 
-	igt_subtest_group
+	igt_subtest_group()
 		run_tests_on_pipe(&data);
 
 	igt_fixture() {
diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index d5d564410756..fea50b3b1b16 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -1858,7 +1858,7 @@ igt_main
 
 	igt_describe("Test checks how many cursor updates we can fit between vblanks "
 		     "on single/all pipes with different modes, priority and number of processes");
-	igt_subtest_group {
+	igt_subtest_group() {
 		enum pipe n;
 		struct {
 			const char *name;
@@ -1891,7 +1891,7 @@ igt_main
 
 	igt_describe("Test checks how many cursor updates we can fit between vblanks "
 		    "on all pipes with different modes, priority and number of processes");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture()
 			igt_display_require_output(&display);
 
@@ -1904,7 +1904,7 @@ igt_main
 
 	igt_describe("Test changes the cursor hotspot and checks that the "
 		      "property is updated accordignly");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture()
 			igt_display_require_output(&display);
 
@@ -1915,7 +1915,7 @@ igt_main
 
 	igt_describe("This test executes flips on both CRTCs "
 		     "while running cursor updates in parallel");
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct {
 			const char *name;
 			int nloops;
@@ -1944,7 +1944,7 @@ igt_main
 
 	igt_describe("This test executes flips on both CRTCs "
 		     "while running cursor updates in parallel");
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct {
 			const char *name;
 			int nloops;
@@ -1968,7 +1968,7 @@ igt_main
 	}
 
 	igt_describe("Test will first does a page flip and then cursor update");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require_pipe_crc(display.drm_fd);
 			igt_display_require_output(&display);
@@ -1982,7 +1982,7 @@ igt_main
 	}
 
 	igt_describe("this test perform a busy bo update followed by a cursor update");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require_intel(display.drm_fd);
 			igt_require_pipe_crc(display.drm_fd);
@@ -2001,7 +2001,7 @@ igt_main
 		"* atomic-transition: alternates between a full screen sprite plane "
 			"and full screen primary plane.\n"
 		"* toggle: which toggles cursor visibility and make sure cursor moves between updates.");
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct {
 			const char *name;
 			enum basic_flip_cursor order;
@@ -2043,7 +2043,7 @@ igt_main
 
 	igt_describe("The essence of the basic test is that neither the cursor nor the "
 		     "nonblocking flip stall the application of the next");
-	igt_subtest_group {
+	igt_subtest_group() {
 		struct {
 			const char *name;
 			int cursor_pipe;
diff --git a/tests/kms_feature_discovery.c b/tests/kms_feature_discovery.c
index c5b33aaa4eef..6dea20541b16 100644
--- a/tests/kms_feature_discovery.c
+++ b/tests/kms_feature_discovery.c
@@ -80,7 +80,7 @@ igt_main {
 		debugfs_fd = igt_debugfs_dir(fd);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_display_require(&display, fd);
 		}
@@ -90,7 +90,7 @@ igt_main {
 			/* will skip because of the fixture */
 		}
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			volatile int output_count = 0;
 			igt_output_t *output;
 			enum pipe pipe;
diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c
index 0f89c54728cc..7bb8e2839f8c 100644
--- a/tests/kms_getfb.c
+++ b/tests/kms_getfb.c
@@ -436,16 +436,16 @@ igt_main
 		igt_display_require(&display, fd);
 	}
 
-	igt_subtest_group
+	igt_subtest_group()
 		test_handle_input(&display);
 
-	igt_subtest_group
+	igt_subtest_group()
 		test_duplicate_handles(&display);
 
-	igt_subtest_group
+	igt_subtest_group()
 		test_getfb2(&display);
 
-	igt_subtest_group
+	igt_subtest_group()
 		test_handle_protection();
 
 	igt_fixture() {
diff --git a/tests/kms_lease.c b/tests/kms_lease.c
index f8c3dda99c24..cd1c6fb6cf0c 100644
--- a/tests/kms_lease.c
+++ b/tests/kms_lease.c
@@ -1252,7 +1252,7 @@ igt_main
 	}
 
 	//Display dependent subtests
-	igt_subtest_group {
+	igt_subtest_group() {
 
 		const struct {
 			const char *name;
@@ -1312,7 +1312,7 @@ igt_main
 	}
 
 	//Display independent subtests
-	igt_subtest_group {
+	igt_subtest_group() {
 
 		igt_describe("Tests error handling while creating invalid corner-cases for "
 			     "create-lease ioctl");
diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index cdfcc60ef43b..9ca958866897 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -1360,7 +1360,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 		igt_require(data.display.is_atomic);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_output_t *output;
 
 		for (int index = 0; index < ARRAY_SIZE(scaler_with_pixel_format_tests); index++) {
@@ -1607,7 +1607,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 		}
 	}
 
-	igt_subtest_group
+	igt_subtest_group()
 		invalid_parameter_tests(&data);
 
 	igt_describe("Tests scaling with multi-pipe.");
diff --git a/tests/kms_prime.c b/tests/kms_prime.c
index 6f8c24e86a1b..fb7320d2bf58 100644
--- a/tests/kms_prime.c
+++ b/tests/kms_prime.c
@@ -567,7 +567,7 @@ igt_main
 	}
 
 	igt_describe("Hybrid GPU subtests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			second_fd_hybrid = __drm_open_driver_another(1, DRIVER_ANY);
 			igt_require(second_fd_hybrid >= 0);
@@ -630,7 +630,7 @@ igt_main
 	}
 
 	igt_describe("VGEM subtests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			second_fd_vgem = __drm_open_driver_another(1, DRIVER_VGEM);
 			igt_require(second_fd_vgem >= 0);
diff --git a/tests/kms_properties.c b/tests/kms_properties.c
index 68091e043b24..b17032d6cad6 100644
--- a/tests/kms_properties.c
+++ b/tests/kms_properties.c
@@ -862,7 +862,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Checks each property of any type with combination of mode object "
 			     "with legacy commit and make sure only valid properties are set to "
 			     "mode object else return with relevant error");
@@ -876,7 +876,7 @@ igt_main
 			invalid_properties(&display, true);
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_describe("Test validates the properties of all planes, crtc and connectors with legacy commit");
 		igt_subtest("get_properties-sanity-non-atomic") {
 			if (display.is_atomic)
@@ -887,7 +887,7 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture()
 			igt_require(display.is_atomic);
 
diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c
index 804c0114ee8f..81101ea33c36 100644
--- a/tests/kms_vrr.c
+++ b/tests/kms_vrr.c
@@ -1184,7 +1184,7 @@ igt_main_args("drs:", long_opts, help_str, opt_handler, &data)
 	igt_subtest_with_dynamic("max-min")
 		run_vrr_test(&data, test_basic, TEST_MAXMIN);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture()
 			igt_require_intel(data.drm_fd);
 
diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c
index 7bcd731faeb9..19b0839261ff 100644
--- a/tests/prime_vgem.c
+++ b/tests/prime_vgem.c
@@ -1213,7 +1213,7 @@ igt_main
 	}
 
 	/* Fence testing */
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(vgem_has_fences(vgem));
 		}
@@ -1236,7 +1236,7 @@ igt_main
 		igt_subtest("basic-fence-flip")
 			test_flip(i915, vgem, 0);
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				igt_require(vgem_fence_has_flag(vgem, WIP_VGEM_FENCE_NOTIMEOUT));
 			}
@@ -1257,7 +1257,7 @@ igt_main
 	}
 
 	/* Fence testing, requires multiprocess allocator */
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(vgem_has_fences(vgem));
 			intel_allocator_multiprocess_start();
diff --git a/tests/vgem_basic.c b/tests/vgem_basic.c
index 96d0d77ad840..35739b0e82c1 100644
--- a/tests/vgem_basic.c
+++ b/tests/vgem_basic.c
@@ -559,7 +559,7 @@ igt_main
 	igt_subtest("busy-fence")
 		test_busy_fence(fd);
 
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			igt_require(has_prime_export(fd));
 		}
@@ -574,7 +574,7 @@ igt_main
 		igt_subtest("dmabuf-mmap")
 			test_dmabuf_mmap(fd);
 
-		igt_subtest_group {
+		igt_subtest_group() {
 			igt_fixture() {
 				igt_require(vgem_has_fences(fd));
 			}
diff --git a/tests/vmwgfx/vmw_prime.c b/tests/vmwgfx/vmw_prime.c
index 4265a13943f0..5346ed4336bf 100644
--- a/tests/vmwgfx/vmw_prime.c
+++ b/tests/vmwgfx/vmw_prime.c
@@ -557,7 +557,7 @@ igt_main
 	}
 
 	igt_describe("VGEM subtests");
-	igt_subtest_group {
+	igt_subtest_group() {
 		igt_fixture() {
 			second_fd_vgem =
 				__drm_open_driver_another(1, DRIVER_VGEM);
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH i-g-t 3/7] igt: Make igt_main look more like a function
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
  2025-11-20 19:14 ` [PATCH i-g-t 1/7] igt: Make igt_fixture look like an iterator Ville Syrjala
  2025-11-20 19:14 ` [PATCH i-g-t 2/7] igt: Make igt_subtest_group " Ville Syrjala
@ 2025-11-20 19:14 ` Ville Syrjala
  2025-11-20 19:14 ` [PATCH i-g-t 4/7] igt: Make igt_simple_main " Ville Syrjala
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 29+ messages in thread
From: Ville Syrjala @ 2025-11-20 19:14 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Turn igt_main into igt_main(). This is a step towads
allowing coccinelle to parse it.

Conversion done via:
$ find -type f -name \*.[ch] -exec sed -i 's/\([^_]\?\)igt_main\([^_(]\|$\)/\1igt_main()\2/g' {} +

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 benchmarks/gem_userptr_benchmark.c               |  2 +-
 lib/igt_core.c                                   |  6 +++---
 lib/igt_core.h                                   | 12 ++++++------
 lib/igt_kmod.c                                   |  2 +-
 lib/tests/bad_subtest_type.c                     |  2 +-
 lib/tests/i915_perf_data_alignment.c             |  2 +-
 lib/tests/igt_assert.c                           |  2 +-
 lib/tests/igt_audio.c                            |  2 +-
 lib/tests/igt_can_fail.c                         |  2 +-
 lib/tests/igt_hook.c                             |  2 +-
 lib/tests/igt_ktap_parser.c                      |  2 +-
 lib/tests/igt_runnercomms_packets.c              |  2 +-
 lib/tests/igt_subtest_group.c                    |  2 +-
 lib/tests/igt_types.c                            |  2 +-
 runner/runner_json_tests.c                       |  2 +-
 runner/runner_kmemleak_test.c                    |  2 +-
 runner/runner_tests.c                            |  2 +-
 runner/testdata/abort-dynamic.c                  |  2 +-
 runner/testdata/abort-fixture.c                  |  2 +-
 runner/testdata/abort.c                          |  2 +-
 runner/testdata/dynamic.c                        |  2 +-
 runner/testdata/skippers.c                       |  2 +-
 runner/testdata/successtest.c                    |  2 +-
 tests/amdgpu/amd_abm.c                           |  2 +-
 tests/amdgpu/amd_assr.c                          |  2 +-
 tests/amdgpu/amd_basic.c                         |  2 +-
 tests/amdgpu/amd_basic_ex.c                      |  2 +-
 tests/amdgpu/amd_basic_multi_gpu.c               |  2 +-
 tests/amdgpu/amd_bo.c                            |  2 +-
 tests/amdgpu/amd_bypass.c                        |  2 +-
 tests/amdgpu/amd_color.c                         |  2 +-
 tests/amdgpu/amd_cp_dma_misc.c                   |  2 +-
 tests/amdgpu/amd_cs_nop.c                        |  2 +-
 tests/amdgpu/amd_deadlock.c                      |  2 +-
 tests/amdgpu/amd_dispatch.c                      |  2 +-
 tests/amdgpu/amd_dp_dsc.c                        |  2 +-
 tests/amdgpu/amd_freesync_video_mode.c           |  2 +-
 tests/amdgpu/amd_fuzzing.c                       |  2 +-
 tests/amdgpu/amd_gang_cs.c                       |  2 +-
 tests/amdgpu/amd_hotplug.c                       |  2 +-
 tests/amdgpu/amd_ilr.c                           |  2 +-
 tests/amdgpu/amd_info.c                          |  2 +-
 tests/amdgpu/amd_jpeg_dec.c                      |  2 +-
 tests/amdgpu/amd_jpeg_queue.c                    |  2 +-
 tests/amdgpu/amd_link_settings.c                 |  2 +-
 tests/amdgpu/amd_mall.c                          |  2 +-
 tests/amdgpu/amd_max_bpc.c                       |  2 +-
 tests/amdgpu/amd_mem_leak.c                      |  2 +-
 tests/amdgpu/amd_mode_switch.c                   |  2 +-
 tests/amdgpu/amd_module_load.c                   |  2 +-
 tests/amdgpu/amd_multidisplay_modeset.c          |  2 +-
 tests/amdgpu/amd_odm.c                           |  2 +-
 tests/amdgpu/amd_pci_unplug.c                    |  2 +-
 tests/amdgpu/amd_plane.c                         |  2 +-
 tests/amdgpu/amd_prime.c                         |  2 +-
 tests/amdgpu/amd_pstate.c                        |  2 +-
 tests/amdgpu/amd_queue_reset.c                   |  2 +-
 tests/amdgpu/amd_ras.c                           |  2 +-
 tests/amdgpu/amd_security.c                      |  2 +-
 tests/amdgpu/amd_subvp.c                         |  2 +-
 tests/amdgpu/amd_syncobj.c                       |  2 +-
 tests/amdgpu/amd_uvd_dec.c                       |  2 +-
 tests/amdgpu/amd_uvd_enc.c                       |  2 +-
 tests/amdgpu/amd_vce_enc.c                       |  2 +-
 tests/amdgpu/amd_vcn.c                           |  2 +-
 tests/amdgpu/amd_vcn_queue.c                     |  2 +-
 tests/amdgpu/amd_vm.c                            |  2 +-
 tests/amdgpu/amd_vpe.c                           |  2 +-
 tests/amdgpu/amd_vrr_range.c                     |  2 +-
 tests/chamelium/kms_chamelium_audio.c            |  2 +-
 tests/chamelium/kms_chamelium_color.c            |  2 +-
 tests/chamelium/kms_chamelium_frames.c           |  2 +-
 tests/chamelium/kms_chamelium_hpd.c              |  2 +-
 tests/chamelium/kms_chamelium_sharpness_filter.c |  2 +-
 tests/core_auth.c                                |  2 +-
 tests/core_debugfs.c                             |  2 +-
 tests/core_getclient.c                           |  2 +-
 tests/core_getstats.c                            |  2 +-
 tests/core_getversion.c                          |  2 +-
 tests/core_hotunplug.c                           |  2 +-
 tests/core_setmaster.c                           |  2 +-
 tests/core_sysfs.c                               |  2 +-
 tests/device_reset.c                             |  2 +-
 tests/dmabuf.c                                   |  2 +-
 tests/dmabuf_sync_file.c                         |  2 +-
 tests/drm_buddy.c                                |  2 +-
 tests/drm_mm.c                                   |  2 +-
 tests/drm_read.c                                 |  2 +-
 tests/drm_virtgpu.c                              |  2 +-
 tests/dumb_buffer.c                              |  2 +-
 tests/fbdev.c                                    |  2 +-
 tests/intel/api_intel_allocator.c                |  2 +-
 tests/intel/gem_bad_reloc.c                      |  2 +-
 tests/intel/gem_barrier_race.c                   |  2 +-
 tests/intel/gem_basic.c                          |  2 +-
 tests/intel/gem_blits.c                          |  2 +-
 tests/intel/gem_busy.c                           |  2 +-
 tests/intel/gem_caching.c                        |  2 +-
 tests/intel/gem_close.c                          |  2 +-
 tests/intel/gem_close_race.c                     |  2 +-
 tests/intel/gem_compute.c                        |  2 +-
 tests/intel/gem_concurrent_all.c                 |  2 +-
 tests/intel/gem_create.c                         |  2 +-
 tests/intel/gem_cs_tlb.c                         |  2 +-
 tests/intel/gem_ctx_bad_destroy.c                |  2 +-
 tests/intel/gem_ctx_create.c                     |  2 +-
 tests/intel/gem_ctx_engines.c                    |  2 +-
 tests/intel/gem_ctx_exec.c                       |  2 +-
 tests/intel/gem_ctx_freq.c                       |  2 +-
 tests/intel/gem_ctx_isolation.c                  |  2 +-
 tests/intel/gem_ctx_param.c                      |  2 +-
 tests/intel/gem_ctx_persistence.c                |  2 +-
 tests/intel/gem_ctx_shared.c                     |  2 +-
 tests/intel/gem_ctx_sseu.c                       |  2 +-
 tests/intel/gem_ctx_switch.c                     |  2 +-
 tests/intel/gem_eio.c                            |  2 +-
 tests/intel/gem_evict_alignment.c                |  2 +-
 tests/intel/gem_evict_everything.c               |  2 +-
 tests/intel/gem_exec_alignment.c                 |  2 +-
 tests/intel/gem_exec_async.c                     |  2 +-
 tests/intel/gem_exec_await.c                     |  2 +-
 tests/intel/gem_exec_balancer.c                  |  2 +-
 tests/intel/gem_exec_basic.c                     |  2 +-
 tests/intel/gem_exec_big.c                       |  2 +-
 tests/intel/gem_exec_capture.c                   |  2 +-
 tests/intel/gem_exec_create.c                    |  2 +-
 tests/intel/gem_exec_endless.c                   |  2 +-
 tests/intel/gem_exec_fair.c                      |  2 +-
 tests/intel/gem_exec_fence.c                     |  2 +-
 tests/intel/gem_exec_flush.c                     |  2 +-
 tests/intel/gem_exec_gttfill.c                   |  2 +-
 tests/intel/gem_exec_latency.c                   |  2 +-
 tests/intel/gem_exec_nop.c                       |  2 +-
 tests/intel/gem_exec_parallel.c                  |  2 +-
 tests/intel/gem_exec_params.c                    |  2 +-
 tests/intel/gem_exec_reloc.c                     |  2 +-
 tests/intel/gem_exec_schedule.c                  |  2 +-
 tests/intel/gem_exec_store.c                     |  2 +-
 tests/intel/gem_exec_suspend.c                   |  2 +-
 tests/intel/gem_exec_whisper.c                   |  2 +-
 tests/intel/gem_fence_thrash.c                   |  2 +-
 tests/intel/gem_fence_upload.c                   |  2 +-
 tests/intel/gem_fenced_exec_thrash.c             |  2 +-
 tests/intel/gem_flink_basic.c                    |  2 +-
 tests/intel/gem_flink_race.c                     |  2 +-
 tests/intel/gem_huc_copy.c                       |  2 +-
 tests/intel/gem_linear_blits.c                   |  2 +-
 tests/intel/gem_lmem_evict.c                     |  2 +-
 tests/intel/gem_madvise.c                        |  2 +-
 tests/intel/gem_media_fill.c                     |  2 +-
 tests/intel/gem_mmap.c                           |  2 +-
 tests/intel/gem_mmap_gtt.c                       |  2 +-
 tests/intel/gem_mmap_offset.c                    |  2 +-
 tests/intel/gem_mmap_wc.c                        |  2 +-
 tests/intel/gem_partial_pwrite_pread.c           |  2 +-
 tests/intel/gem_pipe_control_store_loop.c        |  2 +-
 tests/intel/gem_ppgtt.c                          |  2 +-
 tests/intel/gem_pread_after_blit.c               |  2 +-
 tests/intel/gem_pxp.c                            |  2 +-
 tests/intel/gem_read_read_speed.c                |  2 +-
 tests/intel/gem_readwrite.c                      |  2 +-
 tests/intel/gem_reg_read.c                       |  2 +-
 tests/intel/gem_render_copy_redux.c              |  2 +-
 tests/intel/gem_render_linear_blits.c            |  2 +-
 tests/intel/gem_render_tiled_blits.c             |  2 +-
 tests/intel/gem_request_retire.c                 |  2 +-
 tests/intel/gem_reset_stats.c                    |  2 +-
 tests/intel/gem_ringfill.c                       |  2 +-
 tests/intel/gem_set_tiling_vs_blt.c              |  2 +-
 tests/intel/gem_shrink.c                         |  2 +-
 tests/intel/gem_softpin.c                        |  2 +-
 tests/intel/gem_spin_batch.c                     |  2 +-
 tests/intel/gem_streaming_writes.c               |  2 +-
 tests/intel/gem_sync.c                           |  2 +-
 tests/intel/gem_tiled_blits.c                    |  2 +-
 tests/intel/gem_tiled_fence_blits.c              |  2 +-
 tests/intel/gem_tiled_partial_pwrite_pread.c     |  2 +-
 tests/intel/gem_tiled_swapping.c                 |  2 +-
 tests/intel/gem_vm_create.c                      |  2 +-
 tests/intel/gem_wait.c                           |  2 +-
 tests/intel/gem_watchdog.c                       |  2 +-
 tests/intel/gem_workarounds.c                    |  2 +-
 tests/intel/gen7_exec_parse.c                    |  2 +-
 tests/intel/gen9_exec_parse.c                    |  2 +-
 tests/intel/i915_drm_fdinfo.c                    |  2 +-
 tests/intel/i915_fb_tiling.c                     |  2 +-
 tests/intel/i915_getparams_basic.c               |  2 +-
 tests/intel/i915_hangman.c                       |  2 +-
 tests/intel/i915_module_load.c                   |  2 +-
 tests/intel/i915_pm_freq_api.c                   |  2 +-
 tests/intel/i915_pm_freq_mult.c                  |  2 +-
 tests/intel/i915_pm_rc6_residency.c              |  2 +-
 tests/intel/i915_pm_rps.c                        |  2 +-
 tests/intel/i915_pm_sseu.c                       |  2 +-
 tests/intel/i915_power.c                         |  2 +-
 tests/intel/i915_query.c                         |  2 +-
 tests/intel/i915_selftest.c                      |  2 +-
 tests/intel/i915_suspend.c                       |  2 +-
 tests/intel/intel_hwmon.c                        |  2 +-
 tests/intel/kms_big_fb.c                         |  2 +-
 tests/intel/kms_cdclk.c                          |  2 +-
 tests/intel/kms_dirtyfb.c                        |  2 +-
 tests/intel/kms_dp_link_training.c               |  2 +-
 tests/intel/kms_dp_linktrain_fallback.c          |  2 +-
 tests/intel/kms_draw_crc.c                       |  2 +-
 tests/intel/kms_fb_coherency.c                   |  2 +-
 tests/intel/kms_fbc_dirty_rect.c                 |  2 +-
 tests/intel/kms_fbcon_fbt.c                      |  2 +-
 tests/intel/kms_flip_scaled_crc.c                |  2 +-
 tests/intel/kms_flip_tiling.c                    |  2 +-
 tests/intel/kms_joiner.c                         |  2 +-
 tests/intel/kms_legacy_colorkey.c                |  2 +-
 tests/intel/kms_pipe_b_c_ivb.c                   |  2 +-
 tests/intel/kms_pipe_stress.c                    |  2 +-
 tests/intel/kms_pm_backlight.c                   |  2 +-
 tests/intel/kms_pm_dc.c                          |  2 +-
 tests/intel/kms_pm_lpsp.c                        |  2 +-
 tests/intel/kms_psr.c                            |  2 +-
 tests/intel/kms_psr2_sf.c                        |  2 +-
 tests/intel/kms_psr2_su.c                        |  2 +-
 tests/intel/kms_psr_stress_test.c                |  2 +-
 tests/intel/perf.c                               |  2 +-
 tests/intel/perf_pmu.c                           |  2 +-
 tests/intel/prime_busy.c                         |  2 +-
 tests/intel/prime_mmap.c                         |  2 +-
 tests/intel/prime_mmap_coherency.c               |  2 +-
 tests/intel/prime_mmap_kms.c                     |  2 +-
 tests/intel/prime_self_import.c                  |  2 +-
 tests/intel/sysfs_defaults.c                     |  2 +-
 tests/intel/sysfs_heartbeat_interval.c           |  2 +-
 tests/intel/sysfs_preempt_timeout.c              |  2 +-
 tests/intel/sysfs_timeslice_duration.c           |  2 +-
 tests/intel/xe_compute.c                         |  2 +-
 tests/intel/xe_compute_preempt.c                 |  2 +-
 tests/intel/xe_configfs.c                        |  2 +-
 tests/intel/xe_dma_buf_sync.c                    |  2 +-
 tests/intel/xe_drm_fdinfo.c                      |  2 +-
 tests/intel/xe_eudebug.c                         |  2 +-
 tests/intel/xe_eudebug_online.c                  |  2 +-
 tests/intel/xe_eudebug_sriov.c                   |  2 +-
 tests/intel/xe_evict.c                           |  2 +-
 tests/intel/xe_exec_atomic.c                     |  2 +-
 tests/intel/xe_exec_balancer.c                   |  2 +-
 tests/intel/xe_exec_basic.c                      |  2 +-
 tests/intel/xe_exec_capture.c                    |  2 +-
 tests/intel/xe_exec_compute_mode.c               |  2 +-
 tests/intel/xe_exec_fault_mode.c                 |  2 +-
 tests/intel/xe_exec_mix_modes.c                  |  2 +-
 tests/intel/xe_exec_queue_property.c             |  2 +-
 tests/intel/xe_exec_reset.c                      |  2 +-
 tests/intel/xe_exec_sip.c                        |  2 +-
 tests/intel/xe_exec_sip_eudebug.c                |  2 +-
 tests/intel/xe_exec_store.c                      |  2 +-
 tests/intel/xe_exec_system_allocator.c           |  2 +-
 tests/intel/xe_exec_threads.c                    |  2 +-
 tests/intel/xe_gt_freq.c                         |  2 +-
 tests/intel/xe_huc_copy.c                        |  2 +-
 tests/intel/xe_live_ktest.c                      |  2 +-
 tests/intel/xe_media_fill.c                      |  2 +-
 tests/intel/xe_mmap.c                            |  2 +-
 tests/intel/xe_module_load.c                     |  2 +-
 tests/intel/xe_noexec_ping_pong.c                |  2 +-
 tests/intel/xe_pm.c                              |  2 +-
 tests/intel/xe_pm_residency.c                    |  2 +-
 tests/intel/xe_pmu.c                             |  2 +-
 tests/intel/xe_prime_self_import.c               |  2 +-
 tests/intel/xe_pxp.c                             |  2 +-
 tests/intel/xe_query.c                           |  2 +-
 tests/intel/xe_spin_batch.c                      |  2 +-
 tests/intel/xe_sriov_flr.c                       |  2 +-
 tests/intel/xe_survivability.c                   |  2 +-
 tests/intel/xe_sysfs_defaults.c                  |  2 +-
 tests/intel/xe_sysfs_preempt_timeout.c           |  2 +-
 tests/intel/xe_sysfs_scheduler.c                 |  2 +-
 tests/intel/xe_sysfs_timeslice_duration.c        |  2 +-
 tests/intel/xe_tlb.c                             |  2 +-
 tests/intel/xe_vm.c                              |  2 +-
 tests/intel/xe_waitfence.c                       |  2 +-
 tests/intel/xe_wedged.c                          |  2 +-
 tests/kms_3d.c                                   |  2 +-
 tests/kms_addfb_basic.c                          |  2 +-
 tests/kms_async_flips.c                          |  2 +-
 tests/kms_atomic_interruptible.c                 |  2 +-
 tests/kms_bw.c                                   |  2 +-
 tests/kms_color.c                                |  2 +-
 tests/kms_content_protection.c                   |  2 +-
 tests/kms_cursor_legacy.c                        |  2 +-
 tests/kms_debugfs.c                              |  2 +-
 tests/kms_display_modes.c                        |  2 +-
 tests/kms_dither.c                               |  2 +-
 tests/kms_feature_discovery.c                    |  2 +-
 tests/kms_flip_event_leak.c                      |  2 +-
 tests/kms_getfb.c                                |  2 +-
 tests/kms_hdmi_inject.c                          |  2 +-
 tests/kms_hdr.c                                  |  2 +-
 tests/kms_invalid_mode.c                         |  2 +-
 tests/kms_lease.c                                |  2 +-
 tests/kms_multipipe_modeset.c                    |  2 +-
 tests/kms_panel_fitting.c                        |  2 +-
 tests/kms_plane_cursor.c                         |  2 +-
 tests/kms_plane_lowres.c                         |  2 +-
 tests/kms_prime.c                                |  2 +-
 tests/kms_prop_blob.c                            |  2 +-
 tests/kms_properties.c                           |  2 +-
 tests/kms_rmfb.c                                 |  2 +-
 tests/kms_scaling_modes.c                        |  2 +-
 tests/kms_selftest.c                             |  2 +-
 tests/kms_sequence.c                             |  2 +-
 tests/kms_tiled_display.c                        |  2 +-
 tests/kms_tv_load_detect.c                       |  2 +-
 tests/kms_universal_plane.c                      |  2 +-
 tests/meta_test.c                                |  2 +-
 tests/msm/msm_mapping.c                          |  2 +-
 tests/msm/msm_recovery.c                         |  2 +-
 tests/msm/msm_shrink.c                           |  2 +-
 tests/msm/msm_submit.c                           |  2 +-
 tests/msm/msm_submitoverhead.c                   |  2 +-
 tests/nouveau_crc.c                              |  2 +-
 tests/panfrost/panfrost_gem_new.c                |  2 +-
 tests/panfrost/panfrost_get_param.c              |  2 +-
 tests/panfrost/panfrost_prime.c                  |  2 +-
 tests/panfrost/panfrost_submit.c                 |  2 +-
 tests/panthor/panthor_gem.c                      |  2 +-
 tests/panthor/panthor_group.c                    |  2 +-
 tests/panthor/panthor_query.c                    |  2 +-
 tests/panthor/panthor_vm.c                       |  2 +-
 tests/prime_nv_api.c                             |  2 +-
 tests/prime_nv_pcopy.c                           |  2 +-
 tests/prime_nv_test.c                            |  2 +-
 tests/prime_vgem.c                               |  2 +-
 tests/sriov_basic.c                              |  2 +-
 tests/sw_sync.c                                  |  2 +-
 tests/syncobj_basic.c                            |  2 +-
 tests/syncobj_eventfd.c                          |  2 +-
 tests/syncobj_timeline.c                         |  2 +-
 tests/syncobj_wait.c                             |  2 +-
 tests/template.c                                 |  2 +-
 tests/tools_test.c                               |  2 +-
 tests/v3d/v3d_create_bo.c                        |  2 +-
 tests/v3d/v3d_get_bo_offset.c                    |  2 +-
 tests/v3d/v3d_get_param.c                        |  2 +-
 tests/v3d/v3d_job_submission.c                   |  2 +-
 tests/v3d/v3d_mmap.c                             |  2 +-
 tests/v3d/v3d_perfmon.c                          |  2 +-
 tests/v3d/v3d_submit_cl.c                        |  2 +-
 tests/v3d/v3d_submit_csd.c                       |  2 +-
 tests/v3d/v3d_wait_bo.c                          |  2 +-
 tests/vc4/vc4_create_bo.c                        |  2 +-
 tests/vc4/vc4_dmabuf_poll.c                      |  2 +-
 tests/vc4/vc4_label_bo.c                         |  2 +-
 tests/vc4/vc4_lookup_fail.c                      |  2 +-
 tests/vc4/vc4_mmap.c                             |  2 +-
 tests/vc4/vc4_perfmon.c                          |  2 +-
 tests/vc4/vc4_purgeable_bo.c                     |  2 +-
 tests/vc4/vc4_tiling.c                           |  2 +-
 tests/vc4/vc4_wait_bo.c                          |  2 +-
 tests/vc4/vc4_wait_seqno.c                       |  2 +-
 tests/vgem_basic.c                               |  2 +-
 tests/vgem_slow.c                                |  2 +-
 tests/vkms/vkms_configfs.c                       |  2 +-
 tests/vmwgfx/vmw_mob_stress.c                    |  2 +-
 tests/vmwgfx/vmw_prime.c                         |  2 +-
 tests/vmwgfx/vmw_ref_count.c                     |  2 +-
 tests/vmwgfx/vmw_surface_copy.c                  |  2 +-
 tests/vmwgfx/vmw_tri.c                           |  2 +-
 365 files changed, 372 insertions(+), 372 deletions(-)

diff --git a/benchmarks/gem_userptr_benchmark.c b/benchmarks/gem_userptr_benchmark.c
index cfd50252438a..91a3ddbd4ec8 100644
--- a/benchmarks/gem_userptr_benchmark.c
+++ b/benchmarks/gem_userptr_benchmark.c
@@ -450,7 +450,7 @@ static void test_userptr(int fd)
 	test_multiple(fd, 100, 1);
 }
 
-igt_main
+igt_main()
 {
 	int fd = -1, ret;
 
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 94236bf2ee87..a8cc5fa27e63 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1499,7 +1499,7 @@ static bool valid_name_for_subtest(const char *subtest_name)
 bool __igt_run_subtest(const char *subtest_name, const char *file, const int line)
 {
 	internal_assert(!igt_can_fail(),
-			"igt_subtest can be nested only in igt_main"
+			"igt_subtest can be nested only in igt_main()"
 			" or igt_subtest_group()\n");
 
 	if (!valid_name_for_subtest(subtest_name)) {
@@ -2362,7 +2362,7 @@ void __igt_abort(const char *domain, const char *file, const int line,
  *
  * It is an error to normally exit a test calling igt_exit() - without it the
  * result reporting will be wrong. To avoid such issues it is highly recommended
- * to use #igt_main or #igt_simple_main instead of a hand-rolled main() function.
+ * to use #igt_main() or #igt_simple_main instead of a hand-rolled main() function.
  */
 void igt_exit(void)
 {
@@ -3122,7 +3122,7 @@ bool igt_run_in_simulation(void)
  * it is allowed to use this outside of an #igt_fixture() block in a test with
  * subtests. This is because in contrast to most other test requirements,
  * checking for simulation mode doesn't depend upon the present hardware and it
- * so makes a lot of sense to have this check in the outermost #igt_main block.
+ * so makes a lot of sense to have this check in the outermost #igt_main() block.
  */
 void igt_skip_on_simulation(void)
 {
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 422711b5e372..ef70983eaa66 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -193,7 +193,7 @@ int igt_subtest_init_parse_opts(int *argc, char **argv,
  * igt_subtest_init_parse_opts().
  *
  * If there's not a reason to the contrary it's less error prone to just use an
- * #igt_main block instead of stitching the test's main() function together
+ * #igt_main() block instead of stitching the test's main() function together
  * manually.
  */
 #define igt_subtest_init(argc, argv) \
@@ -318,7 +318,7 @@ bool __igt_run_dynamic_subtest(const char *dynamic_subtest_name);
  * allowed. Example:
  *
  * |[<!-- language="C" -->
- * igt_main
+ * igt_main()
  * {
  *     igt_subtest_with_dynamic("engine-tests") {
  *               igt_require(is_awesome(fd)); // requires ok here
@@ -438,12 +438,12 @@ void __igt_subtest_group_restore(int, int);
 
 
 /**
- * igt_main:
+ * igt_main():
  *
  * This is a magic control flow block used instead of a main() function for
  * tests with subtests. Open-coding the main() function is not recommended.
  */
-#define igt_main igt_main_args(NULL, NULL, NULL, NULL, NULL)
+#define igt_main() igt_main_args(NULL, NULL, NULL, NULL, NULL)
 
 const char *igt_test_name(void);
 void igt_simple_init_parse_opts(int *argc, char **argv,
@@ -595,7 +595,7 @@ void igt_describe_f(const char *fmt, ...);
  * #include "igt.h"
  *
  * IGT_TEST_DESCRIPTION("Global description of the whole binary");
- * igt_main
+ * igt_main()
  * {
  * 	igt_describe("Desc of the subgroup with A and B");
  * 	igt_subtest_group() {
@@ -646,7 +646,7 @@ void igt_describe_f(const char *fmt, ...);
  * |[<!-- language="C" -->
  * #include "igt.h"
  *
- * igt_main
+ * igt_main()
  * {
  * 	igt_describe("check xyz with different tilings");
  * 	igt_subtest_group() {
diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c
index dd223a0f8ca6..6ef119174994 100644
--- a/lib/igt_kmod.c
+++ b/lib/igt_kmod.c
@@ -1212,7 +1212,7 @@ void igt_kunit(const char *module_name, const char *suite, const char *opts)
 	/*
 	 * We need to use igt_subtest here, as otherwise it may crash with:
 	 * "skipping is allowed only in fixtures, subtests or igt_simple_main"
-	 * if used on igt_main. This is also needed in order to provide
+	 * if used on igt_main(). This is also needed in order to provide
 	 * proper namespace for dynamic subtests, with is required for CI
 	 * and for documentation.
 	 */
diff --git a/lib/tests/bad_subtest_type.c b/lib/tests/bad_subtest_type.c
index a7580f9dc701..ec522c49bdbc 100644
--- a/lib/tests/bad_subtest_type.c
+++ b/lib/tests/bad_subtest_type.c
@@ -8,7 +8,7 @@
 
 IGT_TEST_DESCRIPTION("Test bad-scoped file descriptor variable");
 
-igt_main
+igt_main()
 {
 	igt_describe("Check if using a scoped variable inside a subtest will abort it");
 	igt_subtest("bad-scoped-variable") {
diff --git a/lib/tests/i915_perf_data_alignment.c b/lib/tests/i915_perf_data_alignment.c
index 8c14e0d0e172..6d2e1de1e4fd 100644
--- a/lib/tests/i915_perf_data_alignment.c
+++ b/lib/tests/i915_perf_data_alignment.c
@@ -30,7 +30,7 @@
 
 #define is_aligned(s) ((sizeof(s) % 8) == 0)
 
-igt_main
+igt_main()
 {
 	igt_subtest("alignment") {
 		internal_assert(is_aligned(struct intel_perf_record_version));
diff --git a/lib/tests/igt_assert.c b/lib/tests/igt_assert.c
index 10c08f9860bb..f866870da6bf 100644
--- a/lib/tests/igt_assert.c
+++ b/lib/tests/igt_assert.c
@@ -125,7 +125,7 @@ static void test_fd(void)
 	igt_assert_fd(INT_MAX);
 }
 
-igt_main
+igt_main()
 {
 	int ret;
 
diff --git a/lib/tests/igt_audio.c b/lib/tests/igt_audio.c
index c559f2e16a07..93dda16c6641 100644
--- a/lib/tests/igt_audio.c
+++ b/lib/tests/igt_audio.c
@@ -174,7 +174,7 @@ static void test_signal_detect_phaseshift(struct audio_signal *signal)
 	igt_assert(!ok);
 }
 
-igt_main
+igt_main()
 {
 	struct audio_signal *signal = NULL;
 	int ret;
diff --git a/lib/tests/igt_can_fail.c b/lib/tests/igt_can_fail.c
index 2f145412ad67..034d60df3bf1 100644
--- a/lib/tests/igt_can_fail.c
+++ b/lib/tests/igt_can_fail.c
@@ -26,7 +26,7 @@
 
 #include "igt_tests_common.h"
 
-igt_main
+igt_main()
 {
 	internal_assert(igt_can_fail() == false);
 
diff --git a/lib/tests/igt_hook.c b/lib/tests/igt_hook.c
index b5d820c94ae0..445d619db2f0 100644
--- a/lib/tests/igt_hook.c
+++ b/lib/tests/igt_hook.c
@@ -149,7 +149,7 @@ static void test_all_env_vars(void)
 	free(line);
 }
 
-igt_main
+igt_main()
 {
 	test_invalid_hook_descriptors();
 
diff --git a/lib/tests/igt_ktap_parser.c b/lib/tests/igt_ktap_parser.c
index 8c2d16080db4..73c2b7e358fd 100644
--- a/lib/tests/igt_ktap_parser.c
+++ b/lib/tests/igt_ktap_parser.c
@@ -230,7 +230,7 @@ static void ktap_top_version(void)
 	igt_ktap_free(&ktap);
 }
 
-igt_main
+igt_main()
 {
 	igt_subtest("list")
 		ktap_list();
diff --git a/lib/tests/igt_runnercomms_packets.c b/lib/tests/igt_runnercomms_packets.c
index 167ad8e6879c..1f752b43305a 100644
--- a/lib/tests/igt_runnercomms_packets.c
+++ b/lib/tests/igt_runnercomms_packets.c
@@ -214,7 +214,7 @@ struct {
 		      { NULL, NULL }
 };
 
-igt_main
+igt_main()
 {
 	igt_subtest("create-and-parse-normal") {
 		for (typeof (*basic_creation) *t = basic_creation; t->create; t++) {
diff --git a/lib/tests/igt_subtest_group.c b/lib/tests/igt_subtest_group.c
index 3568276dee71..691498157524 100644
--- a/lib/tests/igt_subtest_group.c
+++ b/lib/tests/igt_subtest_group.c
@@ -26,7 +26,7 @@
 
 #include "igt_tests_common.h"
 
-igt_main
+igt_main()
 {
 	/*
 	 * local variables have to be volatile here otherwise they end up being
diff --git a/lib/tests/igt_types.c b/lib/tests/igt_types.c
index e75a77157cda..8144157210ef 100644
--- a/lib/tests/igt_types.c
+++ b/lib/tests/igt_types.c
@@ -59,7 +59,7 @@ static void skip_delegate(void)
 	}
 }
 
-igt_main
+igt_main()
 {
 	/* Basic check that scopes will call their destructor */
 	cleanup_called = 0;
diff --git a/runner/runner_json_tests.c b/runner/runner_json_tests.c
index 7253c9069952..5d7ed593cce3 100644
--- a/runner/runner_json_tests.c
+++ b/runner/runner_json_tests.c
@@ -172,7 +172,7 @@ static const char *dirnames[] = {
 	"graceful-notrun",
 };
 
-igt_main
+igt_main()
 {
 	int dirfd = open(testdatadir, O_RDONLY | O_DIRECTORY);
 	size_t i;
diff --git a/runner/runner_kmemleak_test.c b/runner/runner_kmemleak_test.c
index 31b0e3b91b32..76ea97f096e7 100644
--- a/runner/runner_kmemleak_test.c
+++ b/runner/runner_kmemleak_test.c
@@ -213,7 +213,7 @@ const char *kmemleak_file_example =
 
 static const char *runner_kmemleak_unit_testing_resdir = "/tmp";
 
-igt_main
+igt_main()
 {
 	char unit_testing_kmemleak_filepath[256] = "/tmp/runner_kmemleak_test_XXXXXX";
 	int written_bytes;
diff --git a/runner/runner_tests.c b/runner/runner_tests.c
index bdba0bdd2077..c419eb9756cd 100644
--- a/runner/runner_tests.c
+++ b/runner/runner_tests.c
@@ -261,7 +261,7 @@ static void write_packet_with_canary(int fd, struct runnerpacket *packet)
 	free(packet);
 }
 
-igt_main
+igt_main()
 {
 	struct settings *settings = malloc(sizeof(*settings));
 
diff --git a/runner/testdata/abort-dynamic.c b/runner/testdata/abort-dynamic.c
index 66cf13a7d18c..11cace0145f3 100644
--- a/runner/testdata/abort-dynamic.c
+++ b/runner/testdata/abort-dynamic.c
@@ -23,7 +23,7 @@
 
 #include "igt.h"
 
-igt_main
+igt_main()
 {
 	igt_subtest_with_dynamic("a-subtest") {
 		igt_dynamic("dynamic-1")
diff --git a/runner/testdata/abort-fixture.c b/runner/testdata/abort-fixture.c
index f0ff5d678211..93759b29b82f 100644
--- a/runner/testdata/abort-fixture.c
+++ b/runner/testdata/abort-fixture.c
@@ -23,7 +23,7 @@
 
 #include "igt.h"
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		igt_abort_on_f(true, "I'm out!\n");
diff --git a/runner/testdata/abort.c b/runner/testdata/abort.c
index 074946a4f556..eb726a0dda4e 100644
--- a/runner/testdata/abort.c
+++ b/runner/testdata/abort.c
@@ -23,7 +23,7 @@
 
 #include "igt.h"
 
-igt_main
+igt_main()
 {
 	igt_subtest("a-subtest")
 		;
diff --git a/runner/testdata/dynamic.c b/runner/testdata/dynamic.c
index 8e5de7d96938..eabb49ef2ae5 100644
--- a/runner/testdata/dynamic.c
+++ b/runner/testdata/dynamic.c
@@ -1,6 +1,6 @@
 #include "igt.h"
 
-igt_main
+igt_main()
 {
 	igt_subtest_with_dynamic("dynamic-subtest") {
 		igt_dynamic("failing")
diff --git a/runner/testdata/skippers.c b/runner/testdata/skippers.c
index 1d58e418fab1..6dc117a41401 100644
--- a/runner/testdata/skippers.c
+++ b/runner/testdata/skippers.c
@@ -1,6 +1,6 @@
 #include "igt.h"
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		igt_require_f(false, "Skipping from fixture\n");
diff --git a/runner/testdata/successtest.c b/runner/testdata/successtest.c
index bb411eb45718..8055382181b5 100644
--- a/runner/testdata/successtest.c
+++ b/runner/testdata/successtest.c
@@ -1,6 +1,6 @@
 #include "igt.h"
 
-igt_main
+igt_main()
 {
 	igt_subtest("first-subtest")
 		igt_debug("Running first subtest\n");
diff --git a/tests/amdgpu/amd_abm.c b/tests/amdgpu/amd_abm.c
index b4bcd76d8c9c..7b850174bd00 100644
--- a/tests/amdgpu/amd_abm.c
+++ b/tests/amdgpu/amd_abm.c
@@ -498,7 +498,7 @@ static void abm_gradual(data_t *data)
 	}
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {0};
 	igt_skip_on_simulation();
diff --git a/tests/amdgpu/amd_assr.c b/tests/amdgpu/amd_assr.c
index 133e8cb097c5..559ae8abead1 100644
--- a/tests/amdgpu/amd_assr.c
+++ b/tests/amdgpu/amd_assr.c
@@ -267,7 +267,7 @@ static void test_assr_links(data_t *data, uint32_t test_flags)
 
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_basic.c b/tests/amdgpu/amd_basic.c
index 06562cde0bf0..fe0f7fad2297 100644
--- a/tests/amdgpu/amd_basic.c
+++ b/tests/amdgpu/amd_basic.c
@@ -662,7 +662,7 @@ amdgpu_sync_dependency_test(amdgpu_device_handle device_handle, bool user_queue)
 	free(ring_context);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {0};
diff --git a/tests/amdgpu/amd_basic_ex.c b/tests/amdgpu/amd_basic_ex.c
index e1cda3e9b6f5..01d89b5719aa 100644
--- a/tests/amdgpu/amd_basic_ex.c
+++ b/tests/amdgpu/amd_basic_ex.c
@@ -21,7 +21,7 @@ amdgpu_ce_write_after_fence(amdgpu_device_handle device_handle)
 	amdgpu_cs_ctx_free(context_handle);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {0};
diff --git a/tests/amdgpu/amd_basic_multi_gpu.c b/tests/amdgpu/amd_basic_multi_gpu.c
index 03a4a719138d..5ece374bab6a 100644
--- a/tests/amdgpu/amd_basic_multi_gpu.c
+++ b/tests/amdgpu/amd_basic_multi_gpu.c
@@ -157,7 +157,7 @@ static void amdgpu_command_submission_multi_fence(amdgpu_device_handle device)
 	amdgpu_command_submission_multi_fence_wait_all(device, false);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	int fd = -1;
diff --git a/tests/amdgpu/amd_bo.c b/tests/amdgpu/amd_bo.c
index 09fc7b496d6f..52a379eb17c6 100644
--- a/tests/amdgpu/amd_bo.c
+++ b/tests/amdgpu/amd_bo.c
@@ -248,7 +248,7 @@ amdgpu_bo_find_by_cpu_mapping(amdgpu_device_handle device_handle)
 				     bo_mc_address, 4096);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct bo_data bo;
diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
index 03ec30648abc..1d92d470027b 100644
--- a/tests/amdgpu/amd_bypass.c
+++ b/tests/amdgpu/amd_bypass.c
@@ -397,7 +397,7 @@ static void bypass_8bpc_test(data_t *data)
 	}
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 	memset(&data, 0, sizeof(data));
diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
index d2f3e9c659bc..c01ef1b84359 100644
--- a/tests/amdgpu/amd_color.c
+++ b/tests/amdgpu/amd_color.c
@@ -392,7 +392,7 @@ static void test_crtc_lut_accuracy(data_t *data)
 	lut_free(&lut_degamma);
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_cp_dma_misc.c b/tests/amdgpu/amd_cp_dma_misc.c
index e86d580c29c1..5ad799d8a6e0 100644
--- a/tests/amdgpu/amd_cp_dma_misc.c
+++ b/tests/amdgpu/amd_cp_dma_misc.c
@@ -8,7 +8,7 @@
 #include "lib/amdgpu/amd_cp_dma.h"
 #include "lib/amdgpu/amd_ip_blocks.h"
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	amdgpu_device_handle device2;
diff --git a/tests/amdgpu/amd_cs_nop.c b/tests/amdgpu/amd_cs_nop.c
index 4d6b5aaf267a..60a9d77e0918 100644
--- a/tests/amdgpu/amd_cs_nop.c
+++ b/tests/amdgpu/amd_cs_nop.c
@@ -146,7 +146,7 @@ static void nop_cs(amdgpu_device_handle device,
 	free(ring_context);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	amdgpu_context_handle context;
diff --git a/tests/amdgpu/amd_deadlock.c b/tests/amdgpu/amd_deadlock.c
index ea7c546cf797..73513055c17a 100644
--- a/tests/amdgpu/amd_deadlock.c
+++ b/tests/amdgpu/amd_deadlock.c
@@ -33,7 +33,7 @@ is_deadlock_tests_enable(const struct amdgpu_gpu_info *gpu_info)
 	return enable;
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {0};
diff --git a/tests/amdgpu/amd_dispatch.c b/tests/amdgpu/amd_dispatch.c
index bbd4761c7eb3..ad7a6fdbd04d 100644
--- a/tests/amdgpu/amd_dispatch.c
+++ b/tests/amdgpu/amd_dispatch.c
@@ -76,7 +76,7 @@ amdgpu_gpu_reset_test(amdgpu_device_handle device_handle, int drm_amdgpu,
 	amdgpu_gfx_dispatch_test(device_handle, AMDGPU_HW_IP_COMPUTE, 0, pci, false);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {0};
diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c
index 68d774ffbeb3..9701df2bd6cb 100644
--- a/tests/amdgpu/amd_dp_dsc.c
+++ b/tests/amdgpu/amd_dp_dsc.c
@@ -537,7 +537,7 @@ static void test_dsc_bpc(data_t *data)
 	test_fini(data);
 }
 
-igt_main {
+igt_main() {
 	data_t data = { 0 };
 
 	igt_skip_on_simulation();
diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
index fbc770311f30..41de7b19217c 100644
--- a/tests/amdgpu/amd_freesync_video_mode.c
+++ b/tests/amdgpu/amd_freesync_video_mode.c
@@ -860,7 +860,7 @@ run_test(data_t *data, uint32_t scene)
 		igt_skip("No vrr capable outputs found.\n");
 }
 
-igt_main {
+igt_main() {
 	data_t data = {};
 
 	memset(&data, 0, sizeof(data));
diff --git a/tests/amdgpu/amd_fuzzing.c b/tests/amdgpu/amd_fuzzing.c
index e9109c5b8076..c1b5ad4843f6 100644
--- a/tests/amdgpu/amd_fuzzing.c
+++ b/tests/amdgpu/amd_fuzzing.c
@@ -155,7 +155,7 @@ amd_gem_create_fuzzing(int fd)
 
 }
 
-igt_main
+igt_main()
 {
 	int fd = -1;
 	const enum amd_ip_block_type arr_types[] = {
diff --git a/tests/amdgpu/amd_gang_cs.c b/tests/amdgpu/amd_gang_cs.c
index 242a331feb91..b808f1518bef 100644
--- a/tests/amdgpu/amd_gang_cs.c
+++ b/tests/amdgpu/amd_gang_cs.c
@@ -238,7 +238,7 @@ amdgpu_cs_gang(amdgpu_device_handle device, uint32_t ring, bool is_vmid)
 	free(ring_context);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {0};
diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c
index 47c066349596..bd2e59d03079 100644
--- a/tests/amdgpu/amd_hotplug.c
+++ b/tests/amdgpu/amd_hotplug.c
@@ -200,7 +200,7 @@ static void test_hotplug_basic(data_t *data, bool suspend)
 	test_fini(data);
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_ilr.c b/tests/amdgpu/amd_ilr.c
index ee9695f9eba4..a1cb82cff69b 100644
--- a/tests/amdgpu/amd_ilr.c
+++ b/tests/amdgpu/amd_ilr.c
@@ -315,7 +315,7 @@ static void test_flow(data_t *data, enum sub_test option)
 	}
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 	memset(&data, 0, sizeof(data));
diff --git a/tests/amdgpu/amd_info.c b/tests/amdgpu/amd_info.c
index 2fc9b8e81083..9657bf320038 100644
--- a/tests/amdgpu/amd_info.c
+++ b/tests/amdgpu/amd_info.c
@@ -117,7 +117,7 @@ time_stamp_test_enable(struct amdgpu_gpu_info *gpu_info)
 	return true;
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {};
diff --git a/tests/amdgpu/amd_jpeg_dec.c b/tests/amdgpu/amd_jpeg_dec.c
index 6ff2ad68d865..713ede11a4bc 100644
--- a/tests/amdgpu/amd_jpeg_dec.c
+++ b/tests/amdgpu/amd_jpeg_dec.c
@@ -217,7 +217,7 @@ amdgpu_cs_jpeg_decode(amdgpu_device_handle device_handle,
 	mmd_context_clean(device_handle, context);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_shared_context shared_context = {};
diff --git a/tests/amdgpu/amd_jpeg_queue.c b/tests/amdgpu/amd_jpeg_queue.c
index 4a3146e0f3a3..5f4a3d90ac8a 100644
--- a/tests/amdgpu/amd_jpeg_queue.c
+++ b/tests/amdgpu/amd_jpeg_queue.c
@@ -76,7 +76,7 @@ err_handle:
 	return ret;
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_shared_context shared_context = {};
diff --git a/tests/amdgpu/amd_link_settings.c b/tests/amdgpu/amd_link_settings.c
index 351d36fd81dd..e42843023397 100644
--- a/tests/amdgpu/amd_link_settings.c
+++ b/tests/amdgpu/amd_link_settings.c
@@ -246,7 +246,7 @@ static void test_link_training_configs(data_t *data)
 	test_fini(data);
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 	memset(&data, 0, sizeof(data));
diff --git a/tests/amdgpu/amd_mall.c b/tests/amdgpu/amd_mall.c
index 36b9271d7295..b4bf2c5adc2a 100644
--- a/tests/amdgpu/amd_mall.c
+++ b/tests/amdgpu/amd_mall.c
@@ -128,7 +128,7 @@ static void test_mall_ss(data_t *data)
 	test_fini(data);
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
index 51e6eb7cd1c9..98dd8fd7fb63 100644
--- a/tests/amdgpu/amd_max_bpc.c
+++ b/tests/amdgpu/amd_max_bpc.c
@@ -118,7 +118,7 @@ static void test_4k_mode_max_bpc(data_t *data)
 	test_fini(data);
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_mem_leak.c b/tests/amdgpu/amd_mem_leak.c
index 4ea1243a731c..5bcd2be239e9 100644
--- a/tests/amdgpu/amd_mem_leak.c
+++ b/tests/amdgpu/amd_mem_leak.c
@@ -127,7 +127,7 @@ static void test_hotplug(data_t *data)
 	test_fini(data);
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_mode_switch.c b/tests/amdgpu/amd_mode_switch.c
index bd89b7f338e5..eaeafd32a134 100644
--- a/tests/amdgpu/amd_mode_switch.c
+++ b/tests/amdgpu/amd_mode_switch.c
@@ -176,7 +176,7 @@ static void run_mode_switch_first_last(data_t *data, int num_pipes)
 }
 
 IGT_TEST_DESCRIPTION("Test switching between supported modes");
-igt_main
+igt_main()
 {
 	data_t data;
 	int i = 0;
diff --git a/tests/amdgpu/amd_module_load.c b/tests/amdgpu/amd_module_load.c
index aef7ec786791..589f8bd2aa3a 100644
--- a/tests/amdgpu/amd_module_load.c
+++ b/tests/amdgpu/amd_module_load.c
@@ -59,7 +59,7 @@ static void sanity_check(void)
 	igt_assert_eq(err, 0);
 }
 
-igt_main
+igt_main()
 {
 	igt_describe("Make sure reloading amdgpu drivers works");
 	igt_subtest("reload") {
diff --git a/tests/amdgpu/amd_multidisplay_modeset.c b/tests/amdgpu/amd_multidisplay_modeset.c
index b7434b089e88..1a31cd74c8d1 100644
--- a/tests/amdgpu/amd_multidisplay_modeset.c
+++ b/tests/amdgpu/amd_multidisplay_modeset.c
@@ -406,7 +406,7 @@ static void multiple_display_test(struct data_t *data, enum sub_test test_mode)
 }
 
 IGT_TEST_DESCRIPTION("Test multi-display mode set, display enable and disable");
-igt_main
+igt_main()
 {
 	struct data_t data;
 
diff --git a/tests/amdgpu/amd_odm.c b/tests/amdgpu/amd_odm.c
index 9514c08fede2..3cb2996f746f 100644
--- a/tests/amdgpu/amd_odm.c
+++ b/tests/amdgpu/amd_odm.c
@@ -160,7 +160,7 @@ static void run_test_odmc(struct data *data, enum odmc_mode m, const drmModeMode
 	test_fini(data);
 }
 
-igt_main
+igt_main()
 {
 	struct data data;
 
diff --git a/tests/amdgpu/amd_pci_unplug.c b/tests/amdgpu/amd_pci_unplug.c
index ad8c1fd1d003..ee6ede43017a 100644
--- a/tests/amdgpu/amd_pci_unplug.c
+++ b/tests/amdgpu/amd_pci_unplug.c
@@ -31,7 +31,7 @@
 #include "lib/amdgpu/amd_ip_blocks.h"
 
 
-igt_main
+igt_main()
 {
 
 	struct amd_pci_unplug_setup setup = {0};
diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
index 130d4231a680..71c294053369 100644
--- a/tests/amdgpu/amd_plane.c
+++ b/tests/amdgpu/amd_plane.c
@@ -896,7 +896,7 @@ static void test_mpo_swizzle_toggle(data_t *data)
 }
 
 
-igt_main
+igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_prime.c b/tests/amdgpu/amd_prime.c
index 57fdfe8c61ed..fbab2d164fe1 100644
--- a/tests/amdgpu/amd_prime.c
+++ b/tests/amdgpu/amd_prime.c
@@ -428,7 +428,7 @@ static void shrink(int i915, int amd, amdgpu_device_handle device)
 	gem_close(i915, handle);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	int i915 = -1, amd = -1;
diff --git a/tests/amdgpu/amd_pstate.c b/tests/amdgpu/amd_pstate.c
index 448a5618f6d9..d2ea44826254 100644
--- a/tests/amdgpu/amd_pstate.c
+++ b/tests/amdgpu/amd_pstate.c
@@ -40,7 +40,7 @@ amdgpu_stable_pstate_test(amdgpu_device_handle device_handle)
 
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	int fd = -1;
diff --git a/tests/amdgpu/amd_queue_reset.c b/tests/amdgpu/amd_queue_reset.c
index bb406324010f..3058eac26780 100644
--- a/tests/amdgpu/amd_queue_reset.c
+++ b/tests/amdgpu/amd_queue_reset.c
@@ -1100,7 +1100,7 @@ get_num_of_tests(struct dynamic_test *arr_err, enum amd_ip_block_type *ip_tests,
 	return cnt;
 }
 
-igt_main
+igt_main()
 {
 	char cmdline[2048];
 	int argc = 0;
diff --git a/tests/amdgpu/amd_ras.c b/tests/amdgpu/amd_ras.c
index 70ebed630180..4303908bedc6 100644
--- a/tests/amdgpu/amd_ras.c
+++ b/tests/amdgpu/amd_ras.c
@@ -988,7 +988,7 @@ ras_tests_cleanup(struct amd_ras_setup *setup)
 	}
 }
 
-igt_main
+igt_main()
 {
 	struct amd_ras_setup setup = {};
 	bool render_mode = true;
diff --git a/tests/amdgpu/amd_security.c b/tests/amdgpu/amd_security.c
index 65b527fd38f3..cef083d23b42 100644
--- a/tests/amdgpu/amd_security.c
+++ b/tests/amdgpu/amd_security.c
@@ -308,7 +308,7 @@ is_security_tests_enable(amdgpu_device_handle device_handle,
 	return enable;
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {};
diff --git a/tests/amdgpu/amd_subvp.c b/tests/amdgpu/amd_subvp.c
index 8a7268b8a33e..984d661e846c 100644
--- a/tests/amdgpu/amd_subvp.c
+++ b/tests/amdgpu/amd_subvp.c
@@ -152,7 +152,7 @@ static void test_subvp(struct data *data)
 	test_fini(data);
 }
 
-igt_main
+igt_main()
 {
 	struct data data;
 
diff --git a/tests/amdgpu/amd_syncobj.c b/tests/amdgpu/amd_syncobj.c
index a5e53d9f42ad..e06769bcab67 100644
--- a/tests/amdgpu/amd_syncobj.c
+++ b/tests/amdgpu/amd_syncobj.c
@@ -234,7 +234,7 @@ amdgpu_syncobj_timeline(amdgpu_device_handle device_handle)
 
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	int fd = -1;
diff --git a/tests/amdgpu/amd_uvd_dec.c b/tests/amdgpu/amd_uvd_dec.c
index 6151a59adc1b..5e7d5b34fa20 100644
--- a/tests/amdgpu/amd_uvd_dec.c
+++ b/tests/amdgpu/amd_uvd_dec.c
@@ -294,7 +294,7 @@ amdgpu_uvd_dec_destroy(amdgpu_device_handle device_handle, struct mmd_context *c
 	igt_assert_eq(r, 0);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_context context = {};
diff --git a/tests/amdgpu/amd_uvd_enc.c b/tests/amdgpu/amd_uvd_enc.c
index 53d82c0e92d3..4e2780239681 100644
--- a/tests/amdgpu/amd_uvd_enc.c
+++ b/tests/amdgpu/amd_uvd_enc.c
@@ -309,7 +309,7 @@ amdgpu_uvd_enc_test(amdgpu_device_handle device, struct mmd_shared_context *shar
 
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_shared_context shared_context = {};
diff --git a/tests/amdgpu/amd_vce_enc.c b/tests/amdgpu/amd_vce_enc.c
index b6dee0467dc2..a95e13d98620 100644
--- a/tests/amdgpu/amd_vce_enc.c
+++ b/tests/amdgpu/amd_vce_enc.c
@@ -586,7 +586,7 @@ amdgpu_vce_enc_test(amdgpu_device_handle device, struct mmd_shared_context *shar
 	mmd_context_clean(device, context);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_shared_context shared_context = {};
diff --git a/tests/amdgpu/amd_vcn.c b/tests/amdgpu/amd_vcn.c
index da8050640238..2c7a84ccb22e 100644
--- a/tests/amdgpu/amd_vcn.c
+++ b/tests/amdgpu/amd_vcn.c
@@ -1231,7 +1231,7 @@ amdgpu_cs_vcn_enc_destroy(amdgpu_device_handle device_handle,
 	free_resource(&v_context->enc_buf);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_context context = {};
diff --git a/tests/amdgpu/amd_vcn_queue.c b/tests/amdgpu/amd_vcn_queue.c
index 45cf78c087cf..8ba48389f626 100644
--- a/tests/amdgpu/amd_vcn_queue.c
+++ b/tests/amdgpu/amd_vcn_queue.c
@@ -57,7 +57,7 @@ vcn_queue_test(amdgpu_device_handle device_handle,
 	return 0;
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_context context = {};
diff --git a/tests/amdgpu/amd_vm.c b/tests/amdgpu/amd_vm.c
index 88f58f078902..b9d5bbae5ac4 100644
--- a/tests/amdgpu/amd_vm.c
+++ b/tests/amdgpu/amd_vm.c
@@ -197,7 +197,7 @@ amdgpu_vm_mapping_test(amdgpu_device_handle device_handle)
 	amdgpu_bo_free(buf);
 }
 
-igt_main
+igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {};
diff --git a/tests/amdgpu/amd_vpe.c b/tests/amdgpu/amd_vpe.c
index 93d91ffc565a..a6f49e605ac0 100644
--- a/tests/amdgpu/amd_vpe.c
+++ b/tests/amdgpu/amd_vpe.c
@@ -214,7 +214,7 @@ static void amdgpu_cs_vpe_blit(amdgpu_device_handle device_handle,
 	free_resource(&dst_plane_bo);
 }
 
-igt_main
+igt_main()
 {
 	struct mmd_context context = {};
 	struct mmd_shared_context shared_context = {};
diff --git a/tests/amdgpu/amd_vrr_range.c b/tests/amdgpu/amd_vrr_range.c
index f7aa43d6e8ef..5378e9cbda84 100644
--- a/tests/amdgpu/amd_vrr_range.c
+++ b/tests/amdgpu/amd_vrr_range.c
@@ -456,7 +456,7 @@ static inline void test_freesync_range_suspend(data_t *data)
 	test_freesync_range_base(data, TEST_SUSPEND);
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 
diff --git a/tests/chamelium/kms_chamelium_audio.c b/tests/chamelium/kms_chamelium_audio.c
index b296bdf7ef0a..89003fec468e 100644
--- a/tests/chamelium/kms_chamelium_audio.c
+++ b/tests/chamelium/kms_chamelium_audio.c
@@ -848,7 +848,7 @@ static void test_display_audio_edid(chamelium_data_t *data,
 }
 
 IGT_TEST_DESCRIPTION("Testing Audio with a Chamelium board");
-igt_main
+igt_main()
 {
 	chamelium_data_t data;
 	struct chamelium_port *port;
diff --git a/tests/chamelium/kms_chamelium_color.c b/tests/chamelium/kms_chamelium_color.c
index 4658678ae693..c07ea8b157c3 100644
--- a/tests/chamelium/kms_chamelium_color.c
+++ b/tests/chamelium/kms_chamelium_color.c
@@ -713,7 +713,7 @@ run_tests_for_pipe(data_t *data)
 
 }
 
-igt_main
+igt_main()
 {
 	int i;
 	data_t data = {};
diff --git a/tests/chamelium/kms_chamelium_frames.c b/tests/chamelium/kms_chamelium_frames.c
index 5194938b7564..3bc1902a9f27 100644
--- a/tests/chamelium/kms_chamelium_frames.c
+++ b/tests/chamelium/kms_chamelium_frames.c
@@ -984,7 +984,7 @@ static void test_display_planes_random(chamelium_data_t *data,
 }
 
 IGT_TEST_DESCRIPTION("Tests requiring a Chamelium board");
-igt_main
+igt_main()
 {
 	chamelium_data_t data;
 	struct chamelium_port *port;
diff --git a/tests/chamelium/kms_chamelium_hpd.c b/tests/chamelium/kms_chamelium_hpd.c
index 078166cbd955..e35132d14115 100644
--- a/tests/chamelium/kms_chamelium_hpd.c
+++ b/tests/chamelium/kms_chamelium_hpd.c
@@ -460,7 +460,7 @@ static void test_hpd_storm_disable(chamelium_data_t *data,
 }
 
 IGT_TEST_DESCRIPTION("Testing HPD with a Chamelium board");
-igt_main
+igt_main()
 {
 	chamelium_data_t data;
 	struct chamelium_port *port;
diff --git a/tests/chamelium/kms_chamelium_sharpness_filter.c b/tests/chamelium/kms_chamelium_sharpness_filter.c
index b11c4a21f5a7..a25ac8ad6dc0 100644
--- a/tests/chamelium/kms_chamelium_sharpness_filter.c
+++ b/tests/chamelium/kms_chamelium_sharpness_filter.c
@@ -241,7 +241,7 @@ run_sharpness_filter_test(data_t *data)
 	}
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/core_auth.c b/tests/core_auth.c
index 2cdaa2f2bec6..e6f4c60fca65 100644
--- a/tests/core_auth.c
+++ b/tests/core_auth.c
@@ -214,7 +214,7 @@ static void test_basic_auth(int master)
 	drm_close_driver(slave);
 }
 
-igt_main
+igt_main()
 {
 	/* root (which we run igt as) should always be authenticated */
 	igt_describe("Check drm client is always authenticated.");
diff --git a/tests/core_debugfs.c b/tests/core_debugfs.c
index cf2e128f3927..7f754ce052c1 100644
--- a/tests/core_debugfs.c
+++ b/tests/core_debugfs.c
@@ -23,7 +23,7 @@
 
 IGT_TEST_DESCRIPTION("Read entries from debugfs");
 
-igt_main
+igt_main()
 {
 	int debugfs = -1;
 	int fd = -1;
diff --git a/tests/core_getclient.c b/tests/core_getclient.c
index 7d34265908ea..bea04157f03f 100644
--- a/tests/core_getclient.c
+++ b/tests/core_getclient.c
@@ -47,7 +47,7 @@
 
 IGT_TEST_DESCRIPTION("Tests the DRM_IOCTL_GET_CLIENT ioctl.");
 
-igt_main
+igt_main()
 {
 	int fd, ret;
 	drm_client_t client;
diff --git a/tests/core_getstats.c b/tests/core_getstats.c
index f1bb134772d3..fc8bd510f969 100644
--- a/tests/core_getstats.c
+++ b/tests/core_getstats.c
@@ -55,7 +55,7 @@
 
 IGT_TEST_DESCRIPTION("Tests the DRM_IOCTL_GET_STATS ioctl.");
 
-igt_main
+igt_main()
 {
 	int fd, ret;
 	drm_stats_t stats;
diff --git a/tests/core_getversion.c b/tests/core_getversion.c
index 6ce53fe01c4d..2c69a65a5cd8 100644
--- a/tests/core_getversion.c
+++ b/tests/core_getversion.c
@@ -81,7 +81,7 @@ static void check_all_drm(void)
 	}
 }
 
-igt_main
+igt_main()
 {
 	char info[256];
 	int fd;
diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
index 9d8d3f1302bc..a970da41d196 100644
--- a/tests/core_hotunplug.c
+++ b/tests/core_hotunplug.c
@@ -672,7 +672,7 @@ static void hotreplug_lateclose(struct hotunplug *priv)
 
 /* Main */
 
-igt_main
+igt_main()
 {
 	struct hotunplug priv = {
 		.fd		= { .drm = -1, .drm_hc = -1, .sysfs_dev = -1, },
diff --git a/tests/core_setmaster.c b/tests/core_setmaster.c
index 7f6373c73780..b2063b9bccd2 100644
--- a/tests/core_setmaster.c
+++ b/tests/core_setmaster.c
@@ -133,7 +133,7 @@ static void tweak_perm(uint8_t *saved_perm, char *path, bool save)
 	igt_assert_f(!ret, "chmod failed with %d path=%s\n", errno, path);
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		/*
diff --git a/tests/core_sysfs.c b/tests/core_sysfs.c
index 7416d35cf06a..857dd3c537e9 100644
--- a/tests/core_sysfs.c
+++ b/tests/core_sysfs.c
@@ -24,7 +24,7 @@
 
 IGT_TEST_DESCRIPTION("Read entries from sysfs paths.");
 
-igt_main
+igt_main()
 {
 	int fd = -1;
 	int sysfs = -1;
diff --git a/tests/device_reset.c b/tests/device_reset.c
index 8ef7792003de..e51daacf43fa 100644
--- a/tests/device_reset.c
+++ b/tests/device_reset.c
@@ -439,7 +439,7 @@ static void unbind_reset_rebind(struct device_fds *dev, enum reset type)
 	driver_bind(dev);
 }
 
-igt_main
+igt_main()
 {
 	struct device_fds dev = { .fds = {-1, -1, -1}, .dev_bus_addr = {0}, };
 
diff --git a/tests/dmabuf.c b/tests/dmabuf.c
index 12c2db68f6df..da8bc0735bf0 100644
--- a/tests/dmabuf.c
+++ b/tests/dmabuf.c
@@ -92,7 +92,7 @@ static int wrapper(const char *dynamic_name,
 	return igt_kselftest_execute(tst, tl, NULL, NULL);
 }
 
-igt_main
+igt_main()
 {
 	igt_kselftests("dmabuf_selftests", NULL, NULL, NULL, wrapper);
 }
diff --git a/tests/dmabuf_sync_file.c b/tests/dmabuf_sync_file.c
index cce8bdbb9ce5..18a75f80a3d9 100644
--- a/tests/dmabuf_sync_file.c
+++ b/tests/dmabuf_sync_file.c
@@ -354,7 +354,7 @@ static void test_import_multiple(int fd, bool write)
 	igt_assert(!sync_file_busy(write_sync_file));
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/drm_buddy.c b/tests/drm_buddy.c
index 4f411464a761..58e7a582c542 100644
--- a/tests/drm_buddy.c
+++ b/tests/drm_buddy.c
@@ -8,7 +8,7 @@
 
 IGT_TEST_DESCRIPTION("Basic sanity check of DRM's buddy allocator (struct drm_buddy)");
 
-igt_main
+igt_main()
 {
 	igt_kunit("drm_buddy_test", NULL, NULL);
 }
diff --git a/tests/drm_mm.c b/tests/drm_mm.c
index e7b4c651f81e..58e56058bf1b 100644
--- a/tests/drm_mm.c
+++ b/tests/drm_mm.c
@@ -78,7 +78,7 @@
 
 IGT_TEST_DESCRIPTION("Basic sanity check of DRM's range manager (struct drm_mm)");
 
-igt_main
+igt_main()
 {
 	igt_kunit("drm_mm_test", NULL, NULL);
 }
diff --git a/tests/drm_read.c b/tests/drm_read.c
index 3e3103fdf61a..f48cd71ac8ac 100644
--- a/tests/drm_read.c
+++ b/tests/drm_read.c
@@ -270,7 +270,7 @@ static void test_short_buffer_wakeup(int in, enum pipe pipe)
 	close(w.fd);
 }
 
-igt_main
+igt_main()
 {
 	igt_display_t display;
 	struct igt_fb fb;
diff --git a/tests/drm_virtgpu.c b/tests/drm_virtgpu.c
index 2a89bd0ec3d8..b632708d104b 100644
--- a/tests/drm_virtgpu.c
+++ b/tests/drm_virtgpu.c
@@ -156,7 +156,7 @@ static void create_resource_if_needed(void)
 		 args.res_handle, args.bo_handle);
 }
 
-igt_main {
+igt_main() {
 	void *caps_buf = NULL;
 
 	igt_fixture() {
diff --git a/tests/dumb_buffer.c b/tests/dumb_buffer.c
index a8f30d88734b..ae89618bedb1 100644
--- a/tests/dumb_buffer.c
+++ b/tests/dumb_buffer.c
@@ -389,7 +389,7 @@ static void always_clear(int fd, int timeout)
 	igt_info("Checked %'lu page allocations\n", checked);
 }
 
-igt_main
+igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/fbdev.c b/tests/fbdev.c
index 387b99660fb5..cb331ba00f0a 100644
--- a/tests/fbdev.c
+++ b/tests/fbdev.c
@@ -452,7 +452,7 @@ static void framebuffer_tests(int fd)
 	}
 }
 
-igt_main
+igt_main()
 {
 	volatile int fd = -1;
 
diff --git a/tests/intel/api_intel_allocator.c b/tests/intel/api_intel_allocator.c
index e2ac8bf7a0e0..56889fe6cbd6 100644
--- a/tests/intel/api_intel_allocator.c
+++ b/tests/intel/api_intel_allocator.c
@@ -810,7 +810,7 @@ struct allocators {
 	{NULL, 0},
 };
 
-igt_main
+igt_main()
 {
 	int fd;
 	struct allocators *a;
diff --git a/tests/intel/gem_bad_reloc.c b/tests/intel/gem_bad_reloc.c
index 94b1e8ee5827..a3219827f544 100644
--- a/tests/intel/gem_bad_reloc.c
+++ b/tests/intel/gem_bad_reloc.c
@@ -206,7 +206,7 @@ static void negative_reloc_blt(int fd)
 		igt_assert_eq(buf[i], 0xc0ffee ^ i);
 }
 
-igt_main
+igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/intel/gem_barrier_race.c b/tests/intel/gem_barrier_race.c
index bdf6a9ef833a..e47f9cd82760 100644
--- a/tests/intel/gem_barrier_race.c
+++ b/tests/intel/gem_barrier_race.c
@@ -143,7 +143,7 @@ static void test_remote_request(int fd, uint64_t engine, unsigned int timeout)
 	munmap(done, 4096);
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/intel/gem_basic.c b/tests/intel/gem_basic.c
index 06281a739bfc..94ba793721c2 100644
--- a/tests/intel/gem_basic.c
+++ b/tests/intel/gem_basic.c
@@ -105,7 +105,7 @@ test_create_fd_close(int fd)
 	close(fd);
 }
 
-igt_main
+igt_main()
 {
 	igt_fd_t(fd);
 	int gpu_count;
diff --git a/tests/intel/gem_blits.c b/tests/intel/gem_blits.c
index 47fd4a3206f6..236b22a44d20 100644
--- a/tests/intel/gem_blits.c
+++ b/tests/intel/gem_blits.c
@@ -820,7 +820,7 @@ static bool blit_supports_tiling(int fd, enum blt_tiling_type tiling)
 	}
 }
 
-igt_main
+igt_main()
 {
 	struct device device;
 
diff --git a/tests/intel/gem_busy.c b/tests/intel/gem_busy.c
index 16831aee0ba1..13b8ad8441bf 100644
--- a/tests/intel/gem_busy.c
+++ b/tests/intel/gem_busy.c
@@ -469,7 +469,7 @@ static void all(int i915, const intel_ctx_t *ctx)
 		for_each_if (gem_class_can_store_dword(i915, (e)->class)) \
 			igt_dynamic_f("%s", (e)->name)
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_caching.c b/tests/intel/gem_caching.c
index a9d07c6a3498..0a613dbf0be8 100644
--- a/tests/intel/gem_caching.c
+++ b/tests/intel/gem_caching.c
@@ -155,7 +155,7 @@ blt_bo_fill(data_t *data, struct intel_bb *ibb, struct intel_buf *tmp_bo,
 #define TEST_READ 0x1
 #define TEST_WRITE 0x2
 #define TEST_BOTH (TEST_READ | TEST_WRITE)
-igt_main
+igt_main()
 {
 	struct intel_buf *scratch_buf, *staging_buf;
 	struct intel_bb *ibb;
diff --git a/tests/intel/gem_close.c b/tests/intel/gem_close.c
index e3667ef34171..fa99bb8c1f5b 100644
--- a/tests/intel/gem_close.c
+++ b/tests/intel/gem_close.c
@@ -137,7 +137,7 @@ static void test_many_handles(int fd)
 	}
 }
 
-igt_main
+igt_main()
 {
 	igt_fd_t(fd);
 
diff --git a/tests/intel/gem_close_race.c b/tests/intel/gem_close_race.c
index 6e32617e06d1..2359671ebe0a 100644
--- a/tests/intel/gem_close_race.c
+++ b/tests/intel/gem_close_race.c
@@ -336,7 +336,7 @@ static void threads(int timeout, unsigned int flags)
 	drm_close_driver(fd);
 }
 
-igt_main
+igt_main()
 {
 	int gpu_count;
 
diff --git a/tests/intel/gem_compute.c b/tests/intel/gem_compute.c
index 219a4db2fc83..ad5542c140fe 100644
--- a/tests/intel/gem_compute.c
+++ b/tests/intel/gem_compute.c
@@ -31,7 +31,7 @@ test_compute_square(int fd)
 		      "GPU not supported\n");
 }
 
-igt_main
+igt_main()
 {
 	int i915;
 
diff --git a/tests/intel/gem_concurrent_all.c b/tests/intel/gem_concurrent_all.c
index 5235de888b38..65db04bfee97 100644
--- a/tests/intel/gem_concurrent_all.c
+++ b/tests/intel/gem_concurrent_all.c
@@ -1775,7 +1775,7 @@ num_buffers(uint64_t max,
 	return n;
 }
 
-igt_main
+igt_main()
 {
 	const struct access_mode modes[] = {
 		{
diff --git a/tests/intel/gem_create.c b/tests/intel/gem_create.c
index 4253a055f0e8..87490b3757c1 100644
--- a/tests/intel/gem_create.c
+++ b/tests/intel/gem_create.c
@@ -946,7 +946,7 @@ static void create_ext_cpu_access_big(int fd)
 	free(regions);
 }
 
-igt_main
+igt_main()
 {
 	igt_fd_t(fd);
 
diff --git a/tests/intel/gem_cs_tlb.c b/tests/intel/gem_cs_tlb.c
index ed9acf004c64..fd40d6484f24 100644
--- a/tests/intel/gem_cs_tlb.c
+++ b/tests/intel/gem_cs_tlb.c
@@ -154,7 +154,7 @@ static void run_on_ring(int fd, const intel_ctx_t *ctx,
 	}
 }
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_ctx_bad_destroy.c b/tests/intel/gem_ctx_bad_destroy.c
index 3d1e909daa70..83e56420be3d 100644
--- a/tests/intel/gem_ctx_bad_destroy.c
+++ b/tests/intel/gem_ctx_bad_destroy.c
@@ -58,7 +58,7 @@ IGT_TEST_DESCRIPTION("Negative test cases for destroy contexts.");
 uint32_t ctx_id;
 int fd;
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		fd = drm_open_driver_render(DRIVER_INTEL);
diff --git a/tests/intel/gem_ctx_create.c b/tests/intel/gem_ctx_create.c
index 3070dd9ac316..6bebc290d249 100644
--- a/tests/intel/gem_ctx_create.c
+++ b/tests/intel/gem_ctx_create.c
@@ -614,7 +614,7 @@ static void iris_pipeline(int i915)
 #endif /* I915_DEFINE_CONTEXT_PARAM_ENGINES */
 }
 
-igt_main
+igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	struct drm_i915_gem_context_create create;
diff --git a/tests/intel/gem_ctx_engines.c b/tests/intel/gem_ctx_engines.c
index 5c2bf93abe0a..b626094875ca 100644
--- a/tests/intel/gem_ctx_engines.c
+++ b/tests/intel/gem_ctx_engines.c
@@ -609,7 +609,7 @@ static void independent_all(int i915, const intel_ctx_t *ctx)
 	igt_waitchildren();
 }
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	igt_fd_t(i915);
diff --git a/tests/intel/gem_ctx_exec.c b/tests/intel/gem_ctx_exec.c
index 025f25a20e8b..481bd18323f3 100644
--- a/tests/intel/gem_ctx_exec.c
+++ b/tests/intel/gem_ctx_exec.c
@@ -486,7 +486,7 @@ static void close_race(int i915)
 	munmap(ctx_id, 4096);
 }
 
-igt_main
+igt_main()
 {
 	const uint32_t batch[2] = { 0, MI_BATCH_BUFFER_END };
 	uint32_t handle;
diff --git a/tests/intel/gem_ctx_freq.c b/tests/intel/gem_ctx_freq.c
index 8b8205e2acd3..3fb87b79fd34 100644
--- a/tests/intel/gem_ctx_freq.c
+++ b/tests/intel/gem_ctx_freq.c
@@ -260,7 +260,7 @@ static void disable_boost(void)
 		__disable_boost(dirfd);
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
diff --git a/tests/intel/gem_ctx_isolation.c b/tests/intel/gem_ctx_isolation.c
index 73e773f301ff..1337b86a05e0 100644
--- a/tests/intel/gem_ctx_isolation.c
+++ b/tests/intel/gem_ctx_isolation.c
@@ -1004,7 +1004,7 @@ static unsigned int __has_context_isolation(int fd)
 		for_each_if(mask & (1 << (e)->class)) \
 			igt_dynamic_f("%s", (e)->name)
 
-igt_main
+igt_main()
 {
 	unsigned int has_context_isolation = 0;
 	const struct intel_execution_engine2 *e;
diff --git a/tests/intel/gem_ctx_param.c b/tests/intel/gem_ctx_param.c
index 44bde4dee93b..5da9522f51b6 100644
--- a/tests/intel/gem_ctx_param.c
+++ b/tests/intel/gem_ctx_param.c
@@ -372,7 +372,7 @@ static void test_get_invalid_param(int fd, uint64_t param)
 	igt_assert_eq(err, -EINVAL);
 }
 
-igt_main
+igt_main()
 {
 	struct drm_i915_gem_context_param arg;
 	int fd;
diff --git a/tests/intel/gem_ctx_persistence.c b/tests/intel/gem_ctx_persistence.c
index 2fc82bdc3c6f..379a82d42185 100644
--- a/tests/intel/gem_ctx_persistence.c
+++ b/tests/intel/gem_ctx_persistence.c
@@ -1331,7 +1331,7 @@ static void exit_handler(int sig)
 	enable_hangcheck(i915);
 }
 
-igt_main
+igt_main()
 {
 	const intel_ctx_cfg_t empty_cfg = {};
 	struct {
diff --git a/tests/intel/gem_ctx_shared.c b/tests/intel/gem_ctx_shared.c
index 575e0cebd80f..c9af1ae0a813 100644
--- a/tests/intel/gem_ctx_shared.c
+++ b/tests/intel/gem_ctx_shared.c
@@ -1023,7 +1023,7 @@ static void smoketest(int i915, const intel_ctx_cfg_t *cfg,
 			    !gem_engine_can_block_ggtt_binder(i915, e)) \
 			igt_dynamic_f("%s", e->name)
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	intel_ctx_cfg_t cfg;
diff --git a/tests/intel/gem_ctx_sseu.c b/tests/intel/gem_ctx_sseu.c
index 45fcb16e6fa6..aa4e8472761a 100644
--- a/tests/intel/gem_ctx_sseu.c
+++ b/tests/intel/gem_ctx_sseu.c
@@ -514,7 +514,7 @@ out:
 	gem_context_destroy(fd, arg.ctx_id);
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/intel/gem_ctx_switch.c b/tests/intel/gem_ctx_switch.c
index 0fa31b4c27f9..270d4c8cc0ba 100644
--- a/tests/intel/gem_ctx_switch.c
+++ b/tests/intel/gem_ctx_switch.c
@@ -686,7 +686,7 @@ has_queues(int fd)
 	return gem_has_vm(fd) && gem_context_has_single_timeline(fd);
 }
 
-igt_main
+igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	const struct intel_execution_engine2 *e2;
diff --git a/tests/intel/gem_eio.c b/tests/intel/gem_eio.c
index e589a62d534c..fafed9205ad0 100644
--- a/tests/intel/gem_eio.c
+++ b/tests/intel/gem_eio.c
@@ -1102,7 +1102,7 @@ exit_handler(int sig)
 	igt_force_gpu_reset(fd);
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
diff --git a/tests/intel/gem_evict_alignment.c b/tests/intel/gem_evict_alignment.c
index 3f68a79e8a70..acea339166a4 100644
--- a/tests/intel/gem_evict_alignment.c
+++ b/tests/intel/gem_evict_alignment.c
@@ -209,7 +209,7 @@ static void major_evictions(int fd, uint64_t size, uint64_t count)
 
 #define MAX_32b ((1ull << 32) - 4096)
 
-igt_main
+igt_main()
 {
 	uint64_t size, count;
 	int fd = -1;
diff --git a/tests/intel/gem_evict_everything.c b/tests/intel/gem_evict_everything.c
index cf36cca15dc6..40d79a52c1e8 100644
--- a/tests/intel/gem_evict_everything.c
+++ b/tests/intel/gem_evict_everything.c
@@ -241,7 +241,7 @@ static void test_major_evictions(int fd, uint64_t size, uint64_t count)
 
 #define MAX_32b ((1ull << 32) - 4096)
 
-igt_main
+igt_main()
 {
 	uint64_t size, count;
 	int fd;
diff --git a/tests/intel/gem_exec_alignment.c b/tests/intel/gem_exec_alignment.c
index d70a325f215e..628b4d226368 100644
--- a/tests/intel/gem_exec_alignment.c
+++ b/tests/intel/gem_exec_alignment.c
@@ -548,7 +548,7 @@ static void single(int fd)
 	gem_close(fd, execobj.handle);
 }
 
-igt_main
+igt_main()
 {
 	igt_fd_t(fd);
 
diff --git a/tests/intel/gem_exec_async.c b/tests/intel/gem_exec_async.c
index de5bc9caca31..a3d5705dde34 100644
--- a/tests/intel/gem_exec_async.c
+++ b/tests/intel/gem_exec_async.c
@@ -189,7 +189,7 @@ static bool has_async_execbuf(int fd)
 	igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \
 		igt_dynamic_f("%s", (e)->name)
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_await.c b/tests/intel/gem_exec_await.c
index e7c78196e499..66dfbc3d4a16 100644
--- a/tests/intel/gem_exec_await.c
+++ b/tests/intel/gem_exec_await.c
@@ -251,7 +251,7 @@ static void wide(int fd, intel_ctx_cfg_t *cfg, int ring_size,
 
 #define TIMEOUT 20
 
-igt_main
+igt_main()
 {
 	intel_ctx_cfg_t cfg;
 	int ring_size = 0;
diff --git a/tests/intel/gem_exec_balancer.c b/tests/intel/gem_exec_balancer.c
index a7d88952f650..ce9859420b71 100644
--- a/tests/intel/gem_exec_balancer.c
+++ b/tests/intel/gem_exec_balancer.c
@@ -3409,7 +3409,7 @@ static bool has_parallel_execbuf(int i915)
 	return false;
 }
 
-igt_main
+igt_main()
 {
 	igt_fd_t(i915);
 
diff --git a/tests/intel/gem_exec_basic.c b/tests/intel/gem_exec_basic.c
index d4dbed2c5099..b4afd440b540 100644
--- a/tests/intel/gem_exec_basic.c
+++ b/tests/intel/gem_exec_basic.c
@@ -53,7 +53,7 @@ static uint32_t batch_create(int fd, uint64_t *batch_size, uint32_t region)
 	return handle;
 }
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	struct drm_i915_query_memory_regions *query_info;
diff --git a/tests/intel/gem_exec_big.c b/tests/intel/gem_exec_big.c
index 9ae1f26dd71b..5050364624ae 100644
--- a/tests/intel/gem_exec_big.c
+++ b/tests/intel/gem_exec_big.c
@@ -318,7 +318,7 @@ static void single(int i915)
 		munmap(ptr, batch_size);
 }
 
-igt_main
+igt_main()
 {
 	int i915 = -1;
 
diff --git a/tests/intel/gem_exec_capture.c b/tests/intel/gem_exec_capture.c
index 6966975b33f3..a424480ac3ce 100644
--- a/tests/intel/gem_exec_capture.c
+++ b/tests/intel/gem_exec_capture.c
@@ -955,7 +955,7 @@ static size_t safer_strlen(const char *s)
 	igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \
 		for_each_if(gem_class_can_store_dword(i915, (e)->class)) \
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_create.c b/tests/intel/gem_exec_create.c
index 29768cf2bdc9..6e7553b2b08c 100644
--- a/tests/intel/gem_exec_create.c
+++ b/tests/intel/gem_exec_create.c
@@ -176,7 +176,7 @@ static void all(int fd, unsigned flags, int timeout, int ncpus, uint32_t region)
 	intel_ctx_destroy(fd, ctx);
 }
 
-igt_main
+igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	struct drm_i915_query_memory_regions *query_info;
diff --git a/tests/intel/gem_exec_endless.c b/tests/intel/gem_exec_endless.c
index 0b0e755e1191..db6f0bcd8128 100644
--- a/tests/intel/gem_exec_endless.c
+++ b/tests/intel/gem_exec_endless.c
@@ -341,7 +341,7 @@ static void unpin_rps(int sysfs)
 	}
 }
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	igt_fd_t(i915);
diff --git a/tests/intel/gem_exec_fair.c b/tests/intel/gem_exec_fair.c
index c566a2957860..b73a1771d5f1 100644
--- a/tests/intel/gem_exec_fair.c
+++ b/tests/intel/gem_exec_fair.c
@@ -1289,7 +1289,7 @@ static bool set_heartbeat(int i915, const char *name, unsigned int value)
 	return true;
 }
 
-igt_main
+igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/gem_exec_fence.c b/tests/intel/gem_exec_fence.c
index b9855f2e3347..ed9232629f1c 100644
--- a/tests/intel/gem_exec_fence.c
+++ b/tests/intel/gem_exec_fence.c
@@ -3155,7 +3155,7 @@ static void test_syncobj_backward_timeline_chain_engines(int fd, const intel_ctx
 	teardown_timeline_chain_engines(&ctx);
 }
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_flush.c b/tests/intel/gem_exec_flush.c
index 84e3d82fbe5e..437572f6c0f7 100644
--- a/tests/intel/gem_exec_flush.c
+++ b/tests/intel/gem_exec_flush.c
@@ -2074,7 +2074,7 @@ static const char *yesno(bool x)
 	return x ? "yes" : "no";
 }
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_ring *e;
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
diff --git a/tests/intel/gem_exec_gttfill.c b/tests/intel/gem_exec_gttfill.c
index 9fe3fefbb301..fe0df37eb790 100644
--- a/tests/intel/gem_exec_gttfill.c
+++ b/tests/intel/gem_exec_gttfill.c
@@ -244,7 +244,7 @@ static void fillgtt(int fd, const intel_ctx_t *ctx, unsigned ring, int timeout)
 	igt_assert_eq(intel_detect_and_clear_missed_interrupts(fd), 0);
 }
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_latency.c b/tests/intel/gem_exec_latency.c
index f86b9b1da6c5..ca4986f09cf5 100644
--- a/tests/intel/gem_exec_latency.c
+++ b/tests/intel/gem_exec_latency.c
@@ -928,7 +928,7 @@ static double clockrate(int i915, int reg)
 		for_each_if(gem_class_can_store_dword(i915, (e)->class)) \
 			igt_dynamic_f("%s", (e)->name)
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_nop.c b/tests/intel/gem_exec_nop.c
index d7664bfa37b8..10d3258441b0 100644
--- a/tests/intel/gem_exec_nop.c
+++ b/tests/intel/gem_exec_nop.c
@@ -1000,7 +1000,7 @@ static void preempt(int fd, uint32_t handle,
 		 e->name, count, elapsed(&start, &now)*1e6 / count);
 }
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_parallel.c b/tests/intel/gem_exec_parallel.c
index eaadc9387593..3f75ed93d2ea 100644
--- a/tests/intel/gem_exec_parallel.c
+++ b/tests/intel/gem_exec_parallel.c
@@ -336,7 +336,7 @@ static void all(int fd, const intel_ctx_t *ctx,
 	free(threads);
 }
 
-igt_main
+igt_main()
 {
 	struct intel_execution_engine2 *e;
 
diff --git a/tests/intel/gem_exec_params.c b/tests/intel/gem_exec_params.c
index d7dd842c3b9b..ec771100123d 100644
--- a/tests/intel/gem_exec_params.c
+++ b/tests/intel/gem_exec_params.c
@@ -449,7 +449,7 @@ uint32_t batch[2] = {MI_BATCH_BUFFER_END};
 uint32_t handle, devid;
 int fd;
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
diff --git a/tests/intel/gem_exec_reloc.c b/tests/intel/gem_exec_reloc.c
index 8bdfc78da6e0..19a059c39fc5 100644
--- a/tests/intel/gem_exec_reloc.c
+++ b/tests/intel/gem_exec_reloc.c
@@ -1625,7 +1625,7 @@ static void invalid_domains(int fd)
 	gem_close(fd, obj[0].handle);
 }
 
-igt_main
+igt_main()
 {
 	const intel_ctx_t *ctx;
 	const struct intel_execution_engine2 *e;
diff --git a/tests/intel/gem_exec_schedule.c b/tests/intel/gem_exec_schedule.c
index 5e5fa2877908..a8701a57e67e 100644
--- a/tests/intel/gem_exec_schedule.c
+++ b/tests/intel/gem_exec_schedule.c
@@ -3202,7 +3202,7 @@ static void fairslice(int i915, const intel_ctx_cfg_t *cfg,
 			    !gem_engine_can_block_ggtt_binder(i915, e)) \
 		igt_dynamic_f("%s", e->name)
 
-igt_main
+igt_main()
 {
 	int fd = -1;
 	const intel_ctx_t *ctx = NULL;
diff --git a/tests/intel/gem_exec_store.c b/tests/intel/gem_exec_store.c
index 64b293aa46f8..c2ac27ff5bcc 100644
--- a/tests/intel/gem_exec_store.c
+++ b/tests/intel/gem_exec_store.c
@@ -437,7 +437,7 @@ static void print_welcome(int fd)
 		for_each_if(gem_class_can_store_dword(i915, (e)->class)) \
 			igt_dynamic_f("%s", (e)->name)
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_suspend.c b/tests/intel/gem_exec_suspend.c
index 03bc63fa1d9f..a93fb1d0f699 100644
--- a/tests/intel/gem_exec_suspend.c
+++ b/tests/intel/gem_exec_suspend.c
@@ -351,7 +351,7 @@ static void power_test(int i915, const intel_ctx_t *ctx,
 		 d_charge(&after, &before) * 3600 / d_time(&after, &before));
 }
 
-igt_main
+igt_main()
 {
 	const struct {
 		const char *suffix;
diff --git a/tests/intel/gem_exec_whisper.c b/tests/intel/gem_exec_whisper.c
index 649847354c42..8f195adb39eb 100644
--- a/tests/intel/gem_exec_whisper.c
+++ b/tests/intel/gem_exec_whisper.c
@@ -679,7 +679,7 @@ static void whisper(int fd, const intel_ctx_t *ctx,
 	close(debugfs);
 }
 
-igt_main
+igt_main()
 {
 	const struct mode {
 		const char *name;
diff --git a/tests/intel/gem_fence_thrash.c b/tests/intel/gem_fence_thrash.c
index bce638c27f31..fed680c800ed 100644
--- a/tests/intel/gem_fence_thrash.c
+++ b/tests/intel/gem_fence_thrash.c
@@ -252,7 +252,7 @@ static int run_test(int threads_per_fence, void *f, int tiling,
 	return 0;
 }
 
-igt_main
+igt_main()
 {
 	igt_subtest("bo-write-verify-none")
 		igt_assert(run_test(0, bo_write_verify, I915_TILING_NONE, 80) == 0);
diff --git a/tests/intel/gem_fence_upload.c b/tests/intel/gem_fence_upload.c
index 1105fa825bc3..c41d5784d34c 100644
--- a/tests/intel/gem_fence_upload.c
+++ b/tests/intel/gem_fence_upload.c
@@ -407,7 +407,7 @@ static void wc_contention(void)
 	igt_assert(tiled[1] > 0.75 * tiled[0]);
 }
 
-igt_main
+igt_main()
 {
 	igt_subtest("performance")
 		performance();
diff --git a/tests/intel/gem_fenced_exec_thrash.c b/tests/intel/gem_fenced_exec_thrash.c
index 8f8203c5bf4d..d52c02b2b8ef 100644
--- a/tests/intel/gem_fenced_exec_thrash.c
+++ b/tests/intel/gem_fenced_exec_thrash.c
@@ -191,7 +191,7 @@ static void run_test(int fd, int num_fences, int expected_errno,
 	put_ahnd(ahnd);
 }
 
-igt_main
+igt_main()
 {
 	uint32_t devid = 0;
 	unsigned int num_fences = 0;
diff --git a/tests/intel/gem_flink_basic.c b/tests/intel/gem_flink_basic.c
index 34bc2a7f5c69..ed5135b72120 100644
--- a/tests/intel/gem_flink_basic.c
+++ b/tests/intel/gem_flink_basic.c
@@ -185,7 +185,7 @@ test_flink_lifetime(int fd)
 	drm_close_driver(fd2);
 }
 
-igt_main
+igt_main()
 {
 	igt_fd_t(fd);
 
diff --git a/tests/intel/gem_flink_race.c b/tests/intel/gem_flink_race.c
index 2fd523436455..0b2b44d30420 100644
--- a/tests/intel/gem_flink_race.c
+++ b/tests/intel/gem_flink_race.c
@@ -213,7 +213,7 @@ static void test_flink_close(void)
 	igt_assert_eq(obj_count, 0);
 }
 
-igt_main
+igt_main()
 {
 	igt_subtest("flink_name")
 		test_flink_name(5);
diff --git a/tests/intel/gem_huc_copy.c b/tests/intel/gem_huc_copy.c
index d0f7793e883b..37a4044a9112 100644
--- a/tests/intel/gem_huc_copy.c
+++ b/tests/intel/gem_huc_copy.c
@@ -98,7 +98,7 @@ static void test_huc_load(int fd)
 	igt_fail_on_f(status == 0, "HuC firmware is not running!\n");
 }
 
-igt_main
+igt_main()
 {
 	int drm_fd = -1;
 	uint32_t devid;
diff --git a/tests/intel/gem_linear_blits.c b/tests/intel/gem_linear_blits.c
index ac07d4ef0adc..84d62279e8d5 100644
--- a/tests/intel/gem_linear_blits.c
+++ b/tests/intel/gem_linear_blits.c
@@ -269,7 +269,7 @@ static void run_test(int fd, int count, bool do_relocs)
 
 #define MAX_32b ((1ull << 32) - 4096)
 
-igt_main
+igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	uint64_t count = 0;
diff --git a/tests/intel/gem_lmem_evict.c b/tests/intel/gem_lmem_evict.c
index ab66e3de7417..6472f6fd58cf 100644
--- a/tests/intel/gem_lmem_evict.c
+++ b/tests/intel/gem_lmem_evict.c
@@ -93,7 +93,7 @@ static void test_dontneed_evict_race(int fd,
 	gem_close(fd, handle1);
 }
 
-igt_main
+igt_main()
 {
 	struct drm_i915_query_memory_regions *regions;
 	int i915 = -1;
diff --git a/tests/intel/gem_madvise.c b/tests/intel/gem_madvise.c
index c090f121eba2..e726f3b6993f 100644
--- a/tests/intel/gem_madvise.c
+++ b/tests/intel/gem_madvise.c
@@ -215,7 +215,7 @@ dontneed_before_exec(void)
 	drm_close_driver(fd);
 }
 
-igt_main
+igt_main()
 {
 	igt_describe("Check signal for Segmentation Fault and bus error before"
 		     " obtaining a purgeable object and calling for sighandler.");
diff --git a/tests/intel/gem_media_fill.c b/tests/intel/gem_media_fill.c
index 0ccc5497ba79..3496055b790f 100644
--- a/tests/intel/gem_media_fill.c
+++ b/tests/intel/gem_media_fill.c
@@ -140,7 +140,7 @@ static void media_fill(data_t *data, igt_fillfunc_t fill,
 	munmap(ptr, buf->surface[0].size);
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {0, };
 	igt_fillfunc_t fill_fn = NULL;
diff --git a/tests/intel/gem_mmap.c b/tests/intel/gem_mmap.c
index a4ef04ddb96e..11fb5d02655f 100644
--- a/tests/intel/gem_mmap.c
+++ b/tests/intel/gem_mmap.c
@@ -203,7 +203,7 @@ static int mmap_ioctl(int i915, struct drm_i915_gem_mmap *arg)
 	return err;
 }
 
-igt_main
+igt_main()
 {
 	uint8_t expected[OBJECT_SIZE];
 	uint8_t buf[OBJECT_SIZE];
diff --git a/tests/intel/gem_mmap_gtt.c b/tests/intel/gem_mmap_gtt.c
index fe944f161e9b..1276d2cf71cf 100644
--- a/tests/intel/gem_mmap_gtt.c
+++ b/tests/intel/gem_mmap_gtt.c
@@ -1589,7 +1589,7 @@ static int mmap_ioctl(int i915, struct drm_i915_gem_mmap_gtt *arg)
 
 int fd;
 
-igt_main
+igt_main()
 {
 	if (igt_run_in_simulation())
 		OBJECT_SIZE = 1 * 1024 * 1024;
diff --git a/tests/intel/gem_mmap_offset.c b/tests/intel/gem_mmap_offset.c
index f51c1703bcb2..977b63da957f 100644
--- a/tests/intel/gem_mmap_offset.c
+++ b/tests/intel/gem_mmap_offset.c
@@ -1145,7 +1145,7 @@ static bool has_mmap_offset(int i915)
 	return mmap_gtt_version(i915) >= 4;
 }
 
-igt_main
+igt_main()
 {
 	int i915;
 
diff --git a/tests/intel/gem_mmap_wc.c b/tests/intel/gem_mmap_wc.c
index 2d77b3ede410..2b52a2954e73 100644
--- a/tests/intel/gem_mmap_wc.c
+++ b/tests/intel/gem_mmap_wc.c
@@ -519,7 +519,7 @@ static int mmap_ioctl(int i915, struct drm_i915_gem_mmap *arg)
 
 int fd;
 
-igt_main
+igt_main()
 {
 	if (igt_run_in_simulation())
 		OBJECT_SIZE = 1 * 1024 * 1024;
diff --git a/tests/intel/gem_partial_pwrite_pread.c b/tests/intel/gem_partial_pwrite_pread.c
index a1912ea82a7b..a9095df4224f 100644
--- a/tests/intel/gem_partial_pwrite_pread.c
+++ b/tests/intel/gem_partial_pwrite_pread.c
@@ -365,7 +365,7 @@ static void do_tests(data_t *data, int cache_level, const char *suffix)
 		test_partial_read_writes(data);
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {0, };
 	srandom(0xdeadbeef);
diff --git a/tests/intel/gem_pipe_control_store_loop.c b/tests/intel/gem_pipe_control_store_loop.c
index 9831eb67e57b..6fce3fc10014 100644
--- a/tests/intel/gem_pipe_control_store_loop.c
+++ b/tests/intel/gem_pipe_control_store_loop.c
@@ -175,7 +175,7 @@ store_pipe_control_loop(bool preuse_buffer, int timeout)
 int fd;
 uint32_t devid;
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
diff --git a/tests/intel/gem_ppgtt.c b/tests/intel/gem_ppgtt.c
index 7e242ae24c5b..8e388e31014b 100644
--- a/tests/intel/gem_ppgtt.c
+++ b/tests/intel/gem_ppgtt.c
@@ -408,7 +408,7 @@ static bool has_contexts(void)
 	return result;
 }
 
-igt_main
+igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 
diff --git a/tests/intel/gem_pread_after_blit.c b/tests/intel/gem_pread_after_blit.c
index 8b0ecfe317f8..a0ff7da0a31a 100644
--- a/tests/intel/gem_pread_after_blit.c
+++ b/tests/intel/gem_pread_after_blit.c
@@ -228,7 +228,7 @@ static void do_test(struct buf_ops *bops, int cache_level,
 	intel_bb_destroy(ibb);
 }
 
-igt_main
+igt_main()
 {
 	const uint32_t start[2] = {0, 1024 * 1024 / 4};
 	const struct {
diff --git a/tests/intel/gem_pxp.c b/tests/intel/gem_pxp.c
index 73ba7c230546..0922b3afdce5 100644
--- a/tests/intel/gem_pxp.c
+++ b/tests/intel/gem_pxp.c
@@ -1299,7 +1299,7 @@ static void require_init_powermgt(int i915, struct powermgt_data *pm)
 		init_powermgt_resources(i915, pm);
 }
 
-igt_main
+igt_main()
 {
 	int i915 = -1;
 	bool pxp_supported = false;
diff --git a/tests/intel/gem_read_read_speed.c b/tests/intel/gem_read_read_speed.c
index 1570f990a157..1c80c9e21fe3 100644
--- a/tests/intel/gem_read_read_speed.c
+++ b/tests/intel/gem_read_read_speed.c
@@ -242,7 +242,7 @@ static void run(struct buf_ops *bops, int _width, int _height,
 	intel_buf_destroy(bcs);
 }
 
-igt_main
+igt_main()
 {
 	const int sizes[] = {128, 256, 512, 1024, 2048, 4096, 8192, 0};
 	struct buf_ops *bops = NULL;
diff --git a/tests/intel/gem_readwrite.c b/tests/intel/gem_readwrite.c
index 98f629af49aa..c3089ceb1716 100644
--- a/tests/intel/gem_readwrite.c
+++ b/tests/intel/gem_readwrite.c
@@ -95,7 +95,7 @@ do_write(int fd, int handle, void *buf, int offset, int size)
 int fd;
 uint32_t handle;
 
-igt_main
+igt_main()
 {
 	uint8_t expected[OBJECT_SIZE];
 	uint8_t buf[OBJECT_SIZE];
diff --git a/tests/intel/gem_reg_read.c b/tests/intel/gem_reg_read.c
index 3d760313cb34..028f6cd225d4 100644
--- a/tests/intel/gem_reg_read.c
+++ b/tests/intel/gem_reg_read.c
@@ -159,7 +159,7 @@ retry:
 
 }
 
-igt_main
+igt_main()
 {
 	uint64_t val = 0;
 	int fd = -1;
diff --git a/tests/intel/gem_render_copy_redux.c b/tests/intel/gem_render_copy_redux.c
index 9acd7207f9e7..169feeae5f27 100644
--- a/tests/intel/gem_render_copy_redux.c
+++ b/tests/intel/gem_render_copy_redux.c
@@ -217,7 +217,7 @@ static void copy_flink(data_t *data)
 	data_fini(&local);
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {0, };
 
diff --git a/tests/intel/gem_render_linear_blits.c b/tests/intel/gem_render_linear_blits.c
index 09ef22899bd8..bf49a4a990c2 100644
--- a/tests/intel/gem_render_linear_blits.c
+++ b/tests/intel/gem_render_linear_blits.c
@@ -178,7 +178,7 @@ static void run_test (int fd, int count)
 	buf_ops_destroy(bops);
 }
 
-igt_main
+igt_main()
 {
 	static int fd = 0;
 	int count=0;
diff --git a/tests/intel/gem_render_tiled_blits.c b/tests/intel/gem_render_tiled_blits.c
index 64ac1ec2f151..7b82e7b28c4c 100644
--- a/tests/intel/gem_render_tiled_blits.c
+++ b/tests/intel/gem_render_tiled_blits.c
@@ -229,7 +229,7 @@ static void run_test (int fd, int count)
 }
 
 
-igt_main
+igt_main()
 {
 	int fd = 0;
 	int count = 0;
diff --git a/tests/intel/gem_request_retire.c b/tests/intel/gem_request_retire.c
index 77e466c286c6..b1de40563d61 100644
--- a/tests/intel/gem_request_retire.c
+++ b/tests/intel/gem_request_retire.c
@@ -116,7 +116,7 @@ test_retire_vma_not_inactive(int fd)
 	put_ahnd(ahnd);
 }
 
-igt_main
+igt_main()
 {
 	igt_fd_t(fd);
 
diff --git a/tests/intel/gem_reset_stats.c b/tests/intel/gem_reset_stats.c
index e0fe9c420e71..02ab8076c57a 100644
--- a/tests/intel/gem_reset_stats.c
+++ b/tests/intel/gem_reset_stats.c
@@ -1080,7 +1080,7 @@ static void test_shared_reset_domain(const intel_ctx_cfg_t *base_cfg,
 #define RUN_TEST(...) do { sync_gpu(); __VA_ARGS__; sync_gpu(); } while (0)
 #define RUN_CTX_TEST(...) do { check_context(e); RUN_TEST(__VA_ARGS__); } while (0)
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_ring *e;
 
diff --git a/tests/intel/gem_ringfill.c b/tests/intel/gem_ringfill.c
index 8a032d32c2f7..233a6eae12c3 100644
--- a/tests/intel/gem_ringfill.c
+++ b/tests/intel/gem_ringfill.c
@@ -391,7 +391,7 @@ static bool has_lut_handle(int i915)
 	return result;
 }
 
-igt_main
+igt_main()
 {
 	const struct {
 		const char *suffix;
diff --git a/tests/intel/gem_set_tiling_vs_blt.c b/tests/intel/gem_set_tiling_vs_blt.c
index b110c76be0fc..e63958a8e056 100644
--- a/tests/intel/gem_set_tiling_vs_blt.c
+++ b/tests/intel/gem_set_tiling_vs_blt.c
@@ -234,7 +234,7 @@ static void do_test(struct buf_ops *bops, uint32_t tiling, unsigned stride,
 	igt_info("done\n");
 }
 
-igt_main
+igt_main()
 {
 	int fd, i;
 	uint32_t tiling, tiling_after;
diff --git a/tests/intel/gem_shrink.c b/tests/intel/gem_shrink.c
index 0ade4f9b31f0..c332c084c302 100644
--- a/tests/intel/gem_shrink.c
+++ b/tests/intel/gem_shrink.c
@@ -513,7 +513,7 @@ static void reclaim(unsigned engine, int timeout)
 	drm_close_driver(fd);
 }
 
-igt_main
+igt_main()
 {
 	const struct test {
 		const char *name;
diff --git a/tests/intel/gem_softpin.c b/tests/intel/gem_softpin.c
index dfa33b7c7a38..a86151a14e9b 100644
--- a/tests/intel/gem_softpin.c
+++ b/tests/intel/gem_softpin.c
@@ -1464,7 +1464,7 @@ static void safe_alignment(int i915)
 	igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \
 		igt_dynamic_f("%s", e->name)
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	int fd = -1;
diff --git a/tests/intel/gem_spin_batch.c b/tests/intel/gem_spin_batch.c
index 72fd736e902d..7aaa26fde61e 100644
--- a/tests/intel/gem_spin_batch.c
+++ b/tests/intel/gem_spin_batch.c
@@ -241,7 +241,7 @@ static bool has_userptr(int fd)
 	return err == EFAULT;
 }
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e2;
 	const struct intel_execution_ring *e;
diff --git a/tests/intel/gem_streaming_writes.c b/tests/intel/gem_streaming_writes.c
index 7e1b65cf1fd5..40c158c3fdec 100644
--- a/tests/intel/gem_streaming_writes.c
+++ b/tests/intel/gem_streaming_writes.c
@@ -419,7 +419,7 @@ static void test_batch(int fd, int mode, int reverse)
 	gem_close(fd, dst);
 }
 
-igt_main
+igt_main()
 {
 	int fd, sync;
 
diff --git a/tests/intel/gem_sync.c b/tests/intel/gem_sync.c
index 95e40f7802a1..bf99d695d709 100644
--- a/tests/intel/gem_sync.c
+++ b/tests/intel/gem_sync.c
@@ -1365,7 +1365,7 @@ preempt(int fd, const intel_ctx_t *ctx, unsigned ring,
 	intel_ctx_destroy(fd, tmp_ctx[0]);
 }
 
-igt_main
+igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	const struct {
diff --git a/tests/intel/gem_tiled_blits.c b/tests/intel/gem_tiled_blits.c
index 183c938dd26a..3345be61ad01 100644
--- a/tests/intel/gem_tiled_blits.c
+++ b/tests/intel/gem_tiled_blits.c
@@ -185,7 +185,7 @@ static void run_test(int fd, int count)
 
 #define MAX_32b ((1ull << 32) - 4096)
 
-igt_main
+igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	uint64_t count = 0;
diff --git a/tests/intel/gem_tiled_fence_blits.c b/tests/intel/gem_tiled_fence_blits.c
index 7a81074f0634..035716e1f6e8 100644
--- a/tests/intel/gem_tiled_fence_blits.c
+++ b/tests/intel/gem_tiled_fence_blits.c
@@ -292,7 +292,7 @@ static void run_test(int fd, int count, uint64_t end)
 
 #define MAX_32b ((1ull << 32) - 4096)
 
-igt_main
+igt_main()
 {
 	/*
 	 * For machines with many cpu cores buffer verification can take
diff --git a/tests/intel/gem_tiled_partial_pwrite_pread.c b/tests/intel/gem_tiled_partial_pwrite_pread.c
index 68fc64e3eea2..a1fbb70c078c 100644
--- a/tests/intel/gem_tiled_partial_pwrite_pread.c
+++ b/tests/intel/gem_tiled_partial_pwrite_pread.c
@@ -286,7 +286,7 @@ static bool known_swizzling(uint32_t handle)
 	return arg.phys_swizzle_mode == arg.swizzle_mode;
 }
 
-igt_main
+igt_main()
 {
 	srandom(0xdeadbeef);
 
diff --git a/tests/intel/gem_tiled_swapping.c b/tests/intel/gem_tiled_swapping.c
index 23be1b7232d9..7ec468baa837 100644
--- a/tests/intel/gem_tiled_swapping.c
+++ b/tests/intel/gem_tiled_swapping.c
@@ -176,7 +176,7 @@ static void check_memory_layout(int fd)
 	igt_debug("normal memory configuration detected, continuing\n");
 }
 
-igt_main
+igt_main()
 {
 	unsigned long n, count;
 	struct thread *threads;
diff --git a/tests/intel/gem_vm_create.c b/tests/intel/gem_vm_create.c
index 435549cdfec9..ae9fc828a60b 100644
--- a/tests/intel/gem_vm_create.c
+++ b/tests/intel/gem_vm_create.c
@@ -380,7 +380,7 @@ static void isolation(int i915)
 	gem_vm_destroy(i915, vm[0]);
 }
 
-igt_main
+igt_main()
 {
 	int i915 = -1;
 
diff --git a/tests/intel/gem_wait.c b/tests/intel/gem_wait.c
index 6247ed7441ad..eb7cc3956255 100644
--- a/tests/intel/gem_wait.c
+++ b/tests/intel/gem_wait.c
@@ -229,7 +229,7 @@ static void test_all_engines(const char *name, int i915, const intel_ctx_t *ctx,
 	}
 }
 
-igt_main
+igt_main()
 {
 	const intel_ctx_t *ctx;
 	int fd = -1;
diff --git a/tests/intel/gem_watchdog.c b/tests/intel/gem_watchdog.c
index 6d9b95018766..974aba7fe1e8 100644
--- a/tests/intel/gem_watchdog.c
+++ b/tests/intel/gem_watchdog.c
@@ -553,7 +553,7 @@ far_fence(int i915, int timeout, const intel_ctx_t *ctx,
 	close(fence);
 }
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_workarounds.c b/tests/intel/gem_workarounds.c
index 54fd2c4c13e1..b5440840e282 100644
--- a/tests/intel/gem_workarounds.c
+++ b/tests/intel/gem_workarounds.c
@@ -276,7 +276,7 @@ static void check_workarounds(int fd, enum operation op, unsigned int flags)
 		drm_close_driver(fd);
 }
 
-igt_main
+igt_main()
 {
 	struct intel_mmio_data mmio_data;
 	const struct {
diff --git a/tests/intel/gen7_exec_parse.c b/tests/intel/gen7_exec_parse.c
index de92f9e186b4..671cbd12426e 100644
--- a/tests/intel/gen7_exec_parse.c
+++ b/tests/intel/gen7_exec_parse.c
@@ -482,7 +482,7 @@ static void hsw_load_register_reg(void)
 	drm_close_driver(fd);
 }
 
-igt_main
+igt_main()
 {
 	uint32_t handle;
 	int fd;
diff --git a/tests/intel/gen9_exec_parse.c b/tests/intel/gen9_exec_parse.c
index 6fc76ae9317f..e7f65dd6af2b 100644
--- a/tests/intel/gen9_exec_parse.c
+++ b/tests/intel/gen9_exec_parse.c
@@ -1206,7 +1206,7 @@ static void test_shadow_peek(int fd)
 		gem_close(fd, exec[i].handle);
 }
 
-igt_main
+igt_main()
 {
 	uint32_t handle;
 	int i915;
diff --git a/tests/intel/i915_drm_fdinfo.c b/tests/intel/i915_drm_fdinfo.c
index 4505dea9ce64..94b009b80f14 100644
--- a/tests/intel/i915_drm_fdinfo.c
+++ b/tests/intel/i915_drm_fdinfo.c
@@ -930,7 +930,7 @@ test_memory(int i915, struct gem_memory_region *mr, unsigned int flags)
 	igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \
 		igt_dynamic_f("%s", e->name)
 
-igt_main
+igt_main()
 {
 	unsigned int num_engines = 0, num_classes = 0;
 	const struct intel_execution_engine2 *e;
diff --git a/tests/intel/i915_fb_tiling.c b/tests/intel/i915_fb_tiling.c
index 508f8f3ff389..23ee053d0d51 100644
--- a/tests/intel/i915_fb_tiling.c
+++ b/tests/intel/i915_fb_tiling.c
@@ -37,7 +37,7 @@
 
 IGT_TEST_DESCRIPTION("Object tiling must be fixed after framebuffer creation.");
 
-igt_main
+igt_main()
 {
 	int drm_fd;
 	struct igt_fb fb;
diff --git a/tests/intel/i915_getparams_basic.c b/tests/intel/i915_getparams_basic.c
index e52fbab6cf19..59f97bd65a1d 100644
--- a/tests/intel/i915_getparams_basic.c
+++ b/tests/intel/i915_getparams_basic.c
@@ -162,7 +162,7 @@ exit_handler(int sig)
 	deinit();
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		igt_install_exit_handler(exit_handler);
diff --git a/tests/intel/i915_hangman.c b/tests/intel/i915_hangman.c
index 78c96b0d906f..dc18eb3a82de 100644
--- a/tests/intel/i915_hangman.c
+++ b/tests/intel/i915_hangman.c
@@ -567,7 +567,7 @@ static void do_tests(const char *name, const char *prefix,
 	}
 }
 
-igt_main
+igt_main()
 {
 	const intel_ctx_t *ctx;
 	igt_hang_t hang = {};
diff --git a/tests/intel/i915_module_load.c b/tests/intel/i915_module_load.c
index 2047d1886ac8..be908c4a9ba9 100644
--- a/tests/intel/i915_module_load.c
+++ b/tests/intel/i915_module_load.c
@@ -361,7 +361,7 @@ static uint32_t  driver_load_with_lmem_bar_size(uint32_t lmem_bar_size, bool che
 	return lmem_bar_size;
 }
 
-igt_main
+igt_main()
 {
 	igt_describe("Check if i915 and friends are not yet loaded, then load them.");
 	igt_subtest("load") {
diff --git a/tests/intel/i915_pm_freq_api.c b/tests/intel/i915_pm_freq_api.c
index f4bd3cb9e5df..a41b0e658df7 100644
--- a/tests/intel/i915_pm_freq_api.c
+++ b/tests/intel/i915_pm_freq_api.c
@@ -159,7 +159,7 @@ static void restore_sysfs_freq(int sig)
 	drm_close_driver(i915);
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		int num_gts, dirfd, gt;
diff --git a/tests/intel/i915_pm_freq_mult.c b/tests/intel/i915_pm_freq_mult.c
index 05b55124c012..0e8f6a255008 100644
--- a/tests/intel/i915_pm_freq_mult.c
+++ b/tests/intel/i915_pm_freq_mult.c
@@ -164,7 +164,7 @@ static void media_freq(int gt, int dir)
 	cleanup(dir);
 }
 
-igt_main
+igt_main()
 {
 	int dir, gt;
 
diff --git a/tests/intel/i915_pm_rc6_residency.c b/tests/intel/i915_pm_rc6_residency.c
index 3d6bb5a6f445..22267b7c26e5 100644
--- a/tests/intel/i915_pm_rc6_residency.c
+++ b/tests/intel/i915_pm_rc6_residency.c
@@ -601,7 +601,7 @@ static unsigned int rc6_enabled_mask(int i915, int dirfd)
 	return get_rc6_enabled_mask(dirfd);
 }
 
-igt_main
+igt_main()
 {
 	int i915 = -1;
 	unsigned int dirfd, gt;
diff --git a/tests/intel/i915_pm_rps.c b/tests/intel/i915_pm_rps.c
index 061fddc6a7a8..8c3089b56d6d 100644
--- a/tests/intel/i915_pm_rps.c
+++ b/tests/intel/i915_pm_rps.c
@@ -1201,7 +1201,7 @@ static void read_sysfs_freq(char *sysfs_path)
 	}
 }
 
-igt_main
+igt_main()
 {
 	int tmp, gt;
 
diff --git a/tests/intel/i915_pm_sseu.c b/tests/intel/i915_pm_sseu.c
index 85493b83d26d..ad852579a23a 100644
--- a/tests/intel/i915_pm_sseu.c
+++ b/tests/intel/i915_pm_sseu.c
@@ -387,7 +387,7 @@ exit_handler(int sig)
 	gem_deinit();
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		igt_install_exit_handler(exit_handler);
diff --git a/tests/intel/i915_power.c b/tests/intel/i915_power.c
index 8fff552cc37b..f2362a4f7586 100644
--- a/tests/intel/i915_power.c
+++ b/tests/intel/i915_power.c
@@ -75,7 +75,7 @@ static void sanity(int i915)
 	igt_assert(idle >= 0 && busy > 0 && busy > idle);
 }
 
-igt_main
+igt_main()
 {
 	int i915;
 
diff --git a/tests/intel/i915_query.c b/tests/intel/i915_query.c
index 25443f6f35b9..dc0568874e86 100644
--- a/tests/intel/i915_query.c
+++ b/tests/intel/i915_query.c
@@ -1436,7 +1436,7 @@ static void query_parse_and_validate_hwconfig_table(int i915)
 	free(data);
 }
 
-igt_main
+igt_main()
 {
 	int fd = -1;
 	int devid;
diff --git a/tests/intel/i915_selftest.c b/tests/intel/i915_selftest.c
index 824e6f5b9590..1d624cf1ed50 100644
--- a/tests/intel/i915_selftest.c
+++ b/tests/intel/i915_selftest.c
@@ -638,7 +638,7 @@
 
 IGT_TEST_DESCRIPTION("Basic unit tests for i915.ko");
 
-igt_main
+igt_main()
 {
 	const char *env = getenv("SELFTESTS") ?: "";
 	char opts[1024];
diff --git a/tests/intel/i915_suspend.c b/tests/intel/i915_suspend.c
index 881b49bda2d6..e2c332ef11be 100644
--- a/tests/intel/i915_suspend.c
+++ b/tests/intel/i915_suspend.c
@@ -298,7 +298,7 @@ test_suspend_without_i915(int state)
 
 int fd;
 
-igt_main
+igt_main()
 {
 	igt_describe("Validate suspend-to-idle without i915 module");
 	igt_subtest("basic-s2idle-without-i915")
diff --git a/tests/intel/intel_hwmon.c b/tests/intel/intel_hwmon.c
index a700f69769b2..8b02b5fa1077 100644
--- a/tests/intel/intel_hwmon.c
+++ b/tests/intel/intel_hwmon.c
@@ -76,7 +76,7 @@ static void hwmon_write(int hwm)
 	closedir(dir);
 }
 
-igt_main
+igt_main()
 {
 	int fd, hwm;
 
diff --git a/tests/intel/kms_big_fb.c b/tests/intel/kms_big_fb.c
index e7123cabcedf..3371c06787c2 100644
--- a/tests/intel/kms_big_fb.c
+++ b/tests/intel/kms_big_fb.c
@@ -967,7 +967,7 @@ static bool test_requirements(data_t *input_data, int l)
 	return true;
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		drmModeResPtr res;
diff --git a/tests/intel/kms_cdclk.c b/tests/intel/kms_cdclk.c
index f1595818c1bd..c9e2e3fb925e 100644
--- a/tests/intel/kms_cdclk.c
+++ b/tests/intel/kms_cdclk.c
@@ -340,7 +340,7 @@ static void run_cdclk_test(data_t *data, uint32_t flags)
 	}
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_dirtyfb.c b/tests/intel/kms_dirtyfb.c
index f25226da86a6..dfa5aa04acab 100644
--- a/tests/intel/kms_dirtyfb.c
+++ b/tests/intel/kms_dirtyfb.c
@@ -350,7 +350,7 @@ static void run_test(data_t *data)
 	intel_buf_destroy(dst);
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_dp_link_training.c b/tests/intel/kms_dp_link_training.c
index 7c1a97d022bd..64af89d1bcce 100644
--- a/tests/intel/kms_dp_link_training.c
+++ b/tests/intel/kms_dp_link_training.c
@@ -298,7 +298,7 @@ static bool test_link_rate(data_t *data, bool mst, bool uhbr)
 IGT_TEST_DESCRIPTION("Test to validate link training on SST/MST with "
 		     "UHBR/NON_UHBR rates");
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_dp_linktrain_fallback.c b/tests/intel/kms_dp_linktrain_fallback.c
index b5e9e07774da..db9039f061a0 100644
--- a/tests/intel/kms_dp_linktrain_fallback.c
+++ b/tests/intel/kms_dp_linktrain_fallback.c
@@ -597,7 +597,7 @@ static bool run_dsc_sst_fallaback_test(data_t *data)
 	return ran;
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_draw_crc.c b/tests/intel/kms_draw_crc.c
index 073a0084a7f1..0f2144cd5d2f 100644
--- a/tests/intel/kms_draw_crc.c
+++ b/tests/intel/kms_draw_crc.c
@@ -328,7 +328,7 @@ static const char *modifier_str(int modifier_index)
 	}
 }
 
-igt_main
+igt_main()
 {
 	enum igt_draw_method method;
 	int format_idx, modifier_idx;
diff --git a/tests/intel/kms_fb_coherency.c b/tests/intel/kms_fb_coherency.c
index 298cd7946086..d3a998f6a034 100644
--- a/tests/intel/kms_fb_coherency.c
+++ b/tests/intel/kms_fb_coherency.c
@@ -234,7 +234,7 @@ static void select_valid_pipe_output_combo(data_t *data)
 	igt_skip("no valid crtc/connector combinations found\n");
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 
diff --git a/tests/intel/kms_fbc_dirty_rect.c b/tests/intel/kms_fbc_dirty_rect.c
index c8b85545cd17..55422909d2a6 100644
--- a/tests/intel/kms_fbc_dirty_rect.c
+++ b/tests/intel/kms_fbc_dirty_rect.c
@@ -436,7 +436,7 @@ static void fbc_dirty_rectangle_test(data_t *data, void (*test_func)(data_t *))
 	cleanup(data);
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {0};
 
diff --git a/tests/intel/kms_fbcon_fbt.c b/tests/intel/kms_fbcon_fbt.c
index a410b2e0be6d..50cd650f4ea6 100644
--- a/tests/intel/kms_fbcon_fbt.c
+++ b/tests/intel/kms_fbcon_fbt.c
@@ -451,7 +451,7 @@ static void teardown_environment(struct drm_info *drm)
 	kmstest_restore_vt_mode();
 }
 
-igt_main
+igt_main()
 {
 	struct drm_info drm = { .fd = -1 };
 
diff --git a/tests/intel/kms_flip_scaled_crc.c b/tests/intel/kms_flip_scaled_crc.c
index 9daf045c4d8e..ab60d1d43bfc 100644
--- a/tests/intel/kms_flip_scaled_crc.c
+++ b/tests/intel/kms_flip_scaled_crc.c
@@ -714,7 +714,7 @@ static void run_tests(data_t *data, uint32_t index, enum pipe pipe,
 		test_flip_to_scaled(data, index, pipe, output, modetoset, 1);
 }
 
-igt_main
+igt_main()
 {
 	enum pipe pipe;
 	data_t data = {};
diff --git a/tests/intel/kms_flip_tiling.c b/tests/intel/kms_flip_tiling.c
index aba8949514d2..1eac7978e8a9 100644
--- a/tests/intel/kms_flip_tiling.c
+++ b/tests/intel/kms_flip_tiling.c
@@ -209,7 +209,7 @@ static void handle_lost_event(data_t *data) {
 static data_t data = {};
 igt_output_t *output;
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
diff --git a/tests/intel/kms_joiner.c b/tests/intel/kms_joiner.c
index 07efc74e6f14..565cf66d9b6d 100644
--- a/tests/intel/kms_joiner.c
+++ b/tests/intel/kms_joiner.c
@@ -545,7 +545,7 @@ static void test_basic_max_non_joiner(data_t *data)
 	}
 }
 
-igt_main
+igt_main()
 {
 	bool ultra_joiner_supported, is_dgfx;
 	int i, j, display_ver;
diff --git a/tests/intel/kms_legacy_colorkey.c b/tests/intel/kms_legacy_colorkey.c
index db674dc255fa..221c009a4fb9 100644
--- a/tests/intel/kms_legacy_colorkey.c
+++ b/tests/intel/kms_legacy_colorkey.c
@@ -58,7 +58,7 @@ static void test_plane(uint32_t plane_id, int expected_ret)
 				   sizeof(ckey)) == expected_ret);
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		drm_fd = drm_open_driver_master(DRIVER_INTEL);
diff --git a/tests/intel/kms_pipe_b_c_ivb.c b/tests/intel/kms_pipe_b_c_ivb.c
index 7960dbc9be4f..bf48f018d92a 100644
--- a/tests/intel/kms_pipe_b_c_ivb.c
+++ b/tests/intel/kms_pipe_b_c_ivb.c
@@ -289,7 +289,7 @@ test_fail_enable_pipe_C_while_B_has_3_lanes(data_t *data)
 }
 
 static data_t data;
-igt_main
+igt_main()
 {
 	int devid;
 
diff --git a/tests/intel/kms_pipe_stress.c b/tests/intel/kms_pipe_stress.c
index 525c6810e3d7..700013908ab1 100644
--- a/tests/intel/kms_pipe_stress.c
+++ b/tests/intel/kms_pipe_stress.c
@@ -856,7 +856,7 @@ struct data data = {
 };
 
 
-igt_main {
+igt_main() {
 	uint8_t format_idx = 0, tiling_idx = 0;
 
 	igt_fixture() {
diff --git a/tests/intel/kms_pm_backlight.c b/tests/intel/kms_pm_backlight.c
index 6cf16a460a68..a61ca91a5f8b 100644
--- a/tests/intel/kms_pm_backlight.c
+++ b/tests/intel/kms_pm_backlight.c
@@ -202,7 +202,7 @@ static void test_setup(igt_display_t display, igt_output_t *output)
 	}
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 	int i = 0;
diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c
index 475e64a21f4a..ccfdeb0644d9 100644
--- a/tests/intel/kms_pm_dc.c
+++ b/tests/intel/kms_pm_dc.c
@@ -730,7 +730,7 @@ static void kms_poll_state_restore(int sig)
 	}
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_pm_lpsp.c b/tests/intel/kms_pm_lpsp.c
index 231a1b1c833e..109a9ed0cf40 100644
--- a/tests/intel/kms_pm_lpsp.c
+++ b/tests/intel/kms_pm_lpsp.c
@@ -192,7 +192,7 @@ static void test_lpsp(data_t *data)
 }
 
 IGT_TEST_DESCRIPTION("These tests validates display Low Power Single Pipe configurations");
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_psr.c b/tests/intel/kms_psr.c
index ec6dc3f0f092..ccf239b4c16f 100644
--- a/tests/intel/kms_psr.c
+++ b/tests/intel/kms_psr.c
@@ -769,7 +769,7 @@ static void dpms_off_on(data_t *data)
 
 data_t data = {};
 
-igt_main
+igt_main()
 {
 	int z, y;
 	enum operations op;
diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c
index 9437d65e42c5..f08d117c3d64 100644
--- a/tests/intel/kms_psr2_sf.c
+++ b/tests/intel/kms_psr2_sf.c
@@ -1172,7 +1172,7 @@ static void run_plane_update_continuous(data_t data, int i, int coexist_features
 	}
 }
 
-igt_main
+igt_main()
 {
 	bool output_supports_pr_psr2_sel_fetch = false;
 	bool pr_psr2_sel_fetch_supported = false;
diff --git a/tests/intel/kms_psr2_su.c b/tests/intel/kms_psr2_su.c
index fc6b30f2fdfd..5732f0a3dce7 100644
--- a/tests/intel/kms_psr2_su.c
+++ b/tests/intel/kms_psr2_su.c
@@ -309,7 +309,7 @@ static int check_psr2_support(data_t *data, enum pipe pipe)
 	return status;
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 	enum pipe pipe;
diff --git a/tests/intel/kms_psr_stress_test.c b/tests/intel/kms_psr_stress_test.c
index 356e9fe01a65..80394166e936 100644
--- a/tests/intel/kms_psr_stress_test.c
+++ b/tests/intel/kms_psr_stress_test.c
@@ -348,7 +348,7 @@ static void run(data_t *data)
 	psr_sink_error_check(data->debugfs_fd, data->initial_state, data->output);
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/perf.c b/tests/intel/perf.c
index ee607b13efb2..110f4659e0be 100644
--- a/tests/intel/perf.c
+++ b/tests/intel/perf.c
@@ -5857,7 +5857,7 @@ test_group_concurrent_oa_buffer_read(void)
 	igt_waitchildren();
 }
 
-igt_main
+igt_main()
 {
 	const intel_ctx_t *ctx;
 	const struct intel_execution_engine2 *e;
diff --git a/tests/intel/perf_pmu.c b/tests/intel/perf_pmu.c
index f7d3e0cefbd5..6775b7f9065b 100644
--- a/tests/intel/perf_pmu.c
+++ b/tests/intel/perf_pmu.c
@@ -2278,7 +2278,7 @@ static void restore_sysfs_freq(int i915)
 	free(stash_boost);
 }
 
-igt_main
+igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	unsigned int num_engines = 0;
diff --git a/tests/intel/prime_busy.c b/tests/intel/prime_busy.c
index ee4c7c73ab2c..62ae30f6f057 100644
--- a/tests/intel/prime_busy.c
+++ b/tests/intel/prime_busy.c
@@ -148,7 +148,7 @@ static void test_mode(int fd, const intel_ctx_t *ctx, unsigned int flags)
 		igt_disallow_hang(fd, hang);
 }
 
-igt_main
+igt_main()
 {
 	const intel_ctx_t *ctx;
 	int fd = -1;
diff --git a/tests/intel/prime_mmap.c b/tests/intel/prime_mmap.c
index c3990d6edc98..7299ac47a33f 100644
--- a/tests/intel/prime_mmap.c
+++ b/tests/intel/prime_mmap.c
@@ -537,7 +537,7 @@ static bool check_skip(uint32_t skip, uint32_t region)
 	return false;
 }
 
-igt_main
+igt_main()
 {
 	struct igt_collection *set, *regions, *dma_buf_set;
 	struct drm_i915_query_memory_regions *query_info;
diff --git a/tests/intel/prime_mmap_coherency.c b/tests/intel/prime_mmap_coherency.c
index cbed906de44e..7ca88c32a861 100644
--- a/tests/intel/prime_mmap_coherency.c
+++ b/tests/intel/prime_mmap_coherency.c
@@ -307,7 +307,7 @@ static void test_ioctl_errors(void)
 	}
 }
 
-igt_main
+igt_main()
 {
 	struct igt_collection *set, *dma_buf_set;
 	struct drm_i915_query_memory_regions *query_info;
diff --git a/tests/intel/prime_mmap_kms.c b/tests/intel/prime_mmap_kms.c
index 4480f0c1cfef..b8b3ea277ccd 100644
--- a/tests/intel/prime_mmap_kms.c
+++ b/tests/intel/prime_mmap_kms.c
@@ -257,7 +257,7 @@ check_for_dma_buf_mmap(int fd)
 	return ret;
 }
 
-igt_main
+igt_main()
 {
 	gpu_process_t gpu;
 
diff --git a/tests/intel/prime_self_import.c b/tests/intel/prime_self_import.c
index 62d7431c2d3e..0d21476be242 100644
--- a/tests/intel/prime_self_import.c
+++ b/tests/intel/prime_self_import.c
@@ -458,7 +458,7 @@ static void test_llseek_bad(void)
 	drm_close_driver(fd);
 }
 
-igt_main
+igt_main()
 {
 	struct {
 		const char *name;
diff --git a/tests/intel/sysfs_defaults.c b/tests/intel/sysfs_defaults.c
index 641c2de1bf30..3b13b2834631 100644
--- a/tests/intel/sysfs_defaults.c
+++ b/tests/intel/sysfs_defaults.c
@@ -91,7 +91,7 @@ static void test_writable(int i915, int engine)
 	closedir(dir);
 }
 
-igt_main
+igt_main()
 {
 	int i915 = -1, engines = -1;
 
diff --git a/tests/intel/sysfs_heartbeat_interval.c b/tests/intel/sysfs_heartbeat_interval.c
index afee2ef80684..44bb3a850927 100644
--- a/tests/intel/sysfs_heartbeat_interval.c
+++ b/tests/intel/sysfs_heartbeat_interval.c
@@ -487,7 +487,7 @@ static void test_off(int i915, int engine)
 	put_ahnd(ahnd);
 }
 
-igt_main
+igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/sysfs_preempt_timeout.c b/tests/intel/sysfs_preempt_timeout.c
index 5c7ff672ea81..827e2eb93537 100644
--- a/tests/intel/sysfs_preempt_timeout.c
+++ b/tests/intel/sysfs_preempt_timeout.c
@@ -332,7 +332,7 @@ static void test_off(int i915, int engine)
 	set_preempt_timeout(engine, saved);
 }
 
-igt_main
+igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/sysfs_timeslice_duration.c b/tests/intel/sysfs_timeslice_duration.c
index ea4ea7a8d289..2e25690da22b 100644
--- a/tests/intel/sysfs_timeslice_duration.c
+++ b/tests/intel/sysfs_timeslice_duration.c
@@ -556,7 +556,7 @@ static void test_off(int i915, int engine)
 	set_timeslice(engine, saved);
 }
 
-igt_main
+igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/xe_compute.c b/tests/intel/xe_compute.c
index 96abbc879281..2e676b93b04c 100644
--- a/tests/intel/xe_compute.c
+++ b/tests/intel/xe_compute.c
@@ -510,7 +510,7 @@ test_compute_square(int fd)
 		      "GPU not supported\n");
 }
 
-igt_main
+igt_main()
 {
 	int xe, ccs_mode[4];
 	unsigned int ip_ver;
diff --git a/tests/intel/xe_compute_preempt.c b/tests/intel/xe_compute_preempt.c
index b13285eef7d4..414d17f50047 100644
--- a/tests/intel/xe_compute_preempt.c
+++ b/tests/intel/xe_compute_preempt.c
@@ -62,7 +62,7 @@ test_compute_preempt(int fd, struct drm_xe_engine_class_instance *hwe, bool thre
 
 #define CONTEXT_MB 100
 
-igt_main
+igt_main()
 {
 	int xe;
 	struct drm_xe_engine_class_instance *hwe;
diff --git a/tests/intel/xe_configfs.c b/tests/intel/xe_configfs.c
index 2cebeae55282..5599102117b1 100644
--- a/tests/intel/xe_configfs.c
+++ b/tests/intel/xe_configfs.c
@@ -309,7 +309,7 @@ static int create_device_configfs_group(int configfs_fd)
 	return configfs_device_fd;
 }
 
-igt_main
+igt_main()
 {
 	int fd, configfs_fd, configfs_device_fd;
 	uint32_t devid;
diff --git a/tests/intel/xe_dma_buf_sync.c b/tests/intel/xe_dma_buf_sync.c
index 0a8a3c5a1a66..07099a8c92d4 100644
--- a/tests/intel/xe_dma_buf_sync.c
+++ b/tests/intel/xe_dma_buf_sync.c
@@ -226,7 +226,7 @@ test_export_dma_buf(struct drm_xe_engine_class_instance *hwe0,
 		drm_close_driver(fd[i]);
 }
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe, *hwe0 = NULL, *hwe1;
 	int fd;
diff --git a/tests/intel/xe_drm_fdinfo.c b/tests/intel/xe_drm_fdinfo.c
index f863cb519a9b..fe6f8539767e 100644
--- a/tests/intel/xe_drm_fdinfo.c
+++ b/tests/intel/xe_drm_fdinfo.c
@@ -728,7 +728,7 @@ utilization_multi(int fd, int gt, int class, unsigned int flags)
 	xe_vm_destroy(fd, vm);
 }
 
-igt_main
+igt_main()
 {
 	const struct section {
 		const char *name;
diff --git a/tests/intel/xe_eudebug.c b/tests/intel/xe_eudebug.c
index fa4d5361cad9..b037bb97f088 100644
--- a/tests/intel/xe_eudebug.c
+++ b/tests/intel/xe_eudebug.c
@@ -2794,7 +2794,7 @@ static void test_basic_exec_queues_enable(int fd)
 	xe_vm_destroy(fd, vm_non_lr);
 }
 
-igt_main
+igt_main()
 {
 	bool was_enabled;
 	bool *multigpu_was_enabled;
diff --git a/tests/intel/xe_eudebug_online.c b/tests/intel/xe_eudebug_online.c
index a3e8d60953c9..3b83e3301c71 100644
--- a/tests/intel/xe_eudebug_online.c
+++ b/tests/intel/xe_eudebug_online.c
@@ -2587,7 +2587,7 @@ static bool restore_preempt_timeout(int fd, uint16_t engine_class, uint32_t pree
 			igt_dynamic_f("%s%d", xe_engine_class_string(__hwe->engine_class), \
 				      hwe->engine_instance)
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	bool was_enabled;
diff --git a/tests/intel/xe_eudebug_sriov.c b/tests/intel/xe_eudebug_sriov.c
index c5178fd48d66..0f857639a01b 100644
--- a/tests/intel/xe_eudebug_sriov.c
+++ b/tests/intel/xe_eudebug_sriov.c
@@ -126,7 +126,7 @@ static void restore_initial_driver_state(int fd, bool eudebug_enabled, bool vf_a
 	igt_abort_on_f(abort, "Failed to restore initial driver state\n");
 }
 
-igt_main
+igt_main()
 {
 	bool eudebug_enabled;
 	bool vf_autoprobe;
diff --git a/tests/intel/xe_evict.c b/tests/intel/xe_evict.c
index 2815250ce8f5..839a39a76a1d 100644
--- a/tests/intel/xe_evict.c
+++ b/tests/intel/xe_evict.c
@@ -676,7 +676,7 @@ static unsigned int working_set(uint64_t vram_size, uint64_t system_size,
  * sections exists which cover multiple compute VM, multiple non-compute VMs,
  * and mixing of VMs.
  */
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section {
diff --git a/tests/intel/xe_exec_atomic.c b/tests/intel/xe_exec_atomic.c
index f42f93c1782c..61a860b3cc7f 100644
--- a/tests/intel/xe_exec_atomic.c
+++ b/tests/intel/xe_exec_atomic.c
@@ -123,7 +123,7 @@ static bool has_atomics(int fd, uint32_t region)
 	return true;
 }
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	int fd;
diff --git a/tests/intel/xe_exec_balancer.c b/tests/intel/xe_exec_balancer.c
index da36367c6e8f..13a85dcfac42 100644
--- a/tests/intel/xe_exec_balancer.c
+++ b/tests/intel/xe_exec_balancer.c
@@ -560,7 +560,7 @@ test_cm(int fd, int gt, int class, int n_exec_queues, int n_execs,
 }
 
 
-igt_main
+igt_main()
 {
 	const struct section {
 		const char *name;
diff --git a/tests/intel/xe_exec_basic.c b/tests/intel/xe_exec_basic.c
index 405d8ec77eda..4e59c34ef5a1 100644
--- a/tests/intel/xe_exec_basic.c
+++ b/tests/intel/xe_exec_basic.c
@@ -314,7 +314,7 @@ test_exec(int fd, struct drm_xe_engine_class_instance *eci,
 	}
 }
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section {
diff --git a/tests/intel/xe_exec_capture.c b/tests/intel/xe_exec_capture.c
index 962df5f1917f..af22f49aec5d 100644
--- a/tests/intel/xe_exec_capture.c
+++ b/tests/intel/xe_exec_capture.c
@@ -404,7 +404,7 @@ static void test_card(int fd)
 	regfree(&regex);
 }
 
-igt_main
+igt_main()
 {
 	int xe;
 	struct drm_xe_engine_class_instance *hwe;
diff --git a/tests/intel/xe_exec_compute_mode.c b/tests/intel/xe_exec_compute_mode.c
index 2121f4fb4861..bacff2f36953 100644
--- a/tests/intel/xe_exec_compute_mode.c
+++ b/tests/intel/xe_exec_compute_mode.c
@@ -401,7 +401,7 @@ static void lr_mode_workload(int fd)
 	put_ahnd(ahnd);
 }
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section {
diff --git a/tests/intel/xe_exec_fault_mode.c b/tests/intel/xe_exec_fault_mode.c
index 18b86514d14f..803a8ec1c15a 100644
--- a/tests/intel/xe_exec_fault_mode.c
+++ b/tests/intel/xe_exec_fault_mode.c
@@ -398,7 +398,7 @@ test_exec(int fd, struct drm_xe_engine_class_instance *eci,
 		close(map_fd);
 }
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section {
diff --git a/tests/intel/xe_exec_mix_modes.c b/tests/intel/xe_exec_mix_modes.c
index 45d02e06e2dc..9780119069a0 100644
--- a/tests/intel/xe_exec_mix_modes.c
+++ b/tests/intel/xe_exec_mix_modes.c
@@ -256,7 +256,7 @@ test_exec(int fd, struct drm_xe_engine_class_instance *hwe,
 	run_job(fd, hwe, engine_execution_mode, job_type, true, NULL);
 }
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section {
diff --git a/tests/intel/xe_exec_queue_property.c b/tests/intel/xe_exec_queue_property.c
index f612fdf196bf..dc4896e22d45 100644
--- a/tests/intel/xe_exec_queue_property.c
+++ b/tests/intel/xe_exec_queue_property.c
@@ -201,7 +201,7 @@ static void invalid_property(int xe)
 					     to_user_pointer(&ext), &exec_queue_id), 0);
 }
 
-igt_main
+igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/xe_exec_reset.c b/tests/intel/xe_exec_reset.c
index f7ecb26af290..ec86f8e2fc8e 100644
--- a/tests/intel/xe_exec_reset.c
+++ b/tests/intel/xe_exec_reset.c
@@ -770,7 +770,7 @@ static void threads(int fd, int n_exec_queues, int n_execs, unsigned int flags)
 	free(threads_data);
 }
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section {
diff --git a/tests/intel/xe_exec_sip.c b/tests/intel/xe_exec_sip.c
index 06465e27ed62..cb78ade1a496 100644
--- a/tests/intel/xe_exec_sip.c
+++ b/tests/intel/xe_exec_sip.c
@@ -309,7 +309,7 @@ static void test_sip(enum shader_type shader_type, enum sip_type sip_type,
 				igt_dynamic_f("%s%d", xe_engine_class_string(__eci->engine_class), \
 					      __eci->engine_instance)
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *eci;
 	int fd;
diff --git a/tests/intel/xe_exec_sip_eudebug.c b/tests/intel/xe_exec_sip_eudebug.c
index e3afa372776f..820bb852c3d5 100644
--- a/tests/intel/xe_exec_sip_eudebug.c
+++ b/tests/intel/xe_exec_sip_eudebug.c
@@ -314,7 +314,7 @@ static void test_sip(enum shader_type shader_type, enum sip_type sip_type,
 				igt_dynamic_f("%s%d", xe_engine_class_string(__eci->engine_class), \
 					      __eci->engine_instance)
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *eci;
 	bool was_enabled;
diff --git a/tests/intel/xe_exec_store.c b/tests/intel/xe_exec_store.c
index 4fda5a4fb253..3df66850019f 100644
--- a/tests/intel/xe_exec_store.c
+++ b/tests/intel/xe_exec_store.c
@@ -412,7 +412,7 @@ static void long_shader(int fd, struct drm_xe_engine_class_instance *hwe,
 	free(buf);
 }
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	int fd;
diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
index 106e1a0e63c5..2bcb7b513b63 100644
--- a/tests/intel/xe_exec_system_allocator.c
+++ b/tests/intel/xe_exec_system_allocator.c
@@ -2216,7 +2216,7 @@ struct section {
 	uint8_t (*fn)(int pat);
 };
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section sections[] = {
diff --git a/tests/intel/xe_exec_threads.c b/tests/intel/xe_exec_threads.c
index 0eff4b8be8bc..58a1558e57fb 100644
--- a/tests/intel/xe_exec_threads.c
+++ b/tests/intel/xe_exec_threads.c
@@ -1109,7 +1109,7 @@ static void threads(int fd, int flags)
 	pthread_barrier_destroy(&barrier);
 }
 
-igt_main
+igt_main()
 {
 	const struct section {
 		const char *name;
diff --git a/tests/intel/xe_gt_freq.c b/tests/intel/xe_gt_freq.c
index e067b4598915..db5c980eb069 100644
--- a/tests/intel/xe_gt_freq.c
+++ b/tests/intel/xe_gt_freq.c
@@ -393,7 +393,7 @@ static void test_spin(int fd, struct drm_xe_engine_class_instance *eci, bool fix
 	xe_vm_destroy(fd, vm);
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 	int gt;
diff --git a/tests/intel/xe_huc_copy.c b/tests/intel/xe_huc_copy.c
index 6a015a6f7139..77a87acc540a 100644
--- a/tests/intel/xe_huc_copy.c
+++ b/tests/intel/xe_huc_copy.c
@@ -191,7 +191,7 @@ is_huc_running(int fd)
 	return false;
 }
 
-igt_main
+igt_main()
 {
 	int xe;
 
diff --git a/tests/intel/xe_live_ktest.c b/tests/intel/xe_live_ktest.c
index d64d6a12c1ff..f65d44af9963 100644
--- a/tests/intel/xe_live_ktest.c
+++ b/tests/intel/xe_live_ktest.c
@@ -53,7 +53,7 @@ static const char *live_tests[] = {
 	"xe_eudebug",
 };
 
-igt_main
+igt_main()
 {
 	int i;
 
diff --git a/tests/intel/xe_media_fill.c b/tests/intel/xe_media_fill.c
index ec76de6c54a2..65fd16dcd036 100644
--- a/tests/intel/xe_media_fill.c
+++ b/tests/intel/xe_media_fill.c
@@ -115,7 +115,7 @@ static void media_fill(struct data_t *data, igt_fillfunc_t fill)
 	munmap(ptr, buf->surface[0].size);
 }
 
-igt_main
+igt_main()
 {
 	struct data_t data = {0, };
 	igt_fillfunc_t fill_fn = NULL;
diff --git a/tests/intel/xe_mmap.c b/tests/intel/xe_mmap.c
index 5952ce0bdd69..3bcd1668cd9a 100644
--- a/tests/intel/xe_mmap.c
+++ b/tests/intel/xe_mmap.c
@@ -440,7 +440,7 @@ static void prepare_pci_membarrier_test(int fd, int *fw_ptr)
 	igt_assert_lte(0, *fw_ptr);
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/intel/xe_module_load.c b/tests/intel/xe_module_load.c
index 83e37430f55f..e4f8c41da85e 100644
--- a/tests/intel/xe_module_load.c
+++ b/tests/intel/xe_module_load.c
@@ -116,7 +116,7 @@ static const char * const unwanted_drivers[] = {
  * SUBTEST: many-reload
  * Description: Reload the Xe driver many times
  */
-igt_main
+igt_main()
 {
 	igt_describe("Check if xe and friends are not yet loaded, then load them.");
 	igt_subtest("load") {
diff --git a/tests/intel/xe_noexec_ping_pong.c b/tests/intel/xe_noexec_ping_pong.c
index ab8d1944a319..9c5961be5a77 100644
--- a/tests/intel/xe_noexec_ping_pong.c
+++ b/tests/intel/xe_noexec_ping_pong.c
@@ -95,7 +95,7 @@ static void test_ping_pong(int fd, struct drm_xe_engine *engine)
 static int fd;
 
 IGT_TEST_DESCRIPTION("Expose compute VM's unnecessary rebinds");
-igt_main
+igt_main()
 {
 	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
index de63998d1792..6876e0bd9ac6 100644
--- a/tests/intel/xe_pm.c
+++ b/tests/intel/xe_pm.c
@@ -871,7 +871,7 @@ static void i2c_test(device_t device, int sysfs_fd, enum igt_acpi_d_state d_stat
 	close(i2c_fd);
 }
 
-igt_main
+igt_main()
 {
 	device_t device;
 	uint32_t d3cold_allowed;
diff --git a/tests/intel/xe_pm_residency.c b/tests/intel/xe_pm_residency.c
index 775ee7f99f6f..7dc1ab2c1e05 100644
--- a/tests/intel/xe_pm_residency.c
+++ b/tests/intel/xe_pm_residency.c
@@ -370,7 +370,7 @@ static void cpg_gt_toggle(int fd)
 		powergate_status(fd, gt, "down");
 }
 
-igt_main
+igt_main()
 {
 	uint32_t d3cold_allowed;
 	int fd, gt;
diff --git a/tests/intel/xe_pmu.c b/tests/intel/xe_pmu.c
index 96723ec867e1..e8b2f4b4b5f9 100644
--- a/tests/intel/xe_pmu.c
+++ b/tests/intel/xe_pmu.c
@@ -1056,7 +1056,7 @@ static void restore_gt_freq(int fd, uint32_t *stash_min, uint32_t *stash_max)
 	free(stash_max);
 }
 
-igt_main
+igt_main()
 {
 	int fd, gt, num_engines;
 	struct drm_xe_engine_class_instance *eci;
diff --git a/tests/intel/xe_prime_self_import.c b/tests/intel/xe_prime_self_import.c
index 2fc73ddeb0c0..9b25d2d0b1cc 100644
--- a/tests/intel/xe_prime_self_import.c
+++ b/tests/intel/xe_prime_self_import.c
@@ -514,7 +514,7 @@ static void test_llseek_bad(void)
 	drm_close_driver(fd);
 }
 
-igt_main
+igt_main()
 {
 	struct {
 		const char *name;
diff --git a/tests/intel/xe_pxp.c b/tests/intel/xe_pxp.c
index cae8f5a7e73c..d92c67961f47 100644
--- a/tests/intel/xe_pxp.c
+++ b/tests/intel/xe_pxp.c
@@ -1102,7 +1102,7 @@ static void exit_handler(int sig)
 	usleep(50 * 1000); /* give time for the termination to be processed */
 }
 
-igt_main
+igt_main()
 {
 	bool pxp_supported = true;
 	drmModeResPtr res;
diff --git a/tests/intel/xe_query.c b/tests/intel/xe_query.c
index 6474ba0b8424..1f62090776ca 100644
--- a/tests/intel/xe_query.c
+++ b/tests/intel/xe_query.c
@@ -1117,7 +1117,7 @@ static void test_query_pxp_status(int fd)
 	free(qpxp);
 }
 
-igt_main
+igt_main()
 {
 	const struct {
 		const char *name;
diff --git a/tests/intel/xe_spin_batch.c b/tests/intel/xe_spin_batch.c
index 168b604ac3f5..528230d91c90 100644
--- a/tests/intel/xe_spin_batch.c
+++ b/tests/intel/xe_spin_batch.c
@@ -526,7 +526,7 @@ static void xe_spin_timestamp_check(int fd, struct drm_xe_engine_class_instance
 	run_spinner(fd, eci);
 }
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	int fd;
diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
index 608e306ed0e6..ad5de95c7217 100644
--- a/tests/intel/xe_sriov_flr.c
+++ b/tests/intel/xe_sriov_flr.c
@@ -1023,7 +1023,7 @@ static void clear_tests(int pf_fd, int num_vfs, flr_exec_strategy exec_strategy)
 	verify_flr(pf_fd, num_vfs, checks, num_checks, exec_strategy);
 }
 
-igt_main
+igt_main()
 {
 	int pf_fd;
 	bool autoprobe;
diff --git a/tests/intel/xe_survivability.c b/tests/intel/xe_survivability.c
index dfdd14738dfa..8325ee85adbf 100644
--- a/tests/intel/xe_survivability.c
+++ b/tests/intel/xe_survivability.c
@@ -207,7 +207,7 @@ static void test_spinner_after_recovery(int fd)
 	put_ahnd(ahnd);
 }
 
-igt_main
+igt_main()
 {
 	int fd, configfs_fd, configfs_device_fd;
 	struct pci_device *pci_xe;
diff --git a/tests/intel/xe_sysfs_defaults.c b/tests/intel/xe_sysfs_defaults.c
index 3a221375e82d..807a1defdde2 100644
--- a/tests/intel/xe_sysfs_defaults.c
+++ b/tests/intel/xe_sysfs_defaults.c
@@ -58,7 +58,7 @@ static void test_defaults(int xe, int engine, const char **property,
 	closedir(dir);
 }
 
-igt_main
+igt_main()
 {
 	int xe, sys_fd;
 	int gt;
diff --git a/tests/intel/xe_sysfs_preempt_timeout.c b/tests/intel/xe_sysfs_preempt_timeout.c
index ea0ed13d3319..1bc762ef4697 100644
--- a/tests/intel/xe_sysfs_preempt_timeout.c
+++ b/tests/intel/xe_sysfs_preempt_timeout.c
@@ -173,7 +173,7 @@ static void test_timeout(int fd, int engine, const char **property, uint16_t cla
 }
 
 #define	MAX_GTS	8
-igt_main
+igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/xe_sysfs_scheduler.c b/tests/intel/xe_sysfs_scheduler.c
index f134074aa414..bf714b5f5371 100644
--- a/tests/intel/xe_sysfs_scheduler.c
+++ b/tests/intel/xe_sysfs_scheduler.c
@@ -219,7 +219,7 @@ static void test_invalid_large_string(int xe, int engine, const char **property,
 }
 
 #define MAX_GTS 8
-igt_main
+igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/xe_sysfs_timeslice_duration.c b/tests/intel/xe_sysfs_timeslice_duration.c
index ae6b9aa223cc..55ce7e4995c5 100644
--- a/tests/intel/xe_sysfs_timeslice_duration.c
+++ b/tests/intel/xe_sysfs_timeslice_duration.c
@@ -149,7 +149,7 @@ static void test_timeout(int fd, int engine, const char **property, uint16_t cla
 }
 
 #define	MAX_GTS	8
-igt_main
+igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/xe_tlb.c b/tests/intel/xe_tlb.c
index 712707270416..7c545abff60b 100644
--- a/tests/intel/xe_tlb.c
+++ b/tests/intel/xe_tlb.c
@@ -128,7 +128,7 @@ static void tlb_invalidation(int fd, struct drm_xe_engine_class_instance *eci)
 	xe_vm_destroy(fd, vm);
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 	struct drm_xe_engine *engine;
diff --git a/tests/intel/xe_vm.c b/tests/intel/xe_vm.c
index 523c2158e721..9a944adc6898 100644
--- a/tests/intel/xe_vm.c
+++ b/tests/intel/xe_vm.c
@@ -2450,7 +2450,7 @@ static void test_oom(int fd)
 	}
 }
 
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe, *hwe_non_copy = NULL;
 	uint64_t bind_size;
diff --git a/tests/intel/xe_waitfence.c b/tests/intel/xe_waitfence.c
index ee02732a815f..3cd96d43d284 100644
--- a/tests/intel/xe_waitfence.c
+++ b/tests/intel/xe_waitfence.c
@@ -275,7 +275,7 @@ exec_queue_reset_wait(int fd)
 	}
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/intel/xe_wedged.c b/tests/intel/xe_wedged.c
index c3c81960ae42..7eae418835f7 100644
--- a/tests/intel/xe_wedged.c
+++ b/tests/intel/xe_wedged.c
@@ -208,7 +208,7 @@ simple_hang(int fd, struct drm_xe_sync *sync)
  * SUBTEST: basic-wedged-read
  * Description: Read wedged_mode debugfs
  */
-igt_main
+igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	int fd;
diff --git a/tests/kms_3d.c b/tests/kms_3d.c
index b4e662bfd73f..12316ca08b16 100644
--- a/tests/kms_3d.c
+++ b/tests/kms_3d.c
@@ -40,7 +40,7 @@
 
 IGT_TEST_DESCRIPTION("Tests 3D mode setting.");
 
-igt_main
+igt_main()
 {
 	int drm_fd;
 	drmModeRes *res;
diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
index 9699bd8398c1..43a9794b18f2 100644
--- a/tests/kms_addfb_basic.c
+++ b/tests/kms_addfb_basic.c
@@ -982,7 +982,7 @@ static bool has_addfb2_iface(int fd)
 
 int fd;
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_ANY);
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index c1be4c5a947d..50d5b5850e66 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -1065,7 +1065,7 @@ static void run_test_with_modifiers(data_t *data, void (*test)(data_t *))
 
 static data_t data;
 
-igt_main
+igt_main()
 {
 	int i;
 
diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c
index 2983b14f7df3..29a1f2e0bdc3 100644
--- a/tests/kms_atomic_interruptible.c
+++ b/tests/kms_atomic_interruptible.c
@@ -321,7 +321,7 @@ static bool pipe_output_combo_valid(igt_display_t *display,
 	return ret;
 }
 
-igt_main
+igt_main()
 {
 	igt_display_t display;
 	igt_output_t *output;
diff --git a/tests/kms_bw.c b/tests/kms_bw.c
index 43c4439ced8b..b6126e03a233 100644
--- a/tests/kms_bw.c
+++ b/tests/kms_bw.c
@@ -259,7 +259,7 @@ static void run_test_linear_tiling(data_t *data, int pipe, const drmModeModeInfo
 	test_fini(data);
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 	int i = 0, j = 0;
diff --git a/tests/kms_color.c b/tests/kms_color.c
index 5ffc9ddadd19..ceee839bc35b 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -1171,7 +1171,7 @@ run_tests_for_pipe(data_t *data)
 	}
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index f0c2993598e7..1113a36fd26c 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -980,7 +980,7 @@ static const struct {
 	},
 };
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index fea50b3b1b16..dc2fbc460a7a 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -1824,7 +1824,7 @@ static void modeset_atomic_cursor_hotspot(igt_display_t *display)
 	igt_remove_fb(display->drm_fd, &cursor_fb);
 }
 
-igt_main
+igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	igt_display_t display = { .drm_fd = -1 };
diff --git a/tests/kms_debugfs.c b/tests/kms_debugfs.c
index 45ad1440fbd0..7db75637e912 100644
--- a/tests/kms_debugfs.c
+++ b/tests/kms_debugfs.c
@@ -94,7 +94,7 @@ static void igt_display_all_off(igt_display_t *display)
 
 IGT_TEST_DESCRIPTION("Read entries from debugfs with display on/off.");
 
-igt_main
+igt_main()
 {
 	int debugfs = -1;
 	igt_display_t display;
diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c
index 59bda92ff77e..2f229a953f64 100644
--- a/tests/kms_display_modes.c
+++ b/tests/kms_display_modes.c
@@ -227,7 +227,7 @@ static void run_extendedmode_test(data_t *data) {
 	}
 }
 
-igt_main
+igt_main()
 {
 	int dp_mst_outputs = 0, count = 0;
 	igt_output_t *output;
diff --git a/tests/kms_dither.c b/tests/kms_dither.c
index f045cdf130b0..cf9e054e2000 100644
--- a/tests/kms_dither.c
+++ b/tests/kms_dither.c
@@ -236,7 +236,7 @@ run_dither_test(data_t *data, int fb_bpc, int fb_format, int output_bpc)
 	}
 }
 
-igt_main
+igt_main()
 {
 	struct {
 		int fb_bpc;
diff --git a/tests/kms_feature_discovery.c b/tests/kms_feature_discovery.c
index 6dea20541b16..6e10eb392bf5 100644
--- a/tests/kms_feature_discovery.c
+++ b/tests/kms_feature_discovery.c
@@ -71,7 +71,7 @@ static igt_display_t display;
 IGT_TEST_DESCRIPTION("A metatest that checks for \"features\" presence. "
 		     "The subtests here should only skip or pass, "
 		     "anything else means we have a serious problem.");
-igt_main {
+igt_main() {
 	igt_fd_t(debugfs_fd);
 	igt_fd_t(fd);
 
diff --git a/tests/kms_flip_event_leak.c b/tests/kms_flip_event_leak.c
index d417c2e5438e..79f90000da56 100644
--- a/tests/kms_flip_event_leak.c
+++ b/tests/kms_flip_event_leak.c
@@ -103,7 +103,7 @@ static void test(data_t *data, enum pipe pipe, igt_output_t *output)
 	igt_remove_fb(data->drm_fd, &fb[0]);
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 	igt_output_t *output;
diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c
index 7bb8e2839f8c..9354c27ed18d 100644
--- a/tests/kms_getfb.c
+++ b/tests/kms_getfb.c
@@ -425,7 +425,7 @@ static void test_handle_protection(void) {
 	}
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 	igt_display_t display;
diff --git a/tests/kms_hdmi_inject.c b/tests/kms_hdmi_inject.c
index d6aa1b17e60a..61d42d1a6021 100644
--- a/tests/kms_hdmi_inject.c
+++ b/tests/kms_hdmi_inject.c
@@ -211,7 +211,7 @@ hdmi_inject_audio(int drm_fd, drmModeConnector *connector)
 	kmstest_force_edid(drm_fd, connector, NULL);
 }
 
-igt_main
+igt_main()
 {
 	int drm_fd;
 	drmModeRes *res;
diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
index 7dbd10eeb4ef..0fd0a505b302 100644
--- a/tests/kms_hdr.c
+++ b/tests/kms_hdr.c
@@ -799,7 +799,7 @@ static void test_hdr(data_t *data, uint32_t flags)
 	}
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/kms_invalid_mode.c b/tests/kms_invalid_mode.c
index a404526cff88..8f4e19657791 100644
--- a/tests/kms_invalid_mode.c
+++ b/tests/kms_invalid_mode.c
@@ -334,7 +334,7 @@ static const struct {
 
 static data_t data;
 
-igt_main
+igt_main()
 {
 
 	enum pipe pipe;
diff --git a/tests/kms_lease.c b/tests/kms_lease.c
index cd1c6fb6cf0c..914254309532 100644
--- a/tests/kms_lease.c
+++ b/tests/kms_lease.c
@@ -1239,7 +1239,7 @@ static void lease_uevent(data_t *data)
 	igt_cleanup_uevents(uevent_monitor);
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 	igt_output_t *output;
diff --git a/tests/kms_multipipe_modeset.c b/tests/kms_multipipe_modeset.c
index e2a2969560d6..ec191e025021 100644
--- a/tests/kms_multipipe_modeset.c
+++ b/tests/kms_multipipe_modeset.c
@@ -142,7 +142,7 @@ static void test_multipipe(data_t *data, int num_pipes)
 	run_test(data, valid_outputs);
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 	drmModeResPtr res;
diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c
index 5375bb9af23f..51934e151ee3 100644
--- a/tests/kms_panel_fitting.c
+++ b/tests/kms_panel_fitting.c
@@ -281,7 +281,7 @@ static void test_panel_fitting(data_t *data, enum test_type type)
 	}
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/kms_plane_cursor.c b/tests/kms_plane_cursor.c
index e2c174f23631..b0b3f7b9baba 100644
--- a/tests/kms_plane_cursor.c
+++ b/tests/kms_plane_cursor.c
@@ -284,7 +284,7 @@ static void test_cursor(data_t *data, int size, unsigned int flags)
 	test_cursor_spots(data, size, flags);
 }
 
-igt_main
+igt_main()
 {
 	static const int cursor_sizes[] = { 64, 128, 256 };
 	data_t data = { .max_curw = 64, .max_curh = 64 };
diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
index ea3813edf906..b0f256802962 100644
--- a/tests/kms_plane_lowres.c
+++ b/tests/kms_plane_lowres.c
@@ -338,7 +338,7 @@ static const struct {
 	},
 };
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/kms_prime.c b/tests/kms_prime.c
index fb7320d2bf58..778debbd9c50 100644
--- a/tests/kms_prime.c
+++ b/tests/kms_prime.c
@@ -551,7 +551,7 @@ static void kms_poll_disable(void)
 	close(sysfs_fd);
 }
 
-igt_main
+igt_main()
 {
 	int first_fd = -1;
 	int second_fd_vgem = -1;
diff --git a/tests/kms_prop_blob.c b/tests/kms_prop_blob.c
index 9548827d84f4..a63d950892f0 100644
--- a/tests/kms_prop_blob.c
+++ b/tests/kms_prop_blob.c
@@ -345,7 +345,7 @@ static void prop_tests(int fd)
 		destroy_prop(fd, blob_id);
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/kms_properties.c b/tests/kms_properties.c
index b17032d6cad6..bb6feb152579 100644
--- a/tests/kms_properties.c
+++ b/tests/kms_properties.c
@@ -820,7 +820,7 @@ static void invalid_properties(igt_display_t *display, bool atomic)
 		test_object_invalid_properties(display, output->id, DRM_MODE_OBJECT_CONNECTOR, atomic);
 }
 
-igt_main
+igt_main()
 {
 	igt_display_t display;
 	int i;
diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
index 5a338ef733d7..807df9ec89f1 100644
--- a/tests/kms_rmfb.c
+++ b/tests/kms_rmfb.c
@@ -190,7 +190,7 @@ run_rmfb_test(struct rmfb_data *data, bool reopen)
 	}
 }
 
-igt_main
+igt_main()
 {
 	const struct {
 		bool reopen;
diff --git a/tests/kms_scaling_modes.c b/tests/kms_scaling_modes.c
index b869639551dc..8d120dc8ad21 100644
--- a/tests/kms_scaling_modes.c
+++ b/tests/kms_scaling_modes.c
@@ -130,7 +130,7 @@ static void test_scaling_mode(data_t *data, uint32_t flags)
 	}
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/kms_selftest.c b/tests/kms_selftest.c
index eb6482cc2a84..dbd1b048179e 100644
--- a/tests/kms_selftest.c
+++ b/tests/kms_selftest.c
@@ -49,7 +49,7 @@
 
 IGT_TEST_DESCRIPTION("Basic sanity check of KMS selftests.");
 
-igt_main
+igt_main()
 {
 	static const char *kunit_subtests[] = {
 		"drm_cmdline_parser_test",
diff --git a/tests/kms_sequence.c b/tests/kms_sequence.c
index 635854460d73..17295ba517a2 100644
--- a/tests/kms_sequence.c
+++ b/tests/kms_sequence.c
@@ -268,7 +268,7 @@ static void sequence_queue(data_t *data, int fd, int nchildren)
 		 frame_time * 1000.0, 1.0/frame_time);
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 	igt_output_t *output;
diff --git a/tests/kms_tiled_display.c b/tests/kms_tiled_display.c
index eae9312d18c2..9d98e806ae80 100644
--- a/tests/kms_tiled_display.c
+++ b/tests/kms_tiled_display.c
@@ -566,7 +566,7 @@ static void basic_test(data_t *data, drmEventContext *drm_event, struct pollfd *
 	}
 }
 
-igt_main
+igt_main()
 {
 	data_t data = {0};
 	struct pollfd pfd = {0};
diff --git a/tests/kms_tv_load_detect.c b/tests/kms_tv_load_detect.c
index c962a55d9724..3f7e1b8240bf 100644
--- a/tests/kms_tv_load_detect.c
+++ b/tests/kms_tv_load_detect.c
@@ -39,7 +39,7 @@
 
 IGT_TEST_DESCRIPTION("Check tv load detection works correctly.");
 
-igt_main
+igt_main()
 {
 	/* force the VGA output and test that it worked */
 	int drm_fd = 0;
diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c
index edbe3e961cbb..2f8c6ce92617 100644
--- a/tests/kms_universal_plane.c
+++ b/tests/kms_universal_plane.c
@@ -891,7 +891,7 @@ run_tests(data_t *data)
 	}
 }
 
-igt_main
+igt_main()
 {
 	data_t data;
 
diff --git a/tests/meta_test.c b/tests/meta_test.c
index 2620982d0a6c..56503d8a3313 100644
--- a/tests/meta_test.c
+++ b/tests/meta_test.c
@@ -117,7 +117,7 @@ static void test_panic(void)
 	system("echo c > /proc/sysrq-trigger");
 }
 
-igt_main
+igt_main()
 {
 
 	igt_fixture() {
diff --git a/tests/msm/msm_mapping.c b/tests/msm/msm_mapping.c
index f9abffee82f2..69cef2c8c876 100644
--- a/tests/msm/msm_mapping.c
+++ b/tests/msm/msm_mapping.c
@@ -262,7 +262,7 @@ do_mapping_test(struct msm_pipe *pipe, const char *buffername, bool write)
  * Tests for drm/msm hangcheck, recovery, and fault handling
  */
 
-igt_main
+igt_main()
 {
 	struct msm_device *dev = NULL;
 	struct msm_pipe *pipe = NULL;
diff --git a/tests/msm/msm_recovery.c b/tests/msm/msm_recovery.c
index e0cef1140f90..86fd930cf564 100644
--- a/tests/msm/msm_recovery.c
+++ b/tests/msm/msm_recovery.c
@@ -215,7 +215,7 @@ do_fault_test(struct msm_pipe *pipe, bool stress)
  * Tests for drm/msm hangcheck, recovery, and fault handling
  */
 
-igt_main
+igt_main()
 {
 	static struct msm_pipe *pipe = NULL;
 
diff --git a/tests/msm/msm_shrink.c b/tests/msm/msm_shrink.c
index 6c5b976520a3..9b689e80ea51 100644
--- a/tests/msm/msm_shrink.c
+++ b/tests/msm/msm_shrink.c
@@ -243,7 +243,7 @@ static void run_test(int nchildren, uint64_t alloc_size_mb, unsigned num_bos,
 
 static const unsigned num_bos[] = { 8, 32 };
 
-igt_main
+igt_main()
 {
 	struct msm_device *dev = NULL;
 	uint64_t alloc_size_mb = 0;
diff --git a/tests/msm/msm_submit.c b/tests/msm/msm_submit.c
index 2955f5d99b23..1b2e7b147a68 100644
--- a/tests/msm/msm_submit.c
+++ b/tests/msm/msm_submit.c
@@ -24,7 +24,7 @@
 #include "igt.h"
 #include "igt_msm.h"
 
-igt_main
+igt_main()
 {
 	struct msm_device *dev = NULL;
 	struct msm_pipe *pipe = NULL;
diff --git a/tests/msm/msm_submitoverhead.c b/tests/msm/msm_submitoverhead.c
index bf5229881277..5f84a186d2c5 100644
--- a/tests/msm/msm_submitoverhead.c
+++ b/tests/msm/msm_submitoverhead.c
@@ -14,7 +14,7 @@
 
 #define MAX_BOS 1000
 
-igt_main
+igt_main()
 {
 	struct msm_device *dev = NULL;
 	struct msm_pipe *pipe = NULL;
diff --git a/tests/nouveau_crc.c b/tests/nouveau_crc.c
index a8f4b71f7121..929c59404145 100644
--- a/tests/nouveau_crc.c
+++ b/tests/nouveau_crc.c
@@ -318,7 +318,7 @@ static void test_source_outp_inactive(data_t *data)
 data_t data = {0};
 
 #define pipe_test(name) igt_subtest_f("pipe-%s-" name, kmstest_pipe_name(pipe))
-igt_main
+igt_main()
 {
 	int pipe;
 
diff --git a/tests/panfrost/panfrost_gem_new.c b/tests/panfrost/panfrost_gem_new.c
index 42e0bbc038e1..b97287deed23 100644
--- a/tests/panfrost/panfrost_gem_new.c
+++ b/tests/panfrost/panfrost_gem_new.c
@@ -35,7 +35,7 @@
 #include <sys/ioctl.h>
 #include "panfrost_drm.h"
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/panfrost/panfrost_get_param.c b/tests/panfrost/panfrost_get_param.c
index 39ef11eba1b8..e6f63b4f9071 100644
--- a/tests/panfrost/panfrost_get_param.c
+++ b/tests/panfrost/panfrost_get_param.c
@@ -36,7 +36,7 @@
 #include <poll.h>
 #include "panfrost_drm.h"
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/panfrost/panfrost_prime.c b/tests/panfrost/panfrost_prime.c
index b90c66032c23..cc07c8570693 100644
--- a/tests/panfrost/panfrost_prime.c
+++ b/tests/panfrost/panfrost_prime.c
@@ -55,7 +55,7 @@ static bool igt_has_prime(int fd, uint64_t flags)
 	return (value & flags) == flags;
 }
 
-igt_main
+igt_main()
 {
 	int fd, kms_fd;
 
diff --git a/tests/panfrost/panfrost_submit.c b/tests/panfrost/panfrost_submit.c
index 27d3a7de55b3..dd899857ec0f 100644
--- a/tests/panfrost/panfrost_submit.c
+++ b/tests/panfrost/panfrost_submit.c
@@ -62,7 +62,7 @@ static void check_done(struct mali_job_descriptor_header *header)
         igt_assert(header->exception_status == 1 && header->fault_pointer == 0);
 }
 
-igt_main
+igt_main()
 {
         int fd;
 
diff --git a/tests/panthor/panthor_gem.c b/tests/panthor/panthor_gem.c
index 7e3aeca1e6c0..1d372d4c6f02 100644
--- a/tests/panthor/panthor_gem.c
+++ b/tests/panthor/panthor_gem.c
@@ -7,7 +7,7 @@
 #include "igt_core.h"
 #include "igt_panthor.h"
 
-igt_main {
+igt_main() {
 	int fd;
 
 	igt_fixture() {
diff --git a/tests/panthor/panthor_group.c b/tests/panthor/panthor_group.c
index 846ddabce36e..8befd56fe267 100644
--- a/tests/panthor/panthor_group.c
+++ b/tests/panthor/panthor_group.c
@@ -40,7 +40,7 @@ issue_store_multiple(uint8_t *cs, uint64_t kernel_va, uint32_t constant)
 	return sizeof(instrs);
 }
 
-igt_main {
+igt_main() {
 	int fd;
 
 	igt_fixture() {
diff --git a/tests/panthor/panthor_query.c b/tests/panthor/panthor_query.c
index 7212cb8f1c3c..915ef004562e 100644
--- a/tests/panthor/panthor_query.c
+++ b/tests/panthor/panthor_query.c
@@ -7,7 +7,7 @@
 #include "panthor_drm.h"
 #include <stdint.h>
 
-igt_main {
+igt_main() {
 	int fd;
 
 	igt_fixture() {
diff --git a/tests/panthor/panthor_vm.c b/tests/panthor/panthor_vm.c
index ffde7881146b..21b9de9be3bf 100644
--- a/tests/panthor/panthor_vm.c
+++ b/tests/panthor/panthor_vm.c
@@ -6,7 +6,7 @@
 #include "igt_panthor.h"
 #include "panthor_drm.h"
 
-igt_main {
+igt_main() {
 	int fd;
 
 	igt_fixture() {
diff --git a/tests/prime_nv_api.c b/tests/prime_nv_api.c
index c95586c6b01d..a411090a81e1 100644
--- a/tests/prime_nv_api.c
+++ b/tests/prime_nv_api.c
@@ -346,7 +346,7 @@ static void test_nv_self_import_to_different_fd(void)
 	nouveau_bo_ref(NULL, &nvbo2);
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		find_and_open_devices();
diff --git a/tests/prime_nv_pcopy.c b/tests/prime_nv_pcopy.c
index b1a935dbbea6..db3f54ab5aed 100644
--- a/tests/prime_nv_pcopy.c
+++ b/tests/prime_nv_pcopy.c
@@ -860,7 +860,7 @@ static void test_semaphore(void)
 	gem_close(intel_fd, intel_handle);
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		find_and_open_devices();
diff --git a/tests/prime_nv_test.c b/tests/prime_nv_test.c
index 94ea4f028d2a..3135191d9319 100644
--- a/tests/prime_nv_test.c
+++ b/tests/prime_nv_test.c
@@ -352,7 +352,7 @@ static void test_i915_blt_fill_nv_read(void)
 
 /* test 9 nouveau copy engine?? */
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		igt_assert(find_and_open_devices() == 0);
diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c
index 19b0839261ff..2abb1d185440 100644
--- a/tests/prime_vgem.c
+++ b/tests/prime_vgem.c
@@ -1146,7 +1146,7 @@ static void test_each_engine(const char *name, int vgem, int i915,
 		intel_ctx_destroy(i915, ctx);
 }
 
-igt_main
+igt_main()
 {
 	int i915 = -1;
 	int vgem = -1;
diff --git a/tests/sriov_basic.c b/tests/sriov_basic.c
index 7e01b578b5bc..29e1fd84dd75 100644
--- a/tests/sriov_basic.c
+++ b/tests/sriov_basic.c
@@ -118,7 +118,7 @@ static void bind_unbind_vf(int pf_fd, unsigned int vf_num)
 	igt_sriov_disable_vfs(pf_fd);
 }
 
-igt_main
+igt_main()
 {
 	int pf_fd;
 	bool autoprobe;
diff --git a/tests/sw_sync.c b/tests/sw_sync.c
index f7d719873626..f57ffcc10e58 100644
--- a/tests/sw_sync.c
+++ b/tests/sw_sync.c
@@ -878,7 +878,7 @@ static void test_sync_random_merge(void)
 		close(timeline_arr[i]);
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		igt_require_sw_sync();
diff --git a/tests/syncobj_basic.c b/tests/syncobj_basic.c
index 9a4f33884fba..cd0b3eab0582 100644
--- a/tests/syncobj_basic.c
+++ b/tests/syncobj_basic.c
@@ -219,7 +219,7 @@ static bool has_syncobj(int fd)
 	return value ? true : false;
 }
 
-igt_main
+igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/syncobj_eventfd.c b/tests/syncobj_eventfd.c
index 7ad0e62ad04d..d88ea3e701c0 100644
--- a/tests/syncobj_eventfd.c
+++ b/tests/syncobj_eventfd.c
@@ -277,7 +277,7 @@ test_wait_signaled(int fd, bool use_timeline)
 	syncobj_destroy(fd, syncobj);
 }
 
-igt_main
+igt_main()
 {
 	int fd = -1, i;
 
diff --git a/tests/syncobj_timeline.c b/tests/syncobj_timeline.c
index 7f09070d3412..b83f4c6bcb4a 100644
--- a/tests/syncobj_timeline.c
+++ b/tests/syncobj_timeline.c
@@ -1695,7 +1695,7 @@ has_syncobj_timeline_wait(int fd)
 	return ret == -1 && errno == ENOENT;
 }
 
-igt_main
+igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/syncobj_wait.c b/tests/syncobj_wait.c
index 854e1711055d..5ee90c5e9a8c 100644
--- a/tests/syncobj_wait.c
+++ b/tests/syncobj_wait.c
@@ -905,7 +905,7 @@ has_syncobj_wait(int fd)
 	return ret == -1 && errno == ENOENT;
 }
 
-igt_main
+igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/template.c b/tests/template.c
index 513125757109..29733de5785e 100644
--- a/tests/template.c
+++ b/tests/template.c
@@ -58,7 +58,7 @@ static void test_B(int fd)
 
 int drm_fd;
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		drm_fd = drm_open_driver(DRIVER_ANY);
diff --git a/tests/tools_test.c b/tests/tools_test.c
index 61e8a9998394..cc028eca96a7 100644
--- a/tests/tools_test.c
+++ b/tests/tools_test.c
@@ -94,7 +94,7 @@ static bool chdir_to_tools_dir(void)
 	return chdir(TOOLS) == 0 || chdir("../../bin") == 0;
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		char *path;
diff --git a/tests/v3d/v3d_create_bo.c b/tests/v3d/v3d_create_bo.c
index daa928d3fdd2..c7a0593de9c7 100644
--- a/tests/v3d/v3d_create_bo.c
+++ b/tests/v3d/v3d_create_bo.c
@@ -8,7 +8,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the V3D's Create BO IOCTL");
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_get_bo_offset.c b/tests/v3d/v3d_get_bo_offset.c
index 717d91a528c2..8ff9773c0656 100644
--- a/tests/v3d/v3d_get_bo_offset.c
+++ b/tests/v3d/v3d_get_bo_offset.c
@@ -26,7 +26,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the V3D's get BO offset IOCTL");
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_get_param.c b/tests/v3d/v3d_get_param.c
index 55caa0f1dd9a..7185d630e117 100644
--- a/tests/v3d/v3d_get_param.c
+++ b/tests/v3d/v3d_get_param.c
@@ -26,7 +26,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the V3D's get params IOCTL");
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_job_submission.c b/tests/v3d/v3d_job_submission.c
index 522c0ff79d84..fcf88daf650b 100644
--- a/tests/v3d/v3d_job_submission.c
+++ b/tests/v3d/v3d_job_submission.c
@@ -58,7 +58,7 @@ static void *create_csd_jobs(void *args)
 	return NULL;
 }
 
-igt_main
+igt_main()
 {
 	igt_fixture() {
 		fd = drm_open_driver(DRIVER_V3D);
diff --git a/tests/v3d/v3d_mmap.c b/tests/v3d/v3d_mmap.c
index c5ef39a6609b..7c433e8a120d 100644
--- a/tests/v3d/v3d_mmap.c
+++ b/tests/v3d/v3d_mmap.c
@@ -26,7 +26,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the V3D's mmap IOCTL");
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_perfmon.c b/tests/v3d/v3d_perfmon.c
index 1858888fe427..865b2aa17680 100644
--- a/tests/v3d/v3d_perfmon.c
+++ b/tests/v3d/v3d_perfmon.c
@@ -8,7 +8,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the V3D's performance monitors");
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_submit_cl.c b/tests/v3d/v3d_submit_cl.c
index a4d79e4abf5e..d6b12cd67301 100644
--- a/tests/v3d/v3d_submit_cl.c
+++ b/tests/v3d/v3d_submit_cl.c
@@ -27,7 +27,7 @@ short_timeout(void)
 	return gettime_ns() + SHORT_TIME_NSEC;
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_submit_csd.c b/tests/v3d/v3d_submit_csd.c
index cf2026cef022..636e1168733b 100644
--- a/tests/v3d/v3d_submit_csd.c
+++ b/tests/v3d/v3d_submit_csd.c
@@ -29,7 +29,7 @@ short_timeout(void)
 	return gettime_ns() + SHORT_TIME_NSEC;
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_wait_bo.c b/tests/v3d/v3d_wait_bo.c
index 8754410261e5..f30df3c4a902 100644
--- a/tests/v3d/v3d_wait_bo.c
+++ b/tests/v3d/v3d_wait_bo.c
@@ -24,7 +24,7 @@ static void test_used_bo(int fd, struct v3d_bo *bo, uint64_t timeout)
 	igt_assert(ret == 0 || (ret == -1 && errno == ETIME));
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 	struct v3d_bo *bo;
diff --git a/tests/vc4/vc4_create_bo.c b/tests/vc4/vc4_create_bo.c
index 8c55d09e629f..75fdcdf60ee3 100644
--- a/tests/vc4/vc4_create_bo.c
+++ b/tests/vc4/vc4_create_bo.c
@@ -24,7 +24,7 @@
 #include "igt.h"
 #include "igt_vc4.h"
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_dmabuf_poll.c b/tests/vc4/vc4_dmabuf_poll.c
index 14976dacc731..a2ee5371c36a 100644
--- a/tests/vc4/vc4_dmabuf_poll.c
+++ b/tests/vc4/vc4_dmabuf_poll.c
@@ -55,7 +55,7 @@ poll_write_bo_test(int fd, int poll_flag)
 	gem_close(fd, handle);
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_label_bo.c b/tests/vc4/vc4_label_bo.c
index 1d1b134a1796..d00ab0155ef1 100644
--- a/tests/vc4/vc4_label_bo.c
+++ b/tests/vc4/vc4_label_bo.c
@@ -39,7 +39,7 @@ set_label(int fd, int handle, const char *name, int err)
 		do_ioctl(fd, DRM_IOCTL_VC4_LABEL_BO, &label);
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_lookup_fail.c b/tests/vc4/vc4_lookup_fail.c
index be0b39ad9469..592f1f6c04d2 100644
--- a/tests/vc4/vc4_lookup_fail.c
+++ b/tests/vc4/vc4_lookup_fail.c
@@ -25,7 +25,7 @@
 #include "igt_vc4.h"
 #include "vc4_packet.h"
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_mmap.c b/tests/vc4/vc4_mmap.c
index 511561c8e6df..07fa6bee362f 100644
--- a/tests/vc4/vc4_mmap.c
+++ b/tests/vc4/vc4_mmap.c
@@ -8,7 +8,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the VC4's mmap IOCTL");
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_perfmon.c b/tests/vc4/vc4_perfmon.c
index 646956747f97..829e32d3761c 100644
--- a/tests/vc4/vc4_perfmon.c
+++ b/tests/vc4/vc4_perfmon.c
@@ -8,7 +8,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the VC4's performance monitors");
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_purgeable_bo.c b/tests/vc4/vc4_purgeable_bo.c
index 294f193dfc36..b657ddfdf706 100644
--- a/tests/vc4/vc4_purgeable_bo.c
+++ b/tests/vc4/vc4_purgeable_bo.c
@@ -94,7 +94,7 @@ static void igt_vc4_purgeable_subtest_prepare(int fd, struct igt_list_head *list
 	igt_assert(!igt_list_empty(list));
 }
 
-igt_main
+igt_main()
 {
 	struct igt_vc4_bo *bo;
 	struct igt_list_head list;
diff --git a/tests/vc4/vc4_tiling.c b/tests/vc4/vc4_tiling.c
index f412a9fe896e..227f42f16db0 100644
--- a/tests/vc4/vc4_tiling.c
+++ b/tests/vc4/vc4_tiling.c
@@ -24,7 +24,7 @@
 #include "igt.h"
 #include "igt_vc4.h"
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_wait_bo.c b/tests/vc4/vc4_wait_bo.c
index d70e90118759..25441edc8672 100644
--- a/tests/vc4/vc4_wait_bo.c
+++ b/tests/vc4/vc4_wait_bo.c
@@ -57,7 +57,7 @@ test_used_bo(int fd, uint64_t timeout)
 	gem_close(fd, handle);
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 	int bo_handle;
diff --git a/tests/vc4/vc4_wait_seqno.c b/tests/vc4/vc4_wait_seqno.c
index b390d76b55e6..e192378745b6 100644
--- a/tests/vc4/vc4_wait_seqno.c
+++ b/tests/vc4/vc4_wait_seqno.c
@@ -24,7 +24,7 @@
 #include "igt.h"
 #include "igt_vc4.h"
 
-igt_main
+igt_main()
 {
 	int fd;
 
diff --git a/tests/vgem_basic.c b/tests/vgem_basic.c
index 35739b0e82c1..0f94a1649a02 100644
--- a/tests/vgem_basic.c
+++ b/tests/vgem_basic.c
@@ -489,7 +489,7 @@ static bool has_prime_export(int fd)
 	return value & DRM_PRIME_CAP_EXPORT;
 }
 
-igt_main
+igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/vgem_slow.c b/tests/vgem_slow.c
index 0e5ead6fa547..0da74b1fb09c 100644
--- a/tests/vgem_slow.c
+++ b/tests/vgem_slow.c
@@ -85,7 +85,7 @@ static void test_nohang(int fd)
 	gem_close(fd, bo.handle);
 }
 
-igt_main
+igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/vkms/vkms_configfs.c b/tests/vkms/vkms_configfs.c
index 69ebb23ec4bf..6a585c96bce0 100644
--- a/tests/vkms/vkms_configfs.c
+++ b/tests/vkms/vkms_configfs.c
@@ -1895,7 +1895,7 @@ static void test_enabled_connector_hot_plug(void)
 	igt_vkms_device_destroy(dev);
 }
 
-igt_main
+igt_main()
 {
 	struct {
 		const char *name;
diff --git a/tests/vmwgfx/vmw_mob_stress.c b/tests/vmwgfx/vmw_mob_stress.c
index cf229fb3b33d..9f5fbd7c09ce 100644
--- a/tests/vmwgfx/vmw_mob_stress.c
+++ b/tests/vmwgfx/vmw_mob_stress.c
@@ -45,7 +45,7 @@ static void test_triangle_render(struct vmw_svga_device *device, int32 cid)
 	vmw_destroy_default_objects(device, &objects);
 }
 
-igt_main
+igt_main()
 {
 	struct vmw_svga_device device;
 	int32 cid;
diff --git a/tests/vmwgfx/vmw_prime.c b/tests/vmwgfx/vmw_prime.c
index 5346ed4336bf..7ff5ec843539 100644
--- a/tests/vmwgfx/vmw_prime.c
+++ b/tests/vmwgfx/vmw_prime.c
@@ -503,7 +503,7 @@ static void test_vgem(struct gpu_process_t *gpu, int vgem_fd)
 	gem_close(gpu->mdevice.drm_fd, vmw_buffer_handle);
 }
 
-igt_main
+igt_main()
 {
 	struct gpu_process_t gpu = { 0 };
 	int second_fd_vgem = -1;
diff --git a/tests/vmwgfx/vmw_ref_count.c b/tests/vmwgfx/vmw_ref_count.c
index 40f46588bce7..1f3606c30cdc 100644
--- a/tests/vmwgfx/vmw_ref_count.c
+++ b/tests/vmwgfx/vmw_ref_count.c
@@ -86,7 +86,7 @@ static bool ref_surface_and_check_contents(int32 fd, uint32 surface_handle)
 	return data_valid;
 }
 
-igt_main
+igt_main()
 {
 	int32 fd1, fd2;
 	const uint32 size = sizeof(data);
diff --git a/tests/vmwgfx/vmw_surface_copy.c b/tests/vmwgfx/vmw_surface_copy.c
index 7c44be1c25bb..92b0740319e4 100644
--- a/tests/vmwgfx/vmw_surface_copy.c
+++ b/tests/vmwgfx/vmw_surface_copy.c
@@ -306,7 +306,7 @@ static void test_invalid_copies_3d(int fd, int32 cid)
 	vmw_ioctl_surface_unref(fd, s2);
 }
 
-igt_main
+igt_main()
 {
 	int fd;
 	int32 cid;
diff --git a/tests/vmwgfx/vmw_tri.c b/tests/vmwgfx/vmw_tri.c
index 4c79e5e2152a..3091d925526d 100644
--- a/tests/vmwgfx/vmw_tri.c
+++ b/tests/vmwgfx/vmw_tri.c
@@ -180,7 +180,7 @@ static void draw_triangle_on_coherent_rt(struct vmw_svga_device *device,
 	vmw_destroy_default_objects(device, &objects);
 }
 
-igt_main
+igt_main()
 {
 	struct vmw_svga_device device;
 	int32 cid;
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH i-g-t 4/7] igt: Make igt_simple_main look more like a function
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (2 preceding siblings ...)
  2025-11-20 19:14 ` [PATCH i-g-t 3/7] igt: Make igt_main look more like a function Ville Syrjala
@ 2025-11-20 19:14 ` Ville Syrjala
  2025-11-20 19:14 ` [PATCH i-g-t 5/7] igt: Make igt_main*() look like normal function definition Ville Syrjala
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 29+ messages in thread
From: Ville Syrjala @ 2025-11-20 19:14 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Turn igt_simple_main into igt_simple_main(). This is a step towads
allowing coccinelle to parse it.

Conversion done via:
$ find -type f -name \*.[ch] -exec sed -i 's/\([^_]\?\)igt_simple_main\([^_(]\|$\)/\1igt_simple_main()\2/g' {} +

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 benchmarks/kms_fb_stress.c               |  2 +-
 lib/igt_core.c                           | 16 ++++++++--------
 lib/igt_core.h                           |  6 +++---
 lib/igt_kmod.c                           |  2 +-
 lib/tests/igt_can_fail_simple.c          |  2 +-
 lib/tests/igt_edid.c                     |  2 +-
 lib/tests/igt_facts.c                    |  2 +-
 lib/tests/igt_simple_test_subtests.c     |  2 +-
 lib/tests/igt_stats.c                    |  2 +-
 lib/tests/igt_timeout.c                  |  2 +-
 runner/testdata/abort-simple.c           |  2 +-
 runner/testdata/no-subtests.c            |  2 +-
 tests/core_setmaster_vs_auth.c           |  2 +-
 tests/intel/gem_exec_lut_handle.c        |  2 +-
 tests/intel/gem_fd_exhaustion.c          |  2 +-
 tests/intel/gem_gtt_cpu_tlb.c            |  2 +-
 tests/intel/gem_gtt_hog.c                |  2 +-
 tests/intel/gem_lut_handle.c             |  2 +-
 tests/intel/gem_media_vme.c              |  2 +-
 tests/intel/gem_pwrite_snooped.c         |  2 +-
 tests/intel/gem_set_tiling_vs_gtt.c      |  2 +-
 tests/intel/gem_set_tiling_vs_pwrite.c   |  2 +-
 tests/intel/gem_tiled_pread_basic.c      |  2 +-
 tests/intel/gem_tiled_pread_pwrite.c     |  2 +-
 tests/intel/gem_tiled_wb.c               |  2 +-
 tests/intel/gem_tiled_wc.c               |  2 +-
 tests/intel/gem_tiling_max_stride.c      |  2 +-
 tests/intel/gem_unfence_active_buffers.c |  2 +-
 tests/intel/gem_unref_active_buffers.c   |  2 +-
 tests/intel/gen3_mixed_blits.c           |  2 +-
 tests/intel/gen3_render_linear_blits.c   |  2 +-
 tests/intel/gen3_render_mixed_blits.c    |  2 +-
 tests/intel/gen3_render_tiledx_blits.c   |  2 +-
 tests/intel/gen3_render_tiledy_blits.c   |  2 +-
 tests/intel/i915_pciid.c                 |  2 +-
 tests/intel/kms_fence_pin_leak.c         |  2 +-
 tests/intel/kms_pwrite_crc.c             |  2 +-
 tests/kms_dp_aux_dev.c                   |  2 +-
 tests/kms_sysfs_edid_timing.c            |  2 +-
 tests/prime_udl.c                        |  2 +-
 40 files changed, 49 insertions(+), 49 deletions(-)

diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index 00eaa0a4931a..dff1467d840a 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -139,7 +139,7 @@ static struct kms_t default_kms = {
 };
 
 
-igt_simple_main
+igt_simple_main()
 {
 	struct data_t data = {0};
 	enum pipe pipe = PIPE_NONE;
diff --git a/lib/igt_core.c b/lib/igt_core.c
index a8cc5fa27e63..3ee670a41a91 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -772,7 +772,7 @@ bool __igt_fixture(void)
 	internal_assert(!in_subtest,
 			"nesting igt_fixture() in igt_subtest is invalid\n");
 	internal_assert(test_with_subtests,
-			"igt_fixture() in igt_simple_main is invalid\n");
+			"igt_fixture() in igt_simple_main() is invalid\n");
 
 	if (igt_only_list_subtests())
 		return false;
@@ -1627,7 +1627,7 @@ bool igt_only_list_subtests(void)
 void __igt_subtest_group_save(int *save, int *desc)
 {
 	internal_assert(test_with_subtests,
-			"igt_subtest_group() is not allowed in igt_simple_main\n");
+			"igt_subtest_group() is not allowed in igt_simple_main()\n");
 
 	if (__current_description[0] != '\0') {
 		struct description_node *new = calloc(1, sizeof(*new));
@@ -1805,7 +1805,7 @@ void igt_skip(const char *f, ...)
 		skip_subtests_henceforth = SKIP;
 		internal_assert(in_fixture,
 			"skipping is allowed only in fixtures, subtests"
-			" or igt_simple_main\n");
+			" or igt_simple_main()\n");
 		__igt_fixture_end();
 	} else {
 		igt_exitcode = IGT_EXIT_SKIP;
@@ -1938,7 +1938,7 @@ void igt_fail(int exitcode)
 		exit_subtest("FAIL");
 	} else {
 		internal_assert(igt_can_fail(), "failing test is only allowed"
-				" in fixtures, subtests and igt_simple_main\n");
+				" in fixtures, subtests and igt_simple_main()\n");
 
 		if (in_fixture) {
 			skip_subtests_henceforth = FAIL;
@@ -1975,7 +1975,7 @@ void igt_fatal_error(void)
  * igt_can_fail:
  *
  * Returns true if called from either an #igt_fixture(), #igt_subtest or a
- * testcase without subtests, i.e. #igt_simple_main. Returns false otherwise. In
+ * testcase without subtests, i.e. #igt_simple_main(). Returns false otherwise. In
  * other words, it checks whether it's legal to call igt_fail(), igt_skip_on()
  * and all the convenience macros build around those.
  *
@@ -2362,7 +2362,7 @@ void __igt_abort(const char *domain, const char *file, const int line,
  *
  * It is an error to normally exit a test calling igt_exit() - without it the
  * result reporting will be wrong. To avoid such issues it is highly recommended
- * to use #igt_main() or #igt_simple_main instead of a hand-rolled main() function.
+ * to use #igt_main() or #igt_simple_main() instead of a hand-rolled main() function.
  */
 void igt_exit(void)
 {
@@ -2598,7 +2598,7 @@ static pthread_mutex_t print_mutex = PTHREAD_MUTEX_INITIALIZER;
 bool __igt_fork(void)
 {
 	internal_assert(!test_with_subtests || in_subtest,
-			"forking is only allowed in subtests or igt_simple_main\n");
+			"forking is only allowed in subtests or igt_simple_main()\n");
 	internal_assert(!test_child,
 			"forking is not allowed from already forked children\n");
 
@@ -2654,7 +2654,7 @@ static void dyn_children_exit_handler(int sig)
 bool __igt_multi_fork(void)
 {
 	internal_assert(!test_with_subtests || in_subtest,
-			"multi-forking is only allowed in subtests or igt_simple_main\n");
+			"multi-forking is only allowed in subtests or igt_simple_main()\n");
 	internal_assert(!test_child,
 			"multi-forking is not allowed from already forked children\n");
 	internal_assert(!test_multi_fork_child,
diff --git a/lib/igt_core.h b/lib/igt_core.h
index ef70983eaa66..8fb25e1d53c5 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -461,7 +461,7 @@ void igt_simple_init_parse_opts(int *argc, char **argv,
  * This initializes a simple test without any support for subtests.
  *
  * If there's not a reason to the contrary it's less error prone to just use an
- * #igt_simple_main block instead of stitching the test's main() function together
+ * #igt_simple_main() block instead of stitching the test's main() function together
  * manually.
  */
 #define igt_simple_init(argc, argv) \
@@ -494,12 +494,12 @@ void igt_simple_init_parse_opts(int *argc, char **argv,
 
 
 /**
- * igt_simple_main:
+ * igt_simple_main():
  *
  * This is a magic control flow block used instead of a main() function for
  * simple tests. Open-coding the main() function is not recommended.
  */
-#define igt_simple_main igt_simple_main_args(NULL, NULL, NULL, NULL, NULL)
+#define igt_simple_main() igt_simple_main_args(NULL, NULL, NULL, NULL, NULL)
 
 /**
  * igt_constructor:
diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c
index 6ef119174994..d1d7a384045b 100644
--- a/lib/igt_kmod.c
+++ b/lib/igt_kmod.c
@@ -1211,7 +1211,7 @@ void igt_kunit(const char *module_name, const char *suite, const char *opts)
 
 	/*
 	 * We need to use igt_subtest here, as otherwise it may crash with:
-	 * "skipping is allowed only in fixtures, subtests or igt_simple_main"
+	 * "skipping is allowed only in fixtures, subtests or igt_simple_main()"
 	 * if used on igt_main(). This is also needed in order to provide
 	 * proper namespace for dynamic subtests, with is required for CI
 	 * and for documentation.
diff --git a/lib/tests/igt_can_fail_simple.c b/lib/tests/igt_can_fail_simple.c
index 8ff43d15fa6b..0f8d993d3464 100644
--- a/lib/tests/igt_can_fail_simple.c
+++ b/lib/tests/igt_can_fail_simple.c
@@ -26,7 +26,7 @@
 
 #include "igt_tests_common.h"
 
-igt_simple_main
+igt_simple_main()
 {
 	internal_assert(igt_can_fail());
 }
diff --git a/lib/tests/igt_edid.c b/lib/tests/igt_edid.c
index 8474d29e27bc..00feac3564a1 100644
--- a/lib/tests/igt_edid.c
+++ b/lib/tests/igt_edid.c
@@ -66,7 +66,7 @@ static bool edid_block_checksum(const unsigned char *raw_edid)
 
 typedef const struct edid *(*get_edid_func)(void);
 
-igt_simple_main
+igt_simple_main()
 {
 	const struct {
 		const char *desc;
diff --git a/lib/tests/igt_facts.c b/lib/tests/igt_facts.c
index 3cb8d1069a48..3433244c6478 100644
--- a/lib/tests/igt_facts.c
+++ b/lib/tests/igt_facts.c
@@ -10,7 +10,7 @@
 
 /* Tests are not defined here so we can keep most of the functions static */
 
-igt_simple_main
+igt_simple_main()
 {
 	igt_info("Running igt_facts_test\n");
 
diff --git a/lib/tests/igt_simple_test_subtests.c b/lib/tests/igt_simple_test_subtests.c
index abe8e40abefd..e153d3883efb 100644
--- a/lib/tests/igt_simple_test_subtests.c
+++ b/lib/tests/igt_simple_test_subtests.c
@@ -23,7 +23,7 @@
 
 #include "igt_core.h"
 
-igt_simple_main
+igt_simple_main()
 {
 	igt_subtest("subtest") {
 		igt_info("Invalid subtest.\n");
diff --git a/lib/tests/igt_stats.c b/lib/tests/igt_stats.c
index f42fbf86d692..d0c0ac6d3530 100644
--- a/lib/tests/igt_stats.c
+++ b/lib/tests/igt_stats.c
@@ -228,7 +228,7 @@ static void test_reallocation(void)
 	igt_stats_fini(&stats);
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	test_init_zero();
 	test_init();
diff --git a/lib/tests/igt_timeout.c b/lib/tests/igt_timeout.c
index d228041d493b..171bf15b82f6 100644
--- a/lib/tests/igt_timeout.c
+++ b/lib/tests/igt_timeout.c
@@ -1,7 +1,7 @@
 #include "igt_core.h"
 #include <unistd.h>
 
-igt_simple_main
+igt_simple_main()
 {
 	igt_set_timeout(1, "Testcase");
 	sleep(5);
diff --git a/runner/testdata/abort-simple.c b/runner/testdata/abort-simple.c
index 94eef72caa3d..88512ece9388 100644
--- a/runner/testdata/abort-simple.c
+++ b/runner/testdata/abort-simple.c
@@ -23,7 +23,7 @@
 
 #include "igt.h"
 
-igt_simple_main
+igt_simple_main()
 {
 	igt_abort_on_f(true, "I'm out!\n");
 }
diff --git a/runner/testdata/no-subtests.c b/runner/testdata/no-subtests.c
index 00c92e25ff36..ea517b69e1ef 100644
--- a/runner/testdata/no-subtests.c
+++ b/runner/testdata/no-subtests.c
@@ -1,6 +1,6 @@
 #include "igt.h"
 
-igt_simple_main
+igt_simple_main()
 {
 
 }
diff --git a/tests/core_setmaster_vs_auth.c b/tests/core_setmaster_vs_auth.c
index b48e51f51343..6867e46aeca5 100644
--- a/tests/core_setmaster_vs_auth.c
+++ b/tests/core_setmaster_vs_auth.c
@@ -57,7 +57,7 @@
 IGT_TEST_DESCRIPTION("Check that drop/setMaster correctly transfer master "
 		     "state");
 
-igt_simple_main
+igt_simple_main()
 {
 	int master1, master2, client;
 	drm_magic_t magic;
diff --git a/tests/intel/gem_exec_lut_handle.c b/tests/intel/gem_exec_lut_handle.c
index 432094bc2383..8abe1ca4f8fc 100644
--- a/tests/intel/gem_exec_lut_handle.c
+++ b/tests/intel/gem_exec_lut_handle.c
@@ -88,7 +88,7 @@ static int has_exec_lut(int fd)
 }
 
 #define ELAPSED(a,b) (1e6*((b)->tv_sec - (a)->tv_sec) + ((b)->tv_usec - (a)->tv_usec))
-igt_simple_main
+igt_simple_main()
 {
 	uint32_t batch[2] = {MI_BATCH_BUFFER_END};
 	uint32_t cycle[16];
diff --git a/tests/intel/gem_fd_exhaustion.c b/tests/intel/gem_fd_exhaustion.c
index 20c4f767c886..1c35614af49b 100644
--- a/tests/intel/gem_fd_exhaustion.c
+++ b/tests/intel/gem_fd_exhaustion.c
@@ -44,7 +44,7 @@
  * SUBTEST:
  */
 
-igt_simple_main
+igt_simple_main()
 {
 	int fd;
 
diff --git a/tests/intel/gem_gtt_cpu_tlb.c b/tests/intel/gem_gtt_cpu_tlb.c
index 4dc2f3ca8a37..1ee0732ad34b 100644
--- a/tests/intel/gem_gtt_cpu_tlb.c
+++ b/tests/intel/gem_gtt_cpu_tlb.c
@@ -82,7 +82,7 @@ create_bo(int fd)
 	return handle;
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	int fd;
 	int i;
diff --git a/tests/intel/gem_gtt_hog.c b/tests/intel/gem_gtt_hog.c
index 641dbecd3b91..b4226ac232c1 100644
--- a/tests/intel/gem_gtt_hog.c
+++ b/tests/intel/gem_gtt_hog.c
@@ -163,7 +163,7 @@ static void run(data_t *data, int child)
 	igt_assert_eq_u32(x, canary);
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	struct timeval start, end;
 	pid_t children[64];
diff --git a/tests/intel/gem_lut_handle.c b/tests/intel/gem_lut_handle.c
index 35f06ebe21f1..183da9620d44 100644
--- a/tests/intel/gem_lut_handle.c
+++ b/tests/intel/gem_lut_handle.c
@@ -173,7 +173,7 @@ static int many_exec(int fd, uint32_t batch, int num_exec, int num_reloc, unsign
 #define fail(x) igt_assert((x) == -ENOENT)
 #define pass(x) igt_assert((x) == 0)
 
-igt_simple_main
+igt_simple_main()
 {
 	uint32_t batch[2] = {MI_BATCH_BUFFER_END};
 	uint32_t handle;
diff --git a/tests/intel/gem_media_vme.c b/tests/intel/gem_media_vme.c
index 8e503fa0dee8..0d3d19eef67a 100644
--- a/tests/intel/gem_media_vme.c
+++ b/tests/intel/gem_media_vme.c
@@ -102,7 +102,7 @@ static void shut_non_vme_subslices(int drm_fd, uint32_t ctx)
 	gem_context_set_param(drm_fd, &arg);
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	struct buf_ops *bops;
 	struct intel_buf src, dst;
diff --git a/tests/intel/gem_pwrite_snooped.c b/tests/intel/gem_pwrite_snooped.c
index 60ccdc7aabe4..fc89310824fe 100644
--- a/tests/intel/gem_pwrite_snooped.c
+++ b/tests/intel/gem_pwrite_snooped.c
@@ -139,7 +139,7 @@ static void test(int w, int h)
 	intel_buf_destroy(dst);
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	fd = drm_open_driver(DRIVER_INTEL);
 	igt_require_gem(fd);
diff --git a/tests/intel/gem_set_tiling_vs_gtt.c b/tests/intel/gem_set_tiling_vs_gtt.c
index bfb9060be4c6..8c29b69b0388 100644
--- a/tests/intel/gem_set_tiling_vs_gtt.c
+++ b/tests/intel/gem_set_tiling_vs_gtt.c
@@ -59,7 +59,7 @@ IGT_TEST_DESCRIPTION("Check set_tiling vs gtt mmap coherency.");
  * Testcase: Check set_tiling vs gtt mmap coherency
  */
 
-igt_simple_main
+igt_simple_main()
 {
 	int fd;
 	uint32_t *ptr;
diff --git a/tests/intel/gem_set_tiling_vs_pwrite.c b/tests/intel/gem_set_tiling_vs_pwrite.c
index 1aa38cc4fa0b..7a6ed8cea8cd 100644
--- a/tests/intel/gem_set_tiling_vs_pwrite.c
+++ b/tests/intel/gem_set_tiling_vs_pwrite.c
@@ -59,7 +59,7 @@ IGT_TEST_DESCRIPTION("Check set_tiling vs pwrite coherency.");
  * Testcase: Check set_tiling vs pwrite coherency
  */
 
-igt_simple_main
+igt_simple_main()
 {
 	uint32_t data[OBJECT_SIZE/4];
 	uint32_t *ptr;
diff --git a/tests/intel/gem_tiled_pread_basic.c b/tests/intel/gem_tiled_pread_basic.c
index 49ce207a623a..e5f9c2a301ce 100644
--- a/tests/intel/gem_tiled_pread_basic.c
+++ b/tests/intel/gem_tiled_pread_basic.c
@@ -127,7 +127,7 @@ calculate_expected(int offset, struct offset *dbg)
 	return (dbg->base_y + dbg->tile_y) * WIDTH + dbg->base_x + dbg->tile_x;
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	int fd;
 	int i, iter = 100;
diff --git a/tests/intel/gem_tiled_pread_pwrite.c b/tests/intel/gem_tiled_pread_pwrite.c
index 3e9855d5a3d0..659e521f2c6c 100644
--- a/tests/intel/gem_tiled_pread_pwrite.c
+++ b/tests/intel/gem_tiled_pread_pwrite.c
@@ -117,7 +117,7 @@ static void copy_wc_page(void *dst, const void *src)
 	igt_memcpy_from_wc(dst, src, PAGE_SIZE);
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	uint32_t tiling, swizzle;
 	int count;
diff --git a/tests/intel/gem_tiled_wb.c b/tests/intel/gem_tiled_wb.c
index 0f8e66af446a..38838b00f782 100644
--- a/tests/intel/gem_tiled_wb.c
+++ b/tests/intel/gem_tiled_wb.c
@@ -146,7 +146,7 @@ get_tiling(int fd, uint32_t handle, uint32_t *tiling, uint32_t *swizzle)
 	*swizzle = arg.swizzle_mode;
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	int fd;
 	int i, iter = 100;
diff --git a/tests/intel/gem_tiled_wc.c b/tests/intel/gem_tiled_wc.c
index 20cc64aadf28..71517b018a6f 100644
--- a/tests/intel/gem_tiled_wc.c
+++ b/tests/intel/gem_tiled_wc.c
@@ -148,7 +148,7 @@ calculate_expected(int offset)
 	return (base_y + tile_y) * WIDTH + base_x + tile_x;
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	uint32_t tiling, swizzle;
 	uint32_t handle;
diff --git a/tests/intel/gem_tiling_max_stride.c b/tests/intel/gem_tiling_max_stride.c
index da3d481eff0f..56081b76478f 100644
--- a/tests/intel/gem_tiling_max_stride.c
+++ b/tests/intel/gem_tiling_max_stride.c
@@ -68,7 +68,7 @@ static void test_invalid_tiling(int fd, uint32_t handle, int stride)
  * Testcase: Check that max fence stride works
  */
 
-igt_simple_main
+igt_simple_main()
 {
 	int fd;
 	uint32_t *ptr;
diff --git a/tests/intel/gem_unfence_active_buffers.c b/tests/intel/gem_unfence_active_buffers.c
index ce0a68de8773..36d2b772d6ba 100644
--- a/tests/intel/gem_unfence_active_buffers.c
+++ b/tests/intel/gem_unfence_active_buffers.c
@@ -76,7 +76,7 @@ static uint32_t create_tiled(int i915)
 	return handle;
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	int i915, num_fences;
 	igt_spin_t *spin;
diff --git a/tests/intel/gem_unref_active_buffers.c b/tests/intel/gem_unref_active_buffers.c
index 21a5a07d919a..cbde235a48e3 100644
--- a/tests/intel/gem_unref_active_buffers.c
+++ b/tests/intel/gem_unref_active_buffers.c
@@ -74,7 +74,7 @@ static void alarm_handler(int sig)
 {
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	struct sigaction old_sa, sa = { .sa_handler = alarm_handler };
 	unsigned int last[2]= { -1, -1 }, count;
diff --git a/tests/intel/gen3_mixed_blits.c b/tests/intel/gen3_mixed_blits.c
index fbc98b68f114..466e95500dd7 100644
--- a/tests/intel/gen3_mixed_blits.c
+++ b/tests/intel/gen3_mixed_blits.c
@@ -455,7 +455,7 @@ check_bo(int fd, uint32_t handle, uint32_t val)
 }
 
 
-igt_simple_main
+igt_simple_main()
 {
 	uint32_t *handle, *tiling, *start_val;
 	uint32_t start = 0;
diff --git a/tests/intel/gen3_render_linear_blits.c b/tests/intel/gen3_render_linear_blits.c
index 24e0acc841b7..c5f4cd3d8f3d 100644
--- a/tests/intel/gen3_render_linear_blits.c
+++ b/tests/intel/gen3_render_linear_blits.c
@@ -327,7 +327,7 @@ check_bo(int fd, uint32_t handle, uint32_t val)
 	}
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	uint32_t *handle, *start_val;
 	uint32_t start = 0;
diff --git a/tests/intel/gen3_render_mixed_blits.c b/tests/intel/gen3_render_mixed_blits.c
index 74b085ff9275..b3a06d3879f7 100644
--- a/tests/intel/gen3_render_mixed_blits.c
+++ b/tests/intel/gen3_render_mixed_blits.c
@@ -348,7 +348,7 @@ check_bo(int fd, uint32_t handle, uint32_t val)
 	munmap(v, WIDTH*HEIGHT*4);
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	uint32_t *handle, *tiling, *start_val;
 	uint32_t start = 0;
diff --git a/tests/intel/gen3_render_tiledx_blits.c b/tests/intel/gen3_render_tiledx_blits.c
index c6f92de8f20f..4b93d9ee638f 100644
--- a/tests/intel/gen3_render_tiledx_blits.c
+++ b/tests/intel/gen3_render_tiledx_blits.c
@@ -335,7 +335,7 @@ check_bo(int fd, uint32_t handle, uint32_t val)
 	munmap(v, WIDTH*HEIGHT*4);
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	uint32_t *handle, *start_val;
 	uint32_t start = 0;
diff --git a/tests/intel/gen3_render_tiledy_blits.c b/tests/intel/gen3_render_tiledy_blits.c
index 649c89eaec22..b240c384d3ac 100644
--- a/tests/intel/gen3_render_tiledy_blits.c
+++ b/tests/intel/gen3_render_tiledy_blits.c
@@ -335,7 +335,7 @@ check_bo(int fd, uint32_t handle, uint32_t val)
 	munmap(v, WIDTH*HEIGHT*4);
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	uint32_t *handle, *start_val;
 	uint32_t start = 0;
diff --git a/tests/intel/i915_pciid.c b/tests/intel/i915_pciid.c
index a8c5df9d9c1a..4c21c9603c3d 100644
--- a/tests/intel/i915_pciid.c
+++ b/tests/intel/i915_pciid.c
@@ -71,7 +71,7 @@ static bool has_known_intel_chipset(int fd)
 	return true;
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	int intel = drm_open_driver(DRIVER_INTEL);
 
diff --git a/tests/intel/kms_fence_pin_leak.c b/tests/intel/kms_fence_pin_leak.c
index 4c1ac2653750..f6f05d20e5be 100644
--- a/tests/intel/kms_fence_pin_leak.c
+++ b/tests/intel/kms_fence_pin_leak.c
@@ -227,7 +227,7 @@ static void run_test(data_t *data)
 	igt_skip("no valid crtc/connector combinations found\n");
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_pwrite_crc.c b/tests/intel/kms_pwrite_crc.c
index 981d7b38e3d5..e35fccb5c1b7 100644
--- a/tests/intel/kms_pwrite_crc.c
+++ b/tests/intel/kms_pwrite_crc.c
@@ -190,7 +190,7 @@ static void run_test(data_t *data)
 
 static data_t data;
 
-igt_simple_main
+igt_simple_main()
 {
 	data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
 	kmstest_set_vt_graphics_mode();
diff --git a/tests/kms_dp_aux_dev.c b/tests/kms_dp_aux_dev.c
index e74902111d04..55012ff0ec7b 100644
--- a/tests/kms_dp_aux_dev.c
+++ b/tests/kms_dp_aux_dev.c
@@ -144,7 +144,7 @@ static bool test(int drm_fd, uint32_t connector_id)
 	return false;
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	int valid_connectors = 0;
 	drmModeRes *res;
diff --git a/tests/kms_sysfs_edid_timing.c b/tests/kms_sysfs_edid_timing.c
index bb900d709def..2b376015d5af 100644
--- a/tests/kms_sysfs_edid_timing.c
+++ b/tests/kms_sysfs_edid_timing.c
@@ -57,7 +57,7 @@ IGT_TEST_DESCRIPTION("This test checks the time it takes to reprobe each "
 		     "make sure that the mean time for all connectors is "
 		     "not too long.");
 
-igt_simple_main
+igt_simple_main()
 {
 	DIR *dirp;
 	struct dirent *de;
diff --git a/tests/prime_udl.c b/tests/prime_udl.c
index 884bf69fea68..a383298ac9dc 100644
--- a/tests/prime_udl.c
+++ b/tests/prime_udl.c
@@ -121,7 +121,7 @@ static void test2(void)
 	gem_close(intel_fd, intel_handle);
 }
 
-igt_simple_main
+igt_simple_main()
 {
 	igt_assert(find_and_open_devices() >= 0);
 
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH i-g-t 5/7] igt: Make igt_main*() look like normal function definition
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (3 preceding siblings ...)
  2025-11-20 19:14 ` [PATCH i-g-t 4/7] igt: Make igt_simple_main " Ville Syrjala
@ 2025-11-20 19:14 ` Ville Syrjala
  2025-11-20 19:14 ` [PATCH i-g-t 6/7] igt: Make igt_simple_main*() " Ville Syrjala
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 29+ messages in thread
From: Ville Syrjala @ 2025-11-20 19:14 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Coccinelle chokes on igt_main*() because it looks like
a function definition without a type. Make it look like
a normal thing by moving the type out of the macro.

The macro still needs the __real_main forward declaration
so we can't actually expose the type from the main()
definition, but we can add a forward declaration for main()
ahead of the __real_main declaration, and if we leave out
the type there it must be placed into the place where
igt_main*() is used.

The bulk conversion was done with sed:
$ find -type f -name \*.[ch] -exec sed -i 's/^igt_main/int igt_main/g' {} +

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 benchmarks/gem_userptr_benchmark.c               | 2 +-
 lib/igt_core.h                                   | 1 +
 lib/tests/bad_subtest_type.c                     | 2 +-
 lib/tests/i915_perf_data_alignment.c             | 2 +-
 lib/tests/igt_assert.c                           | 2 +-
 lib/tests/igt_audio.c                            | 2 +-
 lib/tests/igt_can_fail.c                         | 2 +-
 lib/tests/igt_hook.c                             | 2 +-
 lib/tests/igt_ktap_parser.c                      | 2 +-
 lib/tests/igt_runnercomms_packets.c              | 2 +-
 lib/tests/igt_subtest_group.c                    | 2 +-
 lib/tests/igt_types.c                            | 2 +-
 runner/runner_json_tests.c                       | 2 +-
 runner/runner_kmemleak_test.c                    | 2 +-
 runner/runner_tests.c                            | 2 +-
 runner/testdata/abort-dynamic.c                  | 2 +-
 runner/testdata/abort-fixture.c                  | 2 +-
 runner/testdata/abort.c                          | 2 +-
 runner/testdata/dynamic.c                        | 2 +-
 runner/testdata/skippers.c                       | 2 +-
 runner/testdata/successtest.c                    | 2 +-
 tests/amdgpu/amd_abm.c                           | 2 +-
 tests/amdgpu/amd_assr.c                          | 2 +-
 tests/amdgpu/amd_basic.c                         | 2 +-
 tests/amdgpu/amd_basic_ex.c                      | 2 +-
 tests/amdgpu/amd_basic_multi_gpu.c               | 2 +-
 tests/amdgpu/amd_bo.c                            | 2 +-
 tests/amdgpu/amd_bypass.c                        | 2 +-
 tests/amdgpu/amd_color.c                         | 2 +-
 tests/amdgpu/amd_cp_dma_misc.c                   | 2 +-
 tests/amdgpu/amd_cs_nop.c                        | 2 +-
 tests/amdgpu/amd_deadlock.c                      | 2 +-
 tests/amdgpu/amd_dispatch.c                      | 2 +-
 tests/amdgpu/amd_dp_dsc.c                        | 2 +-
 tests/amdgpu/amd_freesync_video_mode.c           | 2 +-
 tests/amdgpu/amd_fuzzing.c                       | 2 +-
 tests/amdgpu/amd_gang_cs.c                       | 2 +-
 tests/amdgpu/amd_hotplug.c                       | 2 +-
 tests/amdgpu/amd_ilr.c                           | 2 +-
 tests/amdgpu/amd_info.c                          | 2 +-
 tests/amdgpu/amd_jpeg_dec.c                      | 2 +-
 tests/amdgpu/amd_jpeg_queue.c                    | 2 +-
 tests/amdgpu/amd_link_settings.c                 | 2 +-
 tests/amdgpu/amd_mall.c                          | 2 +-
 tests/amdgpu/amd_max_bpc.c                       | 2 +-
 tests/amdgpu/amd_mem_leak.c                      | 2 +-
 tests/amdgpu/amd_mode_switch.c                   | 2 +-
 tests/amdgpu/amd_module_load.c                   | 2 +-
 tests/amdgpu/amd_multidisplay_modeset.c          | 2 +-
 tests/amdgpu/amd_odm.c                           | 2 +-
 tests/amdgpu/amd_pci_unplug.c                    | 2 +-
 tests/amdgpu/amd_plane.c                         | 2 +-
 tests/amdgpu/amd_prime.c                         | 2 +-
 tests/amdgpu/amd_psr.c                           | 2 +-
 tests/amdgpu/amd_pstate.c                        | 2 +-
 tests/amdgpu/amd_queue_reset.c                   | 2 +-
 tests/amdgpu/amd_ras.c                           | 2 +-
 tests/amdgpu/amd_replay.c                        | 2 +-
 tests/amdgpu/amd_security.c                      | 2 +-
 tests/amdgpu/amd_subvp.c                         | 2 +-
 tests/amdgpu/amd_syncobj.c                       | 2 +-
 tests/amdgpu/amd_uvd_dec.c                       | 2 +-
 tests/amdgpu/amd_uvd_enc.c                       | 2 +-
 tests/amdgpu/amd_vce_enc.c                       | 2 +-
 tests/amdgpu/amd_vcn.c                           | 2 +-
 tests/amdgpu/amd_vcn_queue.c                     | 2 +-
 tests/amdgpu/amd_vm.c                            | 2 +-
 tests/amdgpu/amd_vpe.c                           | 2 +-
 tests/amdgpu/amd_vrr_range.c                     | 2 +-
 tests/chamelium/kms_chamelium_audio.c            | 2 +-
 tests/chamelium/kms_chamelium_color.c            | 2 +-
 tests/chamelium/kms_chamelium_edid.c             | 2 +-
 tests/chamelium/kms_chamelium_frames.c           | 2 +-
 tests/chamelium/kms_chamelium_hpd.c              | 2 +-
 tests/chamelium/kms_chamelium_sharpness_filter.c | 2 +-
 tests/core_auth.c                                | 2 +-
 tests/core_debugfs.c                             | 2 +-
 tests/core_getclient.c                           | 2 +-
 tests/core_getstats.c                            | 2 +-
 tests/core_getversion.c                          | 2 +-
 tests/core_hotunplug.c                           | 2 +-
 tests/core_setmaster.c                           | 2 +-
 tests/core_sysfs.c                               | 2 +-
 tests/device_reset.c                             | 2 +-
 tests/dmabuf.c                                   | 2 +-
 tests/dmabuf_sync_file.c                         | 2 +-
 tests/drm_buddy.c                                | 2 +-
 tests/drm_mm.c                                   | 2 +-
 tests/drm_read.c                                 | 2 +-
 tests/drm_virtgpu.c                              | 2 +-
 tests/dumb_buffer.c                              | 2 +-
 tests/fbdev.c                                    | 2 +-
 tests/intel/api_intel_allocator.c                | 2 +-
 tests/intel/api_intel_bb.c                       | 2 +-
 tests/intel/gem_bad_reloc.c                      | 2 +-
 tests/intel/gem_barrier_race.c                   | 2 +-
 tests/intel/gem_basic.c                          | 2 +-
 tests/intel/gem_blits.c                          | 2 +-
 tests/intel/gem_busy.c                           | 2 +-
 tests/intel/gem_caching.c                        | 2 +-
 tests/intel/gem_ccs.c                            | 2 +-
 tests/intel/gem_close.c                          | 2 +-
 tests/intel/gem_close_race.c                     | 2 +-
 tests/intel/gem_compute.c                        | 2 +-
 tests/intel/gem_concurrent_all.c                 | 2 +-
 tests/intel/gem_create.c                         | 2 +-
 tests/intel/gem_cs_tlb.c                         | 2 +-
 tests/intel/gem_ctx_bad_destroy.c                | 2 +-
 tests/intel/gem_ctx_create.c                     | 2 +-
 tests/intel/gem_ctx_engines.c                    | 2 +-
 tests/intel/gem_ctx_exec.c                       | 2 +-
 tests/intel/gem_ctx_freq.c                       | 2 +-
 tests/intel/gem_ctx_isolation.c                  | 2 +-
 tests/intel/gem_ctx_param.c                      | 2 +-
 tests/intel/gem_ctx_persistence.c                | 2 +-
 tests/intel/gem_ctx_shared.c                     | 2 +-
 tests/intel/gem_ctx_sseu.c                       | 2 +-
 tests/intel/gem_ctx_switch.c                     | 2 +-
 tests/intel/gem_eio.c                            | 2 +-
 tests/intel/gem_evict_alignment.c                | 2 +-
 tests/intel/gem_evict_everything.c               | 2 +-
 tests/intel/gem_exec_alignment.c                 | 2 +-
 tests/intel/gem_exec_async.c                     | 2 +-
 tests/intel/gem_exec_await.c                     | 2 +-
 tests/intel/gem_exec_balancer.c                  | 2 +-
 tests/intel/gem_exec_basic.c                     | 2 +-
 tests/intel/gem_exec_big.c                       | 2 +-
 tests/intel/gem_exec_capture.c                   | 2 +-
 tests/intel/gem_exec_create.c                    | 2 +-
 tests/intel/gem_exec_endless.c                   | 2 +-
 tests/intel/gem_exec_fair.c                      | 2 +-
 tests/intel/gem_exec_fence.c                     | 2 +-
 tests/intel/gem_exec_flush.c                     | 2 +-
 tests/intel/gem_exec_gttfill.c                   | 2 +-
 tests/intel/gem_exec_latency.c                   | 2 +-
 tests/intel/gem_exec_nop.c                       | 2 +-
 tests/intel/gem_exec_parallel.c                  | 2 +-
 tests/intel/gem_exec_params.c                    | 2 +-
 tests/intel/gem_exec_reloc.c                     | 2 +-
 tests/intel/gem_exec_schedule.c                  | 2 +-
 tests/intel/gem_exec_store.c                     | 2 +-
 tests/intel/gem_exec_suspend.c                   | 2 +-
 tests/intel/gem_exec_whisper.c                   | 2 +-
 tests/intel/gem_exercise_blt.c                   | 2 +-
 tests/intel/gem_fence_thrash.c                   | 2 +-
 tests/intel/gem_fence_upload.c                   | 2 +-
 tests/intel/gem_fenced_exec_thrash.c             | 2 +-
 tests/intel/gem_flink_basic.c                    | 2 +-
 tests/intel/gem_flink_race.c                     | 2 +-
 tests/intel/gem_gpgpu_fill.c                     | 2 +-
 tests/intel/gem_huc_copy.c                       | 2 +-
 tests/intel/gem_linear_blits.c                   | 2 +-
 tests/intel/gem_lmem_evict.c                     | 2 +-
 tests/intel/gem_lmem_swapping.c                  | 2 +-
 tests/intel/gem_madvise.c                        | 2 +-
 tests/intel/gem_media_fill.c                     | 2 +-
 tests/intel/gem_mmap.c                           | 2 +-
 tests/intel/gem_mmap_gtt.c                       | 2 +-
 tests/intel/gem_mmap_offset.c                    | 2 +-
 tests/intel/gem_mmap_wc.c                        | 2 +-
 tests/intel/gem_partial_pwrite_pread.c           | 2 +-
 tests/intel/gem_pipe_control_store_loop.c        | 2 +-
 tests/intel/gem_ppgtt.c                          | 2 +-
 tests/intel/gem_pread.c                          | 2 +-
 tests/intel/gem_pread_after_blit.c               | 2 +-
 tests/intel/gem_pwrite.c                         | 2 +-
 tests/intel/gem_pxp.c                            | 2 +-
 tests/intel/gem_read_read_speed.c                | 2 +-
 tests/intel/gem_readwrite.c                      | 2 +-
 tests/intel/gem_reg_read.c                       | 2 +-
 tests/intel/gem_render_copy.c                    | 2 +-
 tests/intel/gem_render_copy_redux.c              | 2 +-
 tests/intel/gem_render_linear_blits.c            | 2 +-
 tests/intel/gem_render_tiled_blits.c             | 2 +-
 tests/intel/gem_request_retire.c                 | 2 +-
 tests/intel/gem_reset_stats.c                    | 2 +-
 tests/intel/gem_ringfill.c                       | 2 +-
 tests/intel/gem_set_tiling_vs_blt.c              | 2 +-
 tests/intel/gem_shrink.c                         | 2 +-
 tests/intel/gem_softpin.c                        | 2 +-
 tests/intel/gem_spin_batch.c                     | 2 +-
 tests/intel/gem_streaming_writes.c               | 2 +-
 tests/intel/gem_sync.c                           | 2 +-
 tests/intel/gem_tiled_blits.c                    | 2 +-
 tests/intel/gem_tiled_fence_blits.c              | 2 +-
 tests/intel/gem_tiled_partial_pwrite_pread.c     | 2 +-
 tests/intel/gem_tiled_swapping.c                 | 2 +-
 tests/intel/gem_userptr_blits.c                  | 2 +-
 tests/intel/gem_vm_create.c                      | 2 +-
 tests/intel/gem_wait.c                           | 2 +-
 tests/intel/gem_watchdog.c                       | 2 +-
 tests/intel/gem_workarounds.c                    | 2 +-
 tests/intel/gen7_exec_parse.c                    | 2 +-
 tests/intel/gen9_exec_parse.c                    | 2 +-
 tests/intel/i915_drm_fdinfo.c                    | 2 +-
 tests/intel/i915_fb_tiling.c                     | 2 +-
 tests/intel/i915_getparams_basic.c               | 2 +-
 tests/intel/i915_hangman.c                       | 2 +-
 tests/intel/i915_module_load.c                   | 2 +-
 tests/intel/i915_pm_freq_api.c                   | 2 +-
 tests/intel/i915_pm_freq_mult.c                  | 2 +-
 tests/intel/i915_pm_rc6_residency.c              | 2 +-
 tests/intel/i915_pm_rpm.c                        | 2 +-
 tests/intel/i915_pm_rps.c                        | 2 +-
 tests/intel/i915_pm_sseu.c                       | 2 +-
 tests/intel/i915_power.c                         | 2 +-
 tests/intel/i915_query.c                         | 2 +-
 tests/intel/i915_selftest.c                      | 2 +-
 tests/intel/i915_suspend.c                       | 2 +-
 tests/intel/intel_hwmon.c                        | 2 +-
 tests/intel/kms_big_fb.c                         | 2 +-
 tests/intel/kms_busy.c                           | 2 +-
 tests/intel/kms_ccs.c                            | 2 +-
 tests/intel/kms_cdclk.c                          | 2 +-
 tests/intel/kms_dirtyfb.c                        | 2 +-
 tests/intel/kms_dp_link_training.c               | 2 +-
 tests/intel/kms_dp_linktrain_fallback.c          | 2 +-
 tests/intel/kms_draw_crc.c                       | 2 +-
 tests/intel/kms_dsc.c                            | 2 +-
 tests/intel/kms_fb_coherency.c                   | 2 +-
 tests/intel/kms_fbc_dirty_rect.c                 | 2 +-
 tests/intel/kms_fbcon_fbt.c                      | 2 +-
 tests/intel/kms_flip_scaled_crc.c                | 2 +-
 tests/intel/kms_flip_tiling.c                    | 2 +-
 tests/intel/kms_frontbuffer_tracking.c           | 2 +-
 tests/intel/kms_joiner.c                         | 2 +-
 tests/intel/kms_legacy_colorkey.c                | 2 +-
 tests/intel/kms_mmap_write_crc.c                 | 2 +-
 tests/intel/kms_pipe_b_c_ivb.c                   | 2 +-
 tests/intel/kms_pipe_stress.c                    | 2 +-
 tests/intel/kms_pm_backlight.c                   | 2 +-
 tests/intel/kms_pm_dc.c                          | 2 +-
 tests/intel/kms_pm_lpsp.c                        | 2 +-
 tests/intel/kms_pm_rpm.c                         | 2 +-
 tests/intel/kms_psr.c                            | 2 +-
 tests/intel/kms_psr2_sf.c                        | 2 +-
 tests/intel/kms_psr2_su.c                        | 2 +-
 tests/intel/kms_psr_stress_test.c                | 2 +-
 tests/intel/perf.c                               | 2 +-
 tests/intel/perf_pmu.c                           | 2 +-
 tests/intel/prime_busy.c                         | 2 +-
 tests/intel/prime_mmap.c                         | 2 +-
 tests/intel/prime_mmap_coherency.c               | 2 +-
 tests/intel/prime_mmap_kms.c                     | 2 +-
 tests/intel/prime_self_import.c                  | 2 +-
 tests/intel/sysfs_defaults.c                     | 2 +-
 tests/intel/sysfs_heartbeat_interval.c           | 2 +-
 tests/intel/sysfs_preempt_timeout.c              | 2 +-
 tests/intel/sysfs_timeslice_duration.c           | 2 +-
 tests/intel/xe_ccs.c                             | 2 +-
 tests/intel/xe_compute.c                         | 2 +-
 tests/intel/xe_compute_preempt.c                 | 2 +-
 tests/intel/xe_configfs.c                        | 2 +-
 tests/intel/xe_copy_basic.c                      | 2 +-
 tests/intel/xe_create.c                          | 2 +-
 tests/intel/xe_debugfs.c                         | 2 +-
 tests/intel/xe_dma_buf_sync.c                    | 2 +-
 tests/intel/xe_drm_fdinfo.c                      | 2 +-
 tests/intel/xe_eu_stall.c                        | 2 +-
 tests/intel/xe_eudebug.c                         | 2 +-
 tests/intel/xe_eudebug_online.c                  | 2 +-
 tests/intel/xe_eudebug_sriov.c                   | 2 +-
 tests/intel/xe_evict.c                           | 2 +-
 tests/intel/xe_evict_ccs.c                       | 2 +-
 tests/intel/xe_exec_atomic.c                     | 2 +-
 tests/intel/xe_exec_balancer.c                   | 2 +-
 tests/intel/xe_exec_basic.c                      | 2 +-
 tests/intel/xe_exec_capture.c                    | 2 +-
 tests/intel/xe_exec_compute_mode.c               | 2 +-
 tests/intel/xe_exec_fault_mode.c                 | 2 +-
 tests/intel/xe_exec_mix_modes.c                  | 2 +-
 tests/intel/xe_exec_queue_property.c             | 2 +-
 tests/intel/xe_exec_reset.c                      | 2 +-
 tests/intel/xe_exec_sip.c                        | 2 +-
 tests/intel/xe_exec_sip_eudebug.c                | 2 +-
 tests/intel/xe_exec_store.c                      | 2 +-
 tests/intel/xe_exec_system_allocator.c           | 2 +-
 tests/intel/xe_exec_threads.c                    | 2 +-
 tests/intel/xe_exercise_blt.c                    | 2 +-
 tests/intel/xe_fault_injection.c                 | 2 +-
 tests/intel/xe_gpgpu_fill.c                      | 2 +-
 tests/intel/xe_gt_freq.c                         | 2 +-
 tests/intel/xe_huc_copy.c                        | 2 +-
 tests/intel/xe_intel_bb.c                        | 2 +-
 tests/intel/xe_live_ktest.c                      | 2 +-
 tests/intel/xe_media_fill.c                      | 2 +-
 tests/intel/xe_mmap.c                            | 2 +-
 tests/intel/xe_module_load.c                     | 2 +-
 tests/intel/xe_noexec_ping_pong.c                | 2 +-
 tests/intel/xe_oa.c                              | 2 +-
 tests/intel/xe_pat.c                             | 2 +-
 tests/intel/xe_peer2peer.c                       | 2 +-
 tests/intel/xe_pm.c                              | 2 +-
 tests/intel/xe_pm_residency.c                    | 2 +-
 tests/intel/xe_pmu.c                             | 2 +-
 tests/intel/xe_prime_self_import.c               | 2 +-
 tests/intel/xe_pxp.c                             | 2 +-
 tests/intel/xe_query.c                           | 2 +-
 tests/intel/xe_render_copy.c                     | 2 +-
 tests/intel/xe_spin_batch.c                      | 2 +-
 tests/intel/xe_sriov_auto_provisioning.c         | 2 +-
 tests/intel/xe_sriov_flr.c                       | 2 +-
 tests/intel/xe_sriov_scheduling.c                | 2 +-
 tests/intel/xe_sriov_vram.c                      | 2 +-
 tests/intel/xe_survivability.c                   | 2 +-
 tests/intel/xe_sysfs_defaults.c                  | 2 +-
 tests/intel/xe_sysfs_preempt_timeout.c           | 2 +-
 tests/intel/xe_sysfs_scheduler.c                 | 2 +-
 tests/intel/xe_sysfs_timeslice_duration.c        | 2 +-
 tests/intel/xe_tlb.c                             | 2 +-
 tests/intel/xe_vm.c                              | 2 +-
 tests/intel/xe_waitfence.c                       | 2 +-
 tests/intel/xe_wedged.c                          | 2 +-
 tests/kms_3d.c                                   | 2 +-
 tests/kms_addfb_basic.c                          | 2 +-
 tests/kms_async_flips.c                          | 2 +-
 tests/kms_atomic.c                               | 2 +-
 tests/kms_atomic_interruptible.c                 | 2 +-
 tests/kms_atomic_transition.c                    | 2 +-
 tests/kms_bw.c                                   | 2 +-
 tests/kms_color.c                                | 2 +-
 tests/kms_concurrent.c                           | 2 +-
 tests/kms_content_protection.c                   | 2 +-
 tests/kms_cursor_crc.c                           | 2 +-
 tests/kms_cursor_edge_walk.c                     | 2 +-
 tests/kms_cursor_legacy.c                        | 2 +-
 tests/kms_debugfs.c                              | 2 +-
 tests/kms_display_modes.c                        | 2 +-
 tests/kms_dither.c                               | 2 +-
 tests/kms_feature_discovery.c                    | 2 +-
 tests/kms_flip.c                                 | 2 +-
 tests/kms_flip_event_leak.c                      | 2 +-
 tests/kms_force_connector_basic.c                | 2 +-
 tests/kms_getfb.c                                | 2 +-
 tests/kms_hdmi_inject.c                          | 2 +-
 tests/kms_hdr.c                                  | 2 +-
 tests/kms_invalid_mode.c                         | 2 +-
 tests/kms_lease.c                                | 2 +-
 tests/kms_multipipe_modeset.c                    | 2 +-
 tests/kms_panel_fitting.c                        | 2 +-
 tests/kms_pipe_crc_basic.c                       | 2 +-
 tests/kms_plane.c                                | 2 +-
 tests/kms_plane_alpha_blend.c                    | 2 +-
 tests/kms_plane_cursor.c                         | 2 +-
 tests/kms_plane_lowres.c                         | 2 +-
 tests/kms_plane_multiple.c                       | 2 +-
 tests/kms_plane_scaling.c                        | 2 +-
 tests/kms_prime.c                                | 2 +-
 tests/kms_prop_blob.c                            | 2 +-
 tests/kms_properties.c                           | 2 +-
 tests/kms_rmfb.c                                 | 2 +-
 tests/kms_rotation_crc.c                         | 2 +-
 tests/kms_scaling_modes.c                        | 2 +-
 tests/kms_selftest.c                             | 2 +-
 tests/kms_sequence.c                             | 2 +-
 tests/kms_setmode.c                              | 2 +-
 tests/kms_sharpness_filter.c                     | 2 +-
 tests/kms_tiled_display.c                        | 2 +-
 tests/kms_tv_load_detect.c                       | 2 +-
 tests/kms_universal_plane.c                      | 2 +-
 tests/kms_vblank.c                               | 2 +-
 tests/kms_vrr.c                                  | 2 +-
 tests/kms_writeback.c                            | 2 +-
 tests/meta_test.c                                | 2 +-
 tests/msm/msm_mapping.c                          | 2 +-
 tests/msm/msm_recovery.c                         | 2 +-
 tests/msm/msm_shrink.c                           | 2 +-
 tests/msm/msm_submit.c                           | 2 +-
 tests/msm/msm_submitoverhead.c                   | 2 +-
 tests/nouveau_crc.c                              | 2 +-
 tests/panfrost/panfrost_gem_new.c                | 2 +-
 tests/panfrost/panfrost_get_param.c              | 2 +-
 tests/panfrost/panfrost_prime.c                  | 2 +-
 tests/panfrost/panfrost_submit.c                 | 2 +-
 tests/panthor/panthor_gem.c                      | 2 +-
 tests/panthor/panthor_group.c                    | 2 +-
 tests/panthor/panthor_query.c                    | 2 +-
 tests/panthor/panthor_vm.c                       | 2 +-
 tests/prime_nv_api.c                             | 2 +-
 tests/prime_nv_pcopy.c                           | 2 +-
 tests/prime_nv_test.c                            | 2 +-
 tests/prime_vgem.c                               | 2 +-
 tests/sriov_basic.c                              | 2 +-
 tests/sw_sync.c                                  | 2 +-
 tests/syncobj_basic.c                            | 2 +-
 tests/syncobj_eventfd.c                          | 2 +-
 tests/syncobj_timeline.c                         | 2 +-
 tests/syncobj_wait.c                             | 2 +-
 tests/template.c                                 | 2 +-
 tests/tools_test.c                               | 2 +-
 tests/v3d/v3d_create_bo.c                        | 2 +-
 tests/v3d/v3d_get_bo_offset.c                    | 2 +-
 tests/v3d/v3d_get_param.c                        | 2 +-
 tests/v3d/v3d_job_submission.c                   | 2 +-
 tests/v3d/v3d_mmap.c                             | 2 +-
 tests/v3d/v3d_perfmon.c                          | 2 +-
 tests/v3d/v3d_submit_cl.c                        | 2 +-
 tests/v3d/v3d_submit_csd.c                       | 2 +-
 tests/v3d/v3d_wait_bo.c                          | 2 +-
 tests/vc4/vc4_create_bo.c                        | 2 +-
 tests/vc4/vc4_dmabuf_poll.c                      | 2 +-
 tests/vc4/vc4_label_bo.c                         | 2 +-
 tests/vc4/vc4_lookup_fail.c                      | 2 +-
 tests/vc4/vc4_mmap.c                             | 2 +-
 tests/vc4/vc4_perfmon.c                          | 2 +-
 tests/vc4/vc4_purgeable_bo.c                     | 2 +-
 tests/vc4/vc4_tiling.c                           | 2 +-
 tests/vc4/vc4_wait_bo.c                          | 2 +-
 tests/vc4/vc4_wait_seqno.c                       | 2 +-
 tests/vgem_basic.c                               | 2 +-
 tests/vgem_slow.c                                | 2 +-
 tests/vkms/vkms_configfs.c                       | 2 +-
 tests/vmwgfx/vmw_execution_buffer.c              | 2 +-
 tests/vmwgfx/vmw_mob_stress.c                    | 2 +-
 tests/vmwgfx/vmw_prime.c                         | 2 +-
 tests/vmwgfx/vmw_ref_count.c                     | 2 +-
 tests/vmwgfx/vmw_surface_copy.c                  | 2 +-
 tests/vmwgfx/vmw_tri.c                           | 2 +-
 418 files changed, 418 insertions(+), 417 deletions(-)

diff --git a/benchmarks/gem_userptr_benchmark.c b/benchmarks/gem_userptr_benchmark.c
index 91a3ddbd4ec8..30472d26f947 100644
--- a/benchmarks/gem_userptr_benchmark.c
+++ b/benchmarks/gem_userptr_benchmark.c
@@ -450,7 +450,7 @@ static void test_userptr(int fd)
 	test_multiple(fd, 100, 1);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd = -1, ret;
 
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 8fb25e1d53c5..fac27608986c 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -426,6 +426,7 @@ void __igt_subtest_group_restore(int, int);
  * #igt_subtest_init_parse_opts.
  */
 #define igt_main_args(short_opts, long_opts, help_str, opt_handler, handler_data) \
+	main(int argc, char **argv); \
 	static void igt_unique(__real_main)(void); \
 	int main(int argc, char **argv) { \
 		igt_subtest_init_parse_opts(&argc, argv, \
diff --git a/lib/tests/bad_subtest_type.c b/lib/tests/bad_subtest_type.c
index ec522c49bdbc..468162af9bbc 100644
--- a/lib/tests/bad_subtest_type.c
+++ b/lib/tests/bad_subtest_type.c
@@ -8,7 +8,7 @@
 
 IGT_TEST_DESCRIPTION("Test bad-scoped file descriptor variable");
 
-igt_main()
+int igt_main()
 {
 	igt_describe("Check if using a scoped variable inside a subtest will abort it");
 	igt_subtest("bad-scoped-variable") {
diff --git a/lib/tests/i915_perf_data_alignment.c b/lib/tests/i915_perf_data_alignment.c
index 6d2e1de1e4fd..dd8d3fdb465c 100644
--- a/lib/tests/i915_perf_data_alignment.c
+++ b/lib/tests/i915_perf_data_alignment.c
@@ -30,7 +30,7 @@
 
 #define is_aligned(s) ((sizeof(s) % 8) == 0)
 
-igt_main()
+int igt_main()
 {
 	igt_subtest("alignment") {
 		internal_assert(is_aligned(struct intel_perf_record_version));
diff --git a/lib/tests/igt_assert.c b/lib/tests/igt_assert.c
index f866870da6bf..09d7e6c0399a 100644
--- a/lib/tests/igt_assert.c
+++ b/lib/tests/igt_assert.c
@@ -125,7 +125,7 @@ static void test_fd(void)
 	igt_assert_fd(INT_MAX);
 }
 
-igt_main()
+int igt_main()
 {
 	int ret;
 
diff --git a/lib/tests/igt_audio.c b/lib/tests/igt_audio.c
index 93dda16c6641..e57449856255 100644
--- a/lib/tests/igt_audio.c
+++ b/lib/tests/igt_audio.c
@@ -174,7 +174,7 @@ static void test_signal_detect_phaseshift(struct audio_signal *signal)
 	igt_assert(!ok);
 }
 
-igt_main()
+int igt_main()
 {
 	struct audio_signal *signal = NULL;
 	int ret;
diff --git a/lib/tests/igt_can_fail.c b/lib/tests/igt_can_fail.c
index 034d60df3bf1..4314d4765619 100644
--- a/lib/tests/igt_can_fail.c
+++ b/lib/tests/igt_can_fail.c
@@ -26,7 +26,7 @@
 
 #include "igt_tests_common.h"
 
-igt_main()
+int igt_main()
 {
 	internal_assert(igt_can_fail() == false);
 
diff --git a/lib/tests/igt_hook.c b/lib/tests/igt_hook.c
index 445d619db2f0..0328c3a3c055 100644
--- a/lib/tests/igt_hook.c
+++ b/lib/tests/igt_hook.c
@@ -149,7 +149,7 @@ static void test_all_env_vars(void)
 	free(line);
 }
 
-igt_main()
+int igt_main()
 {
 	test_invalid_hook_descriptors();
 
diff --git a/lib/tests/igt_ktap_parser.c b/lib/tests/igt_ktap_parser.c
index 73c2b7e358fd..dfc653b33f0a 100644
--- a/lib/tests/igt_ktap_parser.c
+++ b/lib/tests/igt_ktap_parser.c
@@ -230,7 +230,7 @@ static void ktap_top_version(void)
 	igt_ktap_free(&ktap);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_subtest("list")
 		ktap_list();
diff --git a/lib/tests/igt_runnercomms_packets.c b/lib/tests/igt_runnercomms_packets.c
index 1f752b43305a..36fea85ec8a6 100644
--- a/lib/tests/igt_runnercomms_packets.c
+++ b/lib/tests/igt_runnercomms_packets.c
@@ -214,7 +214,7 @@ struct {
 		      { NULL, NULL }
 };
 
-igt_main()
+int igt_main()
 {
 	igt_subtest("create-and-parse-normal") {
 		for (typeof (*basic_creation) *t = basic_creation; t->create; t++) {
diff --git a/lib/tests/igt_subtest_group.c b/lib/tests/igt_subtest_group.c
index 691498157524..216dc7c9f4c4 100644
--- a/lib/tests/igt_subtest_group.c
+++ b/lib/tests/igt_subtest_group.c
@@ -26,7 +26,7 @@
 
 #include "igt_tests_common.h"
 
-igt_main()
+int igt_main()
 {
 	/*
 	 * local variables have to be volatile here otherwise they end up being
diff --git a/lib/tests/igt_types.c b/lib/tests/igt_types.c
index 8144157210ef..388bf0a29f36 100644
--- a/lib/tests/igt_types.c
+++ b/lib/tests/igt_types.c
@@ -59,7 +59,7 @@ static void skip_delegate(void)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	/* Basic check that scopes will call their destructor */
 	cleanup_called = 0;
diff --git a/runner/runner_json_tests.c b/runner/runner_json_tests.c
index 5d7ed593cce3..38439ccaaa6a 100644
--- a/runner/runner_json_tests.c
+++ b/runner/runner_json_tests.c
@@ -172,7 +172,7 @@ static const char *dirnames[] = {
 	"graceful-notrun",
 };
 
-igt_main()
+int igt_main()
 {
 	int dirfd = open(testdatadir, O_RDONLY | O_DIRECTORY);
 	size_t i;
diff --git a/runner/runner_kmemleak_test.c b/runner/runner_kmemleak_test.c
index 76ea97f096e7..8d5013a13b79 100644
--- a/runner/runner_kmemleak_test.c
+++ b/runner/runner_kmemleak_test.c
@@ -213,7 +213,7 @@ const char *kmemleak_file_example =
 
 static const char *runner_kmemleak_unit_testing_resdir = "/tmp";
 
-igt_main()
+int igt_main()
 {
 	char unit_testing_kmemleak_filepath[256] = "/tmp/runner_kmemleak_test_XXXXXX";
 	int written_bytes;
diff --git a/runner/runner_tests.c b/runner/runner_tests.c
index c419eb9756cd..908979982390 100644
--- a/runner/runner_tests.c
+++ b/runner/runner_tests.c
@@ -261,7 +261,7 @@ static void write_packet_with_canary(int fd, struct runnerpacket *packet)
 	free(packet);
 }
 
-igt_main()
+int igt_main()
 {
 	struct settings *settings = malloc(sizeof(*settings));
 
diff --git a/runner/testdata/abort-dynamic.c b/runner/testdata/abort-dynamic.c
index 11cace0145f3..73c5ed1e9f18 100644
--- a/runner/testdata/abort-dynamic.c
+++ b/runner/testdata/abort-dynamic.c
@@ -23,7 +23,7 @@
 
 #include "igt.h"
 
-igt_main()
+int igt_main()
 {
 	igt_subtest_with_dynamic("a-subtest") {
 		igt_dynamic("dynamic-1")
diff --git a/runner/testdata/abort-fixture.c b/runner/testdata/abort-fixture.c
index 93759b29b82f..11f59a6eedc7 100644
--- a/runner/testdata/abort-fixture.c
+++ b/runner/testdata/abort-fixture.c
@@ -23,7 +23,7 @@
 
 #include "igt.h"
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		igt_abort_on_f(true, "I'm out!\n");
diff --git a/runner/testdata/abort.c b/runner/testdata/abort.c
index eb726a0dda4e..e619429d68df 100644
--- a/runner/testdata/abort.c
+++ b/runner/testdata/abort.c
@@ -23,7 +23,7 @@
 
 #include "igt.h"
 
-igt_main()
+int igt_main()
 {
 	igt_subtest("a-subtest")
 		;
diff --git a/runner/testdata/dynamic.c b/runner/testdata/dynamic.c
index eabb49ef2ae5..5cc9ea7354a4 100644
--- a/runner/testdata/dynamic.c
+++ b/runner/testdata/dynamic.c
@@ -1,6 +1,6 @@
 #include "igt.h"
 
-igt_main()
+int igt_main()
 {
 	igt_subtest_with_dynamic("dynamic-subtest") {
 		igt_dynamic("failing")
diff --git a/runner/testdata/skippers.c b/runner/testdata/skippers.c
index 6dc117a41401..6f5a9d0a4266 100644
--- a/runner/testdata/skippers.c
+++ b/runner/testdata/skippers.c
@@ -1,6 +1,6 @@
 #include "igt.h"
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		igt_require_f(false, "Skipping from fixture\n");
diff --git a/runner/testdata/successtest.c b/runner/testdata/successtest.c
index 8055382181b5..4511e169677c 100644
--- a/runner/testdata/successtest.c
+++ b/runner/testdata/successtest.c
@@ -1,6 +1,6 @@
 #include "igt.h"
 
-igt_main()
+int igt_main()
 {
 	igt_subtest("first-subtest")
 		igt_debug("Running first subtest\n");
diff --git a/tests/amdgpu/amd_abm.c b/tests/amdgpu/amd_abm.c
index 7b850174bd00..84677fef80d6 100644
--- a/tests/amdgpu/amd_abm.c
+++ b/tests/amdgpu/amd_abm.c
@@ -498,7 +498,7 @@ static void abm_gradual(data_t *data)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {0};
 	igt_skip_on_simulation();
diff --git a/tests/amdgpu/amd_assr.c b/tests/amdgpu/amd_assr.c
index 559ae8abead1..8a42baa0ba86 100644
--- a/tests/amdgpu/amd_assr.c
+++ b/tests/amdgpu/amd_assr.c
@@ -267,7 +267,7 @@ static void test_assr_links(data_t *data, uint32_t test_flags)
 
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_basic.c b/tests/amdgpu/amd_basic.c
index fe0f7fad2297..92ceb7854a5c 100644
--- a/tests/amdgpu/amd_basic.c
+++ b/tests/amdgpu/amd_basic.c
@@ -662,7 +662,7 @@ amdgpu_sync_dependency_test(amdgpu_device_handle device_handle, bool user_queue)
 	free(ring_context);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {0};
diff --git a/tests/amdgpu/amd_basic_ex.c b/tests/amdgpu/amd_basic_ex.c
index 01d89b5719aa..c3e614284fe7 100644
--- a/tests/amdgpu/amd_basic_ex.c
+++ b/tests/amdgpu/amd_basic_ex.c
@@ -21,7 +21,7 @@ amdgpu_ce_write_after_fence(amdgpu_device_handle device_handle)
 	amdgpu_cs_ctx_free(context_handle);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {0};
diff --git a/tests/amdgpu/amd_basic_multi_gpu.c b/tests/amdgpu/amd_basic_multi_gpu.c
index 5ece374bab6a..6cb8933874f6 100644
--- a/tests/amdgpu/amd_basic_multi_gpu.c
+++ b/tests/amdgpu/amd_basic_multi_gpu.c
@@ -157,7 +157,7 @@ static void amdgpu_command_submission_multi_fence(amdgpu_device_handle device)
 	amdgpu_command_submission_multi_fence_wait_all(device, false);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	int fd = -1;
diff --git a/tests/amdgpu/amd_bo.c b/tests/amdgpu/amd_bo.c
index 52a379eb17c6..1f300e6ba070 100644
--- a/tests/amdgpu/amd_bo.c
+++ b/tests/amdgpu/amd_bo.c
@@ -248,7 +248,7 @@ amdgpu_bo_find_by_cpu_mapping(amdgpu_device_handle device_handle)
 				     bo_mc_address, 4096);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct bo_data bo;
diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
index 1d92d470027b..a3fc39c50a51 100644
--- a/tests/amdgpu/amd_bypass.c
+++ b/tests/amdgpu/amd_bypass.c
@@ -397,7 +397,7 @@ static void bypass_8bpc_test(data_t *data)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 	memset(&data, 0, sizeof(data));
diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
index c01ef1b84359..917d30b20a47 100644
--- a/tests/amdgpu/amd_color.c
+++ b/tests/amdgpu/amd_color.c
@@ -392,7 +392,7 @@ static void test_crtc_lut_accuracy(data_t *data)
 	lut_free(&lut_degamma);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_cp_dma_misc.c b/tests/amdgpu/amd_cp_dma_misc.c
index 5ad799d8a6e0..31473780cdc7 100644
--- a/tests/amdgpu/amd_cp_dma_misc.c
+++ b/tests/amdgpu/amd_cp_dma_misc.c
@@ -8,7 +8,7 @@
 #include "lib/amdgpu/amd_cp_dma.h"
 #include "lib/amdgpu/amd_ip_blocks.h"
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	amdgpu_device_handle device2;
diff --git a/tests/amdgpu/amd_cs_nop.c b/tests/amdgpu/amd_cs_nop.c
index 60a9d77e0918..beab62a54022 100644
--- a/tests/amdgpu/amd_cs_nop.c
+++ b/tests/amdgpu/amd_cs_nop.c
@@ -146,7 +146,7 @@ static void nop_cs(amdgpu_device_handle device,
 	free(ring_context);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	amdgpu_context_handle context;
diff --git a/tests/amdgpu/amd_deadlock.c b/tests/amdgpu/amd_deadlock.c
index 73513055c17a..5d615799d01f 100644
--- a/tests/amdgpu/amd_deadlock.c
+++ b/tests/amdgpu/amd_deadlock.c
@@ -33,7 +33,7 @@ is_deadlock_tests_enable(const struct amdgpu_gpu_info *gpu_info)
 	return enable;
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {0};
diff --git a/tests/amdgpu/amd_dispatch.c b/tests/amdgpu/amd_dispatch.c
index ad7a6fdbd04d..1f4bf39f6459 100644
--- a/tests/amdgpu/amd_dispatch.c
+++ b/tests/amdgpu/amd_dispatch.c
@@ -76,7 +76,7 @@ amdgpu_gpu_reset_test(amdgpu_device_handle device_handle, int drm_amdgpu,
 	amdgpu_gfx_dispatch_test(device_handle, AMDGPU_HW_IP_COMPUTE, 0, pci, false);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {0};
diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c
index 9701df2bd6cb..30d7c898f907 100644
--- a/tests/amdgpu/amd_dp_dsc.c
+++ b/tests/amdgpu/amd_dp_dsc.c
@@ -537,7 +537,7 @@ static void test_dsc_bpc(data_t *data)
 	test_fini(data);
 }
 
-igt_main() {
+int igt_main() {
 	data_t data = { 0 };
 
 	igt_skip_on_simulation();
diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
index 41de7b19217c..4db975e26347 100644
--- a/tests/amdgpu/amd_freesync_video_mode.c
+++ b/tests/amdgpu/amd_freesync_video_mode.c
@@ -860,7 +860,7 @@ run_test(data_t *data, uint32_t scene)
 		igt_skip("No vrr capable outputs found.\n");
 }
 
-igt_main() {
+int igt_main() {
 	data_t data = {};
 
 	memset(&data, 0, sizeof(data));
diff --git a/tests/amdgpu/amd_fuzzing.c b/tests/amdgpu/amd_fuzzing.c
index c1b5ad4843f6..dcfc3c288887 100644
--- a/tests/amdgpu/amd_fuzzing.c
+++ b/tests/amdgpu/amd_fuzzing.c
@@ -155,7 +155,7 @@ amd_gem_create_fuzzing(int fd)
 
 }
 
-igt_main()
+int igt_main()
 {
 	int fd = -1;
 	const enum amd_ip_block_type arr_types[] = {
diff --git a/tests/amdgpu/amd_gang_cs.c b/tests/amdgpu/amd_gang_cs.c
index b808f1518bef..5eb21197df8d 100644
--- a/tests/amdgpu/amd_gang_cs.c
+++ b/tests/amdgpu/amd_gang_cs.c
@@ -238,7 +238,7 @@ amdgpu_cs_gang(amdgpu_device_handle device, uint32_t ring, bool is_vmid)
 	free(ring_context);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {0};
diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c
index bd2e59d03079..9038b2ed9208 100644
--- a/tests/amdgpu/amd_hotplug.c
+++ b/tests/amdgpu/amd_hotplug.c
@@ -200,7 +200,7 @@ static void test_hotplug_basic(data_t *data, bool suspend)
 	test_fini(data);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_ilr.c b/tests/amdgpu/amd_ilr.c
index a1cb82cff69b..5767d4ac4c11 100644
--- a/tests/amdgpu/amd_ilr.c
+++ b/tests/amdgpu/amd_ilr.c
@@ -315,7 +315,7 @@ static void test_flow(data_t *data, enum sub_test option)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 	memset(&data, 0, sizeof(data));
diff --git a/tests/amdgpu/amd_info.c b/tests/amdgpu/amd_info.c
index 9657bf320038..4b66b63f92d0 100644
--- a/tests/amdgpu/amd_info.c
+++ b/tests/amdgpu/amd_info.c
@@ -117,7 +117,7 @@ time_stamp_test_enable(struct amdgpu_gpu_info *gpu_info)
 	return true;
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {};
diff --git a/tests/amdgpu/amd_jpeg_dec.c b/tests/amdgpu/amd_jpeg_dec.c
index 713ede11a4bc..ed005b3a15e9 100644
--- a/tests/amdgpu/amd_jpeg_dec.c
+++ b/tests/amdgpu/amd_jpeg_dec.c
@@ -217,7 +217,7 @@ amdgpu_cs_jpeg_decode(amdgpu_device_handle device_handle,
 	mmd_context_clean(device_handle, context);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_shared_context shared_context = {};
diff --git a/tests/amdgpu/amd_jpeg_queue.c b/tests/amdgpu/amd_jpeg_queue.c
index 5f4a3d90ac8a..3f97af3959b7 100644
--- a/tests/amdgpu/amd_jpeg_queue.c
+++ b/tests/amdgpu/amd_jpeg_queue.c
@@ -76,7 +76,7 @@ err_handle:
 	return ret;
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_shared_context shared_context = {};
diff --git a/tests/amdgpu/amd_link_settings.c b/tests/amdgpu/amd_link_settings.c
index e42843023397..fb83f3c13932 100644
--- a/tests/amdgpu/amd_link_settings.c
+++ b/tests/amdgpu/amd_link_settings.c
@@ -246,7 +246,7 @@ static void test_link_training_configs(data_t *data)
 	test_fini(data);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 	memset(&data, 0, sizeof(data));
diff --git a/tests/amdgpu/amd_mall.c b/tests/amdgpu/amd_mall.c
index b4bf2c5adc2a..a3e82a33f8f9 100644
--- a/tests/amdgpu/amd_mall.c
+++ b/tests/amdgpu/amd_mall.c
@@ -128,7 +128,7 @@ static void test_mall_ss(data_t *data)
 	test_fini(data);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
index 98dd8fd7fb63..869a3e5c52b7 100644
--- a/tests/amdgpu/amd_max_bpc.c
+++ b/tests/amdgpu/amd_max_bpc.c
@@ -118,7 +118,7 @@ static void test_4k_mode_max_bpc(data_t *data)
 	test_fini(data);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_mem_leak.c b/tests/amdgpu/amd_mem_leak.c
index 5bcd2be239e9..9863ec78d143 100644
--- a/tests/amdgpu/amd_mem_leak.c
+++ b/tests/amdgpu/amd_mem_leak.c
@@ -127,7 +127,7 @@ static void test_hotplug(data_t *data)
 	test_fini(data);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_mode_switch.c b/tests/amdgpu/amd_mode_switch.c
index eaeafd32a134..57b2b98023f5 100644
--- a/tests/amdgpu/amd_mode_switch.c
+++ b/tests/amdgpu/amd_mode_switch.c
@@ -176,7 +176,7 @@ static void run_mode_switch_first_last(data_t *data, int num_pipes)
 }
 
 IGT_TEST_DESCRIPTION("Test switching between supported modes");
-igt_main()
+int igt_main()
 {
 	data_t data;
 	int i = 0;
diff --git a/tests/amdgpu/amd_module_load.c b/tests/amdgpu/amd_module_load.c
index 589f8bd2aa3a..32e96c4f42ac 100644
--- a/tests/amdgpu/amd_module_load.c
+++ b/tests/amdgpu/amd_module_load.c
@@ -59,7 +59,7 @@ static void sanity_check(void)
 	igt_assert_eq(err, 0);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_describe("Make sure reloading amdgpu drivers works");
 	igt_subtest("reload") {
diff --git a/tests/amdgpu/amd_multidisplay_modeset.c b/tests/amdgpu/amd_multidisplay_modeset.c
index 1a31cd74c8d1..a53cf668fb5c 100644
--- a/tests/amdgpu/amd_multidisplay_modeset.c
+++ b/tests/amdgpu/amd_multidisplay_modeset.c
@@ -406,7 +406,7 @@ static void multiple_display_test(struct data_t *data, enum sub_test test_mode)
 }
 
 IGT_TEST_DESCRIPTION("Test multi-display mode set, display enable and disable");
-igt_main()
+int igt_main()
 {
 	struct data_t data;
 
diff --git a/tests/amdgpu/amd_odm.c b/tests/amdgpu/amd_odm.c
index 3cb2996f746f..101c89e60e4e 100644
--- a/tests/amdgpu/amd_odm.c
+++ b/tests/amdgpu/amd_odm.c
@@ -160,7 +160,7 @@ static void run_test_odmc(struct data *data, enum odmc_mode m, const drmModeMode
 	test_fini(data);
 }
 
-igt_main()
+int igt_main()
 {
 	struct data data;
 
diff --git a/tests/amdgpu/amd_pci_unplug.c b/tests/amdgpu/amd_pci_unplug.c
index ee6ede43017a..65e5843bcc4a 100644
--- a/tests/amdgpu/amd_pci_unplug.c
+++ b/tests/amdgpu/amd_pci_unplug.c
@@ -31,7 +31,7 @@
 #include "lib/amdgpu/amd_ip_blocks.h"
 
 
-igt_main()
+int igt_main()
 {
 
 	struct amd_pci_unplug_setup setup = {0};
diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
index 71c294053369..8bf776f35770 100644
--- a/tests/amdgpu/amd_plane.c
+++ b/tests/amdgpu/amd_plane.c
@@ -896,7 +896,7 @@ static void test_mpo_swizzle_toggle(data_t *data)
 }
 
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_prime.c b/tests/amdgpu/amd_prime.c
index fbab2d164fe1..73353ab1b3bf 100644
--- a/tests/amdgpu/amd_prime.c
+++ b/tests/amdgpu/amd_prime.c
@@ -428,7 +428,7 @@ static void shrink(int i915, int amd, amdgpu_device_handle device)
 	gem_close(i915, handle);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	int i915 = -1, amd = -1;
diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
index fca68ba0162d..040c39f0abdb 100644
--- a/tests/amdgpu/amd_psr.c
+++ b/tests/amdgpu/amd_psr.c
@@ -700,7 +700,7 @@ static int opt_handler(int option, int option_index, void *data)
 	return IGT_OPT_HANDLER_SUCCESS;
 }
 
-igt_main_args("", long_options, help_str, opt_handler, NULL)
+int igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
 	data_t data;
 
diff --git a/tests/amdgpu/amd_pstate.c b/tests/amdgpu/amd_pstate.c
index d2ea44826254..00662765a2d0 100644
--- a/tests/amdgpu/amd_pstate.c
+++ b/tests/amdgpu/amd_pstate.c
@@ -40,7 +40,7 @@ amdgpu_stable_pstate_test(amdgpu_device_handle device_handle)
 
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	int fd = -1;
diff --git a/tests/amdgpu/amd_queue_reset.c b/tests/amdgpu/amd_queue_reset.c
index 3058eac26780..a9259a1b8c9d 100644
--- a/tests/amdgpu/amd_queue_reset.c
+++ b/tests/amdgpu/amd_queue_reset.c
@@ -1100,7 +1100,7 @@ get_num_of_tests(struct dynamic_test *arr_err, enum amd_ip_block_type *ip_tests,
 	return cnt;
 }
 
-igt_main()
+int igt_main()
 {
 	char cmdline[2048];
 	int argc = 0;
diff --git a/tests/amdgpu/amd_ras.c b/tests/amdgpu/amd_ras.c
index 4303908bedc6..380fe80c5f85 100644
--- a/tests/amdgpu/amd_ras.c
+++ b/tests/amdgpu/amd_ras.c
@@ -988,7 +988,7 @@ ras_tests_cleanup(struct amd_ras_setup *setup)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	struct amd_ras_setup setup = {};
 	bool render_mode = true;
diff --git a/tests/amdgpu/amd_replay.c b/tests/amdgpu/amd_replay.c
index 6755ec3521a2..d06f56df233c 100644
--- a/tests/amdgpu/amd_replay.c
+++ b/tests/amdgpu/amd_replay.c
@@ -407,7 +407,7 @@ static int opt_handler(int option, int option_index, void *data)
 	return IGT_OPT_HANDLER_SUCCESS;
 }
 
-igt_main_args("", long_options, help_str, opt_handler, NULL)
+int igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
 	struct test_data data;
 
diff --git a/tests/amdgpu/amd_security.c b/tests/amdgpu/amd_security.c
index cef083d23b42..9ebb3fa833e3 100644
--- a/tests/amdgpu/amd_security.c
+++ b/tests/amdgpu/amd_security.c
@@ -308,7 +308,7 @@ is_security_tests_enable(amdgpu_device_handle device_handle,
 	return enable;
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {};
diff --git a/tests/amdgpu/amd_subvp.c b/tests/amdgpu/amd_subvp.c
index 984d661e846c..7d29bcf10d18 100644
--- a/tests/amdgpu/amd_subvp.c
+++ b/tests/amdgpu/amd_subvp.c
@@ -152,7 +152,7 @@ static void test_subvp(struct data *data)
 	test_fini(data);
 }
 
-igt_main()
+int igt_main()
 {
 	struct data data;
 
diff --git a/tests/amdgpu/amd_syncobj.c b/tests/amdgpu/amd_syncobj.c
index e06769bcab67..0f381262c1ba 100644
--- a/tests/amdgpu/amd_syncobj.c
+++ b/tests/amdgpu/amd_syncobj.c
@@ -234,7 +234,7 @@ amdgpu_syncobj_timeline(amdgpu_device_handle device_handle)
 
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	int fd = -1;
diff --git a/tests/amdgpu/amd_uvd_dec.c b/tests/amdgpu/amd_uvd_dec.c
index 5e7d5b34fa20..6eeadc4590e6 100644
--- a/tests/amdgpu/amd_uvd_dec.c
+++ b/tests/amdgpu/amd_uvd_dec.c
@@ -294,7 +294,7 @@ amdgpu_uvd_dec_destroy(amdgpu_device_handle device_handle, struct mmd_context *c
 	igt_assert_eq(r, 0);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_context context = {};
diff --git a/tests/amdgpu/amd_uvd_enc.c b/tests/amdgpu/amd_uvd_enc.c
index 4e2780239681..5eda30979099 100644
--- a/tests/amdgpu/amd_uvd_enc.c
+++ b/tests/amdgpu/amd_uvd_enc.c
@@ -309,7 +309,7 @@ amdgpu_uvd_enc_test(amdgpu_device_handle device, struct mmd_shared_context *shar
 
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_shared_context shared_context = {};
diff --git a/tests/amdgpu/amd_vce_enc.c b/tests/amdgpu/amd_vce_enc.c
index a95e13d98620..55234ee34c65 100644
--- a/tests/amdgpu/amd_vce_enc.c
+++ b/tests/amdgpu/amd_vce_enc.c
@@ -586,7 +586,7 @@ amdgpu_vce_enc_test(amdgpu_device_handle device, struct mmd_shared_context *shar
 	mmd_context_clean(device, context);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_shared_context shared_context = {};
diff --git a/tests/amdgpu/amd_vcn.c b/tests/amdgpu/amd_vcn.c
index 2c7a84ccb22e..b42467f1f6c7 100644
--- a/tests/amdgpu/amd_vcn.c
+++ b/tests/amdgpu/amd_vcn.c
@@ -1231,7 +1231,7 @@ amdgpu_cs_vcn_enc_destroy(amdgpu_device_handle device_handle,
 	free_resource(&v_context->enc_buf);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_context context = {};
diff --git a/tests/amdgpu/amd_vcn_queue.c b/tests/amdgpu/amd_vcn_queue.c
index 8ba48389f626..3dad9e7b3398 100644
--- a/tests/amdgpu/amd_vcn_queue.c
+++ b/tests/amdgpu/amd_vcn_queue.c
@@ -57,7 +57,7 @@ vcn_queue_test(amdgpu_device_handle device_handle,
 	return 0;
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct mmd_context context = {};
diff --git a/tests/amdgpu/amd_vm.c b/tests/amdgpu/amd_vm.c
index b9d5bbae5ac4..d5377fd61598 100644
--- a/tests/amdgpu/amd_vm.c
+++ b/tests/amdgpu/amd_vm.c
@@ -197,7 +197,7 @@ amdgpu_vm_mapping_test(amdgpu_device_handle device_handle)
 	amdgpu_bo_free(buf);
 }
 
-igt_main()
+int igt_main()
 {
 	amdgpu_device_handle device;
 	struct amdgpu_gpu_info gpu_info = {};
diff --git a/tests/amdgpu/amd_vpe.c b/tests/amdgpu/amd_vpe.c
index a6f49e605ac0..072e521c933a 100644
--- a/tests/amdgpu/amd_vpe.c
+++ b/tests/amdgpu/amd_vpe.c
@@ -214,7 +214,7 @@ static void amdgpu_cs_vpe_blit(amdgpu_device_handle device_handle,
 	free_resource(&dst_plane_bo);
 }
 
-igt_main()
+int igt_main()
 {
 	struct mmd_context context = {};
 	struct mmd_shared_context shared_context = {};
diff --git a/tests/amdgpu/amd_vrr_range.c b/tests/amdgpu/amd_vrr_range.c
index 5378e9cbda84..dc911323e2e2 100644
--- a/tests/amdgpu/amd_vrr_range.c
+++ b/tests/amdgpu/amd_vrr_range.c
@@ -456,7 +456,7 @@ static inline void test_freesync_range_suspend(data_t *data)
 	test_freesync_range_base(data, TEST_SUSPEND);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 
diff --git a/tests/chamelium/kms_chamelium_audio.c b/tests/chamelium/kms_chamelium_audio.c
index 89003fec468e..c89f644fffd0 100644
--- a/tests/chamelium/kms_chamelium_audio.c
+++ b/tests/chamelium/kms_chamelium_audio.c
@@ -848,7 +848,7 @@ static void test_display_audio_edid(chamelium_data_t *data,
 }
 
 IGT_TEST_DESCRIPTION("Testing Audio with a Chamelium board");
-igt_main()
+int igt_main()
 {
 	chamelium_data_t data;
 	struct chamelium_port *port;
diff --git a/tests/chamelium/kms_chamelium_color.c b/tests/chamelium/kms_chamelium_color.c
index c07ea8b157c3..fd4f2aad46d6 100644
--- a/tests/chamelium/kms_chamelium_color.c
+++ b/tests/chamelium/kms_chamelium_color.c
@@ -713,7 +713,7 @@ run_tests_for_pipe(data_t *data)
 
 }
 
-igt_main()
+int igt_main()
 {
 	int i;
 	data_t data = {};
diff --git a/tests/chamelium/kms_chamelium_edid.c b/tests/chamelium/kms_chamelium_edid.c
index 9e21a68f7db8..566a4f0ac886 100644
--- a/tests/chamelium/kms_chamelium_edid.c
+++ b/tests/chamelium/kms_chamelium_edid.c
@@ -519,7 +519,7 @@ const char *help_str =
 	"  -e \tExtended tests.\n";
 
 IGT_TEST_DESCRIPTION("Testing EDID with a Chamelium board");
-igt_main_args("e", NULL, help_str, opt_handler, NULL)
+int igt_main_args("e", NULL, help_str, opt_handler, NULL)
 {
 	chamelium_data_t data;
 	struct chamelium_port *port;
diff --git a/tests/chamelium/kms_chamelium_frames.c b/tests/chamelium/kms_chamelium_frames.c
index 3bc1902a9f27..29f957385ce0 100644
--- a/tests/chamelium/kms_chamelium_frames.c
+++ b/tests/chamelium/kms_chamelium_frames.c
@@ -984,7 +984,7 @@ static void test_display_planes_random(chamelium_data_t *data,
 }
 
 IGT_TEST_DESCRIPTION("Tests requiring a Chamelium board");
-igt_main()
+int igt_main()
 {
 	chamelium_data_t data;
 	struct chamelium_port *port;
diff --git a/tests/chamelium/kms_chamelium_hpd.c b/tests/chamelium/kms_chamelium_hpd.c
index e35132d14115..d1460533f276 100644
--- a/tests/chamelium/kms_chamelium_hpd.c
+++ b/tests/chamelium/kms_chamelium_hpd.c
@@ -460,7 +460,7 @@ static void test_hpd_storm_disable(chamelium_data_t *data,
 }
 
 IGT_TEST_DESCRIPTION("Testing HPD with a Chamelium board");
-igt_main()
+int igt_main()
 {
 	chamelium_data_t data;
 	struct chamelium_port *port;
diff --git a/tests/chamelium/kms_chamelium_sharpness_filter.c b/tests/chamelium/kms_chamelium_sharpness_filter.c
index a25ac8ad6dc0..014532d5c6b8 100644
--- a/tests/chamelium/kms_chamelium_sharpness_filter.c
+++ b/tests/chamelium/kms_chamelium_sharpness_filter.c
@@ -241,7 +241,7 @@ run_sharpness_filter_test(data_t *data)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/core_auth.c b/tests/core_auth.c
index e6f4c60fca65..31ba2cfb2d24 100644
--- a/tests/core_auth.c
+++ b/tests/core_auth.c
@@ -214,7 +214,7 @@ static void test_basic_auth(int master)
 	drm_close_driver(slave);
 }
 
-igt_main()
+int igt_main()
 {
 	/* root (which we run igt as) should always be authenticated */
 	igt_describe("Check drm client is always authenticated.");
diff --git a/tests/core_debugfs.c b/tests/core_debugfs.c
index 7f754ce052c1..0e654c3e3497 100644
--- a/tests/core_debugfs.c
+++ b/tests/core_debugfs.c
@@ -23,7 +23,7 @@
 
 IGT_TEST_DESCRIPTION("Read entries from debugfs");
 
-igt_main()
+int igt_main()
 {
 	int debugfs = -1;
 	int fd = -1;
diff --git a/tests/core_getclient.c b/tests/core_getclient.c
index bea04157f03f..fccf148543b9 100644
--- a/tests/core_getclient.c
+++ b/tests/core_getclient.c
@@ -47,7 +47,7 @@
 
 IGT_TEST_DESCRIPTION("Tests the DRM_IOCTL_GET_CLIENT ioctl.");
 
-igt_main()
+int igt_main()
 {
 	int fd, ret;
 	drm_client_t client;
diff --git a/tests/core_getstats.c b/tests/core_getstats.c
index fc8bd510f969..4dddeb48c50f 100644
--- a/tests/core_getstats.c
+++ b/tests/core_getstats.c
@@ -55,7 +55,7 @@
 
 IGT_TEST_DESCRIPTION("Tests the DRM_IOCTL_GET_STATS ioctl.");
 
-igt_main()
+int igt_main()
 {
 	int fd, ret;
 	drm_stats_t stats;
diff --git a/tests/core_getversion.c b/tests/core_getversion.c
index 2c69a65a5cd8..e4092e167b2d 100644
--- a/tests/core_getversion.c
+++ b/tests/core_getversion.c
@@ -81,7 +81,7 @@ static void check_all_drm(void)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	char info[256];
 	int fd;
diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
index a970da41d196..e23b5b89fd48 100644
--- a/tests/core_hotunplug.c
+++ b/tests/core_hotunplug.c
@@ -672,7 +672,7 @@ static void hotreplug_lateclose(struct hotunplug *priv)
 
 /* Main */
 
-igt_main()
+int igt_main()
 {
 	struct hotunplug priv = {
 		.fd		= { .drm = -1, .drm_hc = -1, .sysfs_dev = -1, },
diff --git a/tests/core_setmaster.c b/tests/core_setmaster.c
index b2063b9bccd2..ecb5307961e0 100644
--- a/tests/core_setmaster.c
+++ b/tests/core_setmaster.c
@@ -133,7 +133,7 @@ static void tweak_perm(uint8_t *saved_perm, char *path, bool save)
 	igt_assert_f(!ret, "chmod failed with %d path=%s\n", errno, path);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		/*
diff --git a/tests/core_sysfs.c b/tests/core_sysfs.c
index 857dd3c537e9..3173ffa7be36 100644
--- a/tests/core_sysfs.c
+++ b/tests/core_sysfs.c
@@ -24,7 +24,7 @@
 
 IGT_TEST_DESCRIPTION("Read entries from sysfs paths.");
 
-igt_main()
+int igt_main()
 {
 	int fd = -1;
 	int sysfs = -1;
diff --git a/tests/device_reset.c b/tests/device_reset.c
index e51daacf43fa..62b295a06e9c 100644
--- a/tests/device_reset.c
+++ b/tests/device_reset.c
@@ -439,7 +439,7 @@ static void unbind_reset_rebind(struct device_fds *dev, enum reset type)
 	driver_bind(dev);
 }
 
-igt_main()
+int igt_main()
 {
 	struct device_fds dev = { .fds = {-1, -1, -1}, .dev_bus_addr = {0}, };
 
diff --git a/tests/dmabuf.c b/tests/dmabuf.c
index da8bc0735bf0..322981473313 100644
--- a/tests/dmabuf.c
+++ b/tests/dmabuf.c
@@ -92,7 +92,7 @@ static int wrapper(const char *dynamic_name,
 	return igt_kselftest_execute(tst, tl, NULL, NULL);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_kselftests("dmabuf_selftests", NULL, NULL, NULL, wrapper);
 }
diff --git a/tests/dmabuf_sync_file.c b/tests/dmabuf_sync_file.c
index 18a75f80a3d9..118727697511 100644
--- a/tests/dmabuf_sync_file.c
+++ b/tests/dmabuf_sync_file.c
@@ -354,7 +354,7 @@ static void test_import_multiple(int fd, bool write)
 	igt_assert(!sync_file_busy(write_sync_file));
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/drm_buddy.c b/tests/drm_buddy.c
index 58e7a582c542..dbc7c957d116 100644
--- a/tests/drm_buddy.c
+++ b/tests/drm_buddy.c
@@ -8,7 +8,7 @@
 
 IGT_TEST_DESCRIPTION("Basic sanity check of DRM's buddy allocator (struct drm_buddy)");
 
-igt_main()
+int igt_main()
 {
 	igt_kunit("drm_buddy_test", NULL, NULL);
 }
diff --git a/tests/drm_mm.c b/tests/drm_mm.c
index 58e56058bf1b..48ab2dfeabe1 100644
--- a/tests/drm_mm.c
+++ b/tests/drm_mm.c
@@ -78,7 +78,7 @@
 
 IGT_TEST_DESCRIPTION("Basic sanity check of DRM's range manager (struct drm_mm)");
 
-igt_main()
+int igt_main()
 {
 	igt_kunit("drm_mm_test", NULL, NULL);
 }
diff --git a/tests/drm_read.c b/tests/drm_read.c
index f48cd71ac8ac..151294fa710f 100644
--- a/tests/drm_read.c
+++ b/tests/drm_read.c
@@ -270,7 +270,7 @@ static void test_short_buffer_wakeup(int in, enum pipe pipe)
 	close(w.fd);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_display_t display;
 	struct igt_fb fb;
diff --git a/tests/drm_virtgpu.c b/tests/drm_virtgpu.c
index b632708d104b..f4b35d4dfc74 100644
--- a/tests/drm_virtgpu.c
+++ b/tests/drm_virtgpu.c
@@ -156,7 +156,7 @@ static void create_resource_if_needed(void)
 		 args.res_handle, args.bo_handle);
 }
 
-igt_main() {
+int igt_main() {
 	void *caps_buf = NULL;
 
 	igt_fixture() {
diff --git a/tests/dumb_buffer.c b/tests/dumb_buffer.c
index ae89618bedb1..431568b9a519 100644
--- a/tests/dumb_buffer.c
+++ b/tests/dumb_buffer.c
@@ -389,7 +389,7 @@ static void always_clear(int fd, int timeout)
 	igt_info("Checked %'lu page allocations\n", checked);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/fbdev.c b/tests/fbdev.c
index cb331ba00f0a..a1f855ea477b 100644
--- a/tests/fbdev.c
+++ b/tests/fbdev.c
@@ -452,7 +452,7 @@ static void framebuffer_tests(int fd)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	volatile int fd = -1;
 
diff --git a/tests/intel/api_intel_allocator.c b/tests/intel/api_intel_allocator.c
index 56889fe6cbd6..464576d1bb61 100644
--- a/tests/intel/api_intel_allocator.c
+++ b/tests/intel/api_intel_allocator.c
@@ -810,7 +810,7 @@ struct allocators {
 	{NULL, 0},
 };
 
-igt_main()
+int igt_main()
 {
 	int fd;
 	struct allocators *a;
diff --git a/tests/intel/api_intel_bb.c b/tests/intel/api_intel_bb.c
index 735ca8194547..67e923cef3ac 100644
--- a/tests/intel/api_intel_bb.c
+++ b/tests/intel/api_intel_bb.c
@@ -1579,7 +1579,7 @@ const char *help_str =
 	"  -c n\tCalculate crc up to (1 << n)\n"
 	;
 
-igt_main_args("dpibc:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("dpibc:", NULL, help_str, opt_handler, NULL)
 {
 	int i915, i, gen;
 	struct buf_ops *bops;
diff --git a/tests/intel/gem_bad_reloc.c b/tests/intel/gem_bad_reloc.c
index a3219827f544..8a5f4eae41c2 100644
--- a/tests/intel/gem_bad_reloc.c
+++ b/tests/intel/gem_bad_reloc.c
@@ -206,7 +206,7 @@ static void negative_reloc_blt(int fd)
 		igt_assert_eq(buf[i], 0xc0ffee ^ i);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/intel/gem_barrier_race.c b/tests/intel/gem_barrier_race.c
index e47f9cd82760..ab8732ee943d 100644
--- a/tests/intel/gem_barrier_race.c
+++ b/tests/intel/gem_barrier_race.c
@@ -143,7 +143,7 @@ static void test_remote_request(int fd, uint64_t engine, unsigned int timeout)
 	munmap(done, 4096);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/intel/gem_basic.c b/tests/intel/gem_basic.c
index 94ba793721c2..602269b49272 100644
--- a/tests/intel/gem_basic.c
+++ b/tests/intel/gem_basic.c
@@ -105,7 +105,7 @@ test_create_fd_close(int fd)
 	close(fd);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fd_t(fd);
 	int gpu_count;
diff --git a/tests/intel/gem_blits.c b/tests/intel/gem_blits.c
index 236b22a44d20..3f7fb1564949 100644
--- a/tests/intel/gem_blits.c
+++ b/tests/intel/gem_blits.c
@@ -820,7 +820,7 @@ static bool blit_supports_tiling(int fd, enum blt_tiling_type tiling)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	struct device device;
 
diff --git a/tests/intel/gem_busy.c b/tests/intel/gem_busy.c
index 13b8ad8441bf..55140284733c 100644
--- a/tests/intel/gem_busy.c
+++ b/tests/intel/gem_busy.c
@@ -469,7 +469,7 @@ static void all(int i915, const intel_ctx_t *ctx)
 		for_each_if (gem_class_can_store_dword(i915, (e)->class)) \
 			igt_dynamic_f("%s", (e)->name)
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_caching.c b/tests/intel/gem_caching.c
index 0a613dbf0be8..ca6229a9a0de 100644
--- a/tests/intel/gem_caching.c
+++ b/tests/intel/gem_caching.c
@@ -155,7 +155,7 @@ blt_bo_fill(data_t *data, struct intel_bb *ibb, struct intel_buf *tmp_bo,
 #define TEST_READ 0x1
 #define TEST_WRITE 0x2
 #define TEST_BOTH (TEST_READ | TEST_WRITE)
-igt_main()
+int igt_main()
 {
 	struct intel_buf *scratch_buf, *staging_buf;
 	struct intel_bb *ibb;
diff --git a/tests/intel/gem_ccs.c b/tests/intel/gem_ccs.c
index ca7f94385444..838a1d712b41 100644
--- a/tests/intel/gem_ccs.c
+++ b/tests/intel/gem_ccs.c
@@ -766,7 +766,7 @@ const char *help_str =
 	"  -H\tHeight (default 512)"
 	;
 
-igt_main_args("bf:pst:W:H:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("bf:pst:W:H:", NULL, help_str, opt_handler, NULL)
 {
 	struct drm_i915_query_memory_regions *query_info;
 	struct igt_collection *set;
diff --git a/tests/intel/gem_close.c b/tests/intel/gem_close.c
index fa99bb8c1f5b..23bfe25dd015 100644
--- a/tests/intel/gem_close.c
+++ b/tests/intel/gem_close.c
@@ -137,7 +137,7 @@ static void test_many_handles(int fd)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fd_t(fd);
 
diff --git a/tests/intel/gem_close_race.c b/tests/intel/gem_close_race.c
index 2359671ebe0a..b2688774d7f0 100644
--- a/tests/intel/gem_close_race.c
+++ b/tests/intel/gem_close_race.c
@@ -336,7 +336,7 @@ static void threads(int timeout, unsigned int flags)
 	drm_close_driver(fd);
 }
 
-igt_main()
+int igt_main()
 {
 	int gpu_count;
 
diff --git a/tests/intel/gem_compute.c b/tests/intel/gem_compute.c
index ad5542c140fe..2cabbcd0b019 100644
--- a/tests/intel/gem_compute.c
+++ b/tests/intel/gem_compute.c
@@ -31,7 +31,7 @@ test_compute_square(int fd)
 		      "GPU not supported\n");
 }
 
-igt_main()
+int igt_main()
 {
 	int i915;
 
diff --git a/tests/intel/gem_concurrent_all.c b/tests/intel/gem_concurrent_all.c
index 65db04bfee97..6418883317a7 100644
--- a/tests/intel/gem_concurrent_all.c
+++ b/tests/intel/gem_concurrent_all.c
@@ -1775,7 +1775,7 @@ num_buffers(uint64_t max,
 	return n;
 }
 
-igt_main()
+int igt_main()
 {
 	const struct access_mode modes[] = {
 		{
diff --git a/tests/intel/gem_create.c b/tests/intel/gem_create.c
index 87490b3757c1..51ae3e90b427 100644
--- a/tests/intel/gem_create.c
+++ b/tests/intel/gem_create.c
@@ -946,7 +946,7 @@ static void create_ext_cpu_access_big(int fd)
 	free(regions);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fd_t(fd);
 
diff --git a/tests/intel/gem_cs_tlb.c b/tests/intel/gem_cs_tlb.c
index fd40d6484f24..cf7c46509881 100644
--- a/tests/intel/gem_cs_tlb.c
+++ b/tests/intel/gem_cs_tlb.c
@@ -154,7 +154,7 @@ static void run_on_ring(int fd, const intel_ctx_t *ctx,
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_ctx_bad_destroy.c b/tests/intel/gem_ctx_bad_destroy.c
index 83e56420be3d..c77414355b3f 100644
--- a/tests/intel/gem_ctx_bad_destroy.c
+++ b/tests/intel/gem_ctx_bad_destroy.c
@@ -58,7 +58,7 @@ IGT_TEST_DESCRIPTION("Negative test cases for destroy contexts.");
 uint32_t ctx_id;
 int fd;
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		fd = drm_open_driver_render(DRIVER_INTEL);
diff --git a/tests/intel/gem_ctx_create.c b/tests/intel/gem_ctx_create.c
index 6bebc290d249..be7d4657110c 100644
--- a/tests/intel/gem_ctx_create.c
+++ b/tests/intel/gem_ctx_create.c
@@ -614,7 +614,7 @@ static void iris_pipeline(int i915)
 #endif /* I915_DEFINE_CONTEXT_PARAM_ENGINES */
 }
 
-igt_main()
+int igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	struct drm_i915_gem_context_create create;
diff --git a/tests/intel/gem_ctx_engines.c b/tests/intel/gem_ctx_engines.c
index b626094875ca..de1935ec57ce 100644
--- a/tests/intel/gem_ctx_engines.c
+++ b/tests/intel/gem_ctx_engines.c
@@ -609,7 +609,7 @@ static void independent_all(int i915, const intel_ctx_t *ctx)
 	igt_waitchildren();
 }
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	igt_fd_t(i915);
diff --git a/tests/intel/gem_ctx_exec.c b/tests/intel/gem_ctx_exec.c
index 481bd18323f3..dd4369e28559 100644
--- a/tests/intel/gem_ctx_exec.c
+++ b/tests/intel/gem_ctx_exec.c
@@ -486,7 +486,7 @@ static void close_race(int i915)
 	munmap(ctx_id, 4096);
 }
 
-igt_main()
+int igt_main()
 {
 	const uint32_t batch[2] = { 0, MI_BATCH_BUFFER_END };
 	uint32_t handle;
diff --git a/tests/intel/gem_ctx_freq.c b/tests/intel/gem_ctx_freq.c
index 3fb87b79fd34..c11cd53c2d95 100644
--- a/tests/intel/gem_ctx_freq.c
+++ b/tests/intel/gem_ctx_freq.c
@@ -260,7 +260,7 @@ static void disable_boost(void)
 		__disable_boost(dirfd);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		i915 = drm_open_driver(DRIVER_INTEL);
diff --git a/tests/intel/gem_ctx_isolation.c b/tests/intel/gem_ctx_isolation.c
index 1337b86a05e0..e1585cbc67b3 100644
--- a/tests/intel/gem_ctx_isolation.c
+++ b/tests/intel/gem_ctx_isolation.c
@@ -1004,7 +1004,7 @@ static unsigned int __has_context_isolation(int fd)
 		for_each_if(mask & (1 << (e)->class)) \
 			igt_dynamic_f("%s", (e)->name)
 
-igt_main()
+int igt_main()
 {
 	unsigned int has_context_isolation = 0;
 	const struct intel_execution_engine2 *e;
diff --git a/tests/intel/gem_ctx_param.c b/tests/intel/gem_ctx_param.c
index 5da9522f51b6..30463209be9b 100644
--- a/tests/intel/gem_ctx_param.c
+++ b/tests/intel/gem_ctx_param.c
@@ -372,7 +372,7 @@ static void test_get_invalid_param(int fd, uint64_t param)
 	igt_assert_eq(err, -EINVAL);
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_i915_gem_context_param arg;
 	int fd;
diff --git a/tests/intel/gem_ctx_persistence.c b/tests/intel/gem_ctx_persistence.c
index 379a82d42185..6645743a977b 100644
--- a/tests/intel/gem_ctx_persistence.c
+++ b/tests/intel/gem_ctx_persistence.c
@@ -1331,7 +1331,7 @@ static void exit_handler(int sig)
 	enable_hangcheck(i915);
 }
 
-igt_main()
+int igt_main()
 {
 	const intel_ctx_cfg_t empty_cfg = {};
 	struct {
diff --git a/tests/intel/gem_ctx_shared.c b/tests/intel/gem_ctx_shared.c
index c9af1ae0a813..fc15ecd1fd3d 100644
--- a/tests/intel/gem_ctx_shared.c
+++ b/tests/intel/gem_ctx_shared.c
@@ -1023,7 +1023,7 @@ static void smoketest(int i915, const intel_ctx_cfg_t *cfg,
 			    !gem_engine_can_block_ggtt_binder(i915, e)) \
 			igt_dynamic_f("%s", e->name)
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	intel_ctx_cfg_t cfg;
diff --git a/tests/intel/gem_ctx_sseu.c b/tests/intel/gem_ctx_sseu.c
index aa4e8472761a..20ab14784a7f 100644
--- a/tests/intel/gem_ctx_sseu.c
+++ b/tests/intel/gem_ctx_sseu.c
@@ -514,7 +514,7 @@ out:
 	gem_context_destroy(fd, arg.ctx_id);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/intel/gem_ctx_switch.c b/tests/intel/gem_ctx_switch.c
index 270d4c8cc0ba..2c1b84bbef70 100644
--- a/tests/intel/gem_ctx_switch.c
+++ b/tests/intel/gem_ctx_switch.c
@@ -686,7 +686,7 @@ has_queues(int fd)
 	return gem_has_vm(fd) && gem_context_has_single_timeline(fd);
 }
 
-igt_main()
+int igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	const struct intel_execution_engine2 *e2;
diff --git a/tests/intel/gem_eio.c b/tests/intel/gem_eio.c
index fafed9205ad0..290f3e2e870f 100644
--- a/tests/intel/gem_eio.c
+++ b/tests/intel/gem_eio.c
@@ -1102,7 +1102,7 @@ exit_handler(int sig)
 	igt_force_gpu_reset(fd);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
diff --git a/tests/intel/gem_evict_alignment.c b/tests/intel/gem_evict_alignment.c
index acea339166a4..0c1f4ac5294a 100644
--- a/tests/intel/gem_evict_alignment.c
+++ b/tests/intel/gem_evict_alignment.c
@@ -209,7 +209,7 @@ static void major_evictions(int fd, uint64_t size, uint64_t count)
 
 #define MAX_32b ((1ull << 32) - 4096)
 
-igt_main()
+int igt_main()
 {
 	uint64_t size, count;
 	int fd = -1;
diff --git a/tests/intel/gem_evict_everything.c b/tests/intel/gem_evict_everything.c
index 40d79a52c1e8..28ac675132a8 100644
--- a/tests/intel/gem_evict_everything.c
+++ b/tests/intel/gem_evict_everything.c
@@ -241,7 +241,7 @@ static void test_major_evictions(int fd, uint64_t size, uint64_t count)
 
 #define MAX_32b ((1ull << 32) - 4096)
 
-igt_main()
+int igt_main()
 {
 	uint64_t size, count;
 	int fd;
diff --git a/tests/intel/gem_exec_alignment.c b/tests/intel/gem_exec_alignment.c
index 628b4d226368..a71e180b4217 100644
--- a/tests/intel/gem_exec_alignment.c
+++ b/tests/intel/gem_exec_alignment.c
@@ -548,7 +548,7 @@ static void single(int fd)
 	gem_close(fd, execobj.handle);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fd_t(fd);
 
diff --git a/tests/intel/gem_exec_async.c b/tests/intel/gem_exec_async.c
index a3d5705dde34..9af06bb419ee 100644
--- a/tests/intel/gem_exec_async.c
+++ b/tests/intel/gem_exec_async.c
@@ -189,7 +189,7 @@ static bool has_async_execbuf(int fd)
 	igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \
 		igt_dynamic_f("%s", (e)->name)
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_await.c b/tests/intel/gem_exec_await.c
index 66dfbc3d4a16..6a71893d1461 100644
--- a/tests/intel/gem_exec_await.c
+++ b/tests/intel/gem_exec_await.c
@@ -251,7 +251,7 @@ static void wide(int fd, intel_ctx_cfg_t *cfg, int ring_size,
 
 #define TIMEOUT 20
 
-igt_main()
+int igt_main()
 {
 	intel_ctx_cfg_t cfg;
 	int ring_size = 0;
diff --git a/tests/intel/gem_exec_balancer.c b/tests/intel/gem_exec_balancer.c
index ce9859420b71..19c612bb35bd 100644
--- a/tests/intel/gem_exec_balancer.c
+++ b/tests/intel/gem_exec_balancer.c
@@ -3409,7 +3409,7 @@ static bool has_parallel_execbuf(int i915)
 	return false;
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fd_t(i915);
 
diff --git a/tests/intel/gem_exec_basic.c b/tests/intel/gem_exec_basic.c
index b4afd440b540..a99d407ae8cf 100644
--- a/tests/intel/gem_exec_basic.c
+++ b/tests/intel/gem_exec_basic.c
@@ -53,7 +53,7 @@ static uint32_t batch_create(int fd, uint64_t *batch_size, uint32_t region)
 	return handle;
 }
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	struct drm_i915_query_memory_regions *query_info;
diff --git a/tests/intel/gem_exec_big.c b/tests/intel/gem_exec_big.c
index 5050364624ae..5430af47e2e2 100644
--- a/tests/intel/gem_exec_big.c
+++ b/tests/intel/gem_exec_big.c
@@ -318,7 +318,7 @@ static void single(int i915)
 		munmap(ptr, batch_size);
 }
 
-igt_main()
+int igt_main()
 {
 	int i915 = -1;
 
diff --git a/tests/intel/gem_exec_capture.c b/tests/intel/gem_exec_capture.c
index a424480ac3ce..15058e28db06 100644
--- a/tests/intel/gem_exec_capture.c
+++ b/tests/intel/gem_exec_capture.c
@@ -955,7 +955,7 @@ static size_t safer_strlen(const char *s)
 	igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \
 		for_each_if(gem_class_can_store_dword(i915, (e)->class)) \
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_create.c b/tests/intel/gem_exec_create.c
index 6e7553b2b08c..54ef82c3e843 100644
--- a/tests/intel/gem_exec_create.c
+++ b/tests/intel/gem_exec_create.c
@@ -176,7 +176,7 @@ static void all(int fd, unsigned flags, int timeout, int ncpus, uint32_t region)
 	intel_ctx_destroy(fd, ctx);
 }
 
-igt_main()
+int igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	struct drm_i915_query_memory_regions *query_info;
diff --git a/tests/intel/gem_exec_endless.c b/tests/intel/gem_exec_endless.c
index db6f0bcd8128..7f35e985c50d 100644
--- a/tests/intel/gem_exec_endless.c
+++ b/tests/intel/gem_exec_endless.c
@@ -341,7 +341,7 @@ static void unpin_rps(int sysfs)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	igt_fd_t(i915);
diff --git a/tests/intel/gem_exec_fair.c b/tests/intel/gem_exec_fair.c
index b73a1771d5f1..ac23714b7c5f 100644
--- a/tests/intel/gem_exec_fair.c
+++ b/tests/intel/gem_exec_fair.c
@@ -1289,7 +1289,7 @@ static bool set_heartbeat(int i915, const char *name, unsigned int value)
 	return true;
 }
 
-igt_main()
+int igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/gem_exec_fence.c b/tests/intel/gem_exec_fence.c
index ed9232629f1c..bc2755031a2c 100644
--- a/tests/intel/gem_exec_fence.c
+++ b/tests/intel/gem_exec_fence.c
@@ -3155,7 +3155,7 @@ static void test_syncobj_backward_timeline_chain_engines(int fd, const intel_ctx
 	teardown_timeline_chain_engines(&ctx);
 }
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_flush.c b/tests/intel/gem_exec_flush.c
index 437572f6c0f7..cd8d32810f15 100644
--- a/tests/intel/gem_exec_flush.c
+++ b/tests/intel/gem_exec_flush.c
@@ -2074,7 +2074,7 @@ static const char *yesno(bool x)
 	return x ? "yes" : "no";
 }
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_ring *e;
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
diff --git a/tests/intel/gem_exec_gttfill.c b/tests/intel/gem_exec_gttfill.c
index fe0df37eb790..4275d2beacd5 100644
--- a/tests/intel/gem_exec_gttfill.c
+++ b/tests/intel/gem_exec_gttfill.c
@@ -244,7 +244,7 @@ static void fillgtt(int fd, const intel_ctx_t *ctx, unsigned ring, int timeout)
 	igt_assert_eq(intel_detect_and_clear_missed_interrupts(fd), 0);
 }
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_latency.c b/tests/intel/gem_exec_latency.c
index ca4986f09cf5..36ad5d23a29b 100644
--- a/tests/intel/gem_exec_latency.c
+++ b/tests/intel/gem_exec_latency.c
@@ -928,7 +928,7 @@ static double clockrate(int i915, int reg)
 		for_each_if(gem_class_can_store_dword(i915, (e)->class)) \
 			igt_dynamic_f("%s", (e)->name)
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_nop.c b/tests/intel/gem_exec_nop.c
index 10d3258441b0..975ec35d0a6d 100644
--- a/tests/intel/gem_exec_nop.c
+++ b/tests/intel/gem_exec_nop.c
@@ -1000,7 +1000,7 @@ static void preempt(int fd, uint32_t handle,
 		 e->name, count, elapsed(&start, &now)*1e6 / count);
 }
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_parallel.c b/tests/intel/gem_exec_parallel.c
index 3f75ed93d2ea..3cdae115651b 100644
--- a/tests/intel/gem_exec_parallel.c
+++ b/tests/intel/gem_exec_parallel.c
@@ -336,7 +336,7 @@ static void all(int fd, const intel_ctx_t *ctx,
 	free(threads);
 }
 
-igt_main()
+int igt_main()
 {
 	struct intel_execution_engine2 *e;
 
diff --git a/tests/intel/gem_exec_params.c b/tests/intel/gem_exec_params.c
index ec771100123d..3ba4c530b17c 100644
--- a/tests/intel/gem_exec_params.c
+++ b/tests/intel/gem_exec_params.c
@@ -449,7 +449,7 @@ uint32_t batch[2] = {MI_BATCH_BUFFER_END};
 uint32_t handle, devid;
 int fd;
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
diff --git a/tests/intel/gem_exec_reloc.c b/tests/intel/gem_exec_reloc.c
index 19a059c39fc5..5b51d7b384bb 100644
--- a/tests/intel/gem_exec_reloc.c
+++ b/tests/intel/gem_exec_reloc.c
@@ -1625,7 +1625,7 @@ static void invalid_domains(int fd)
 	gem_close(fd, obj[0].handle);
 }
 
-igt_main()
+int igt_main()
 {
 	const intel_ctx_t *ctx;
 	const struct intel_execution_engine2 *e;
diff --git a/tests/intel/gem_exec_schedule.c b/tests/intel/gem_exec_schedule.c
index a8701a57e67e..da88e81a640d 100644
--- a/tests/intel/gem_exec_schedule.c
+++ b/tests/intel/gem_exec_schedule.c
@@ -3202,7 +3202,7 @@ static void fairslice(int i915, const intel_ctx_cfg_t *cfg,
 			    !gem_engine_can_block_ggtt_binder(i915, e)) \
 		igt_dynamic_f("%s", e->name)
 
-igt_main()
+int igt_main()
 {
 	int fd = -1;
 	const intel_ctx_t *ctx = NULL;
diff --git a/tests/intel/gem_exec_store.c b/tests/intel/gem_exec_store.c
index c2ac27ff5bcc..01569ddd6709 100644
--- a/tests/intel/gem_exec_store.c
+++ b/tests/intel/gem_exec_store.c
@@ -437,7 +437,7 @@ static void print_welcome(int fd)
 		for_each_if(gem_class_can_store_dword(i915, (e)->class)) \
 			igt_dynamic_f("%s", (e)->name)
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_exec_suspend.c b/tests/intel/gem_exec_suspend.c
index a93fb1d0f699..de81e1ef1454 100644
--- a/tests/intel/gem_exec_suspend.c
+++ b/tests/intel/gem_exec_suspend.c
@@ -351,7 +351,7 @@ static void power_test(int i915, const intel_ctx_t *ctx,
 		 d_charge(&after, &before) * 3600 / d_time(&after, &before));
 }
 
-igt_main()
+int igt_main()
 {
 	const struct {
 		const char *suffix;
diff --git a/tests/intel/gem_exec_whisper.c b/tests/intel/gem_exec_whisper.c
index 8f195adb39eb..1d01577b47a3 100644
--- a/tests/intel/gem_exec_whisper.c
+++ b/tests/intel/gem_exec_whisper.c
@@ -679,7 +679,7 @@ static void whisper(int fd, const intel_ctx_t *ctx,
 	close(debugfs);
 }
 
-igt_main()
+int igt_main()
 {
 	const struct mode {
 		const char *name;
diff --git a/tests/intel/gem_exercise_blt.c b/tests/intel/gem_exercise_blt.c
index 11d5294c83bc..49347ff0ab62 100644
--- a/tests/intel/gem_exercise_blt.c
+++ b/tests/intel/gem_exercise_blt.c
@@ -366,7 +366,7 @@ const char *help_str =
 	"  -H\tHeight (default 512)"
 	;
 
-igt_main_args("b:pst:W:H:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("b:pst:W:H:", NULL, help_str, opt_handler, NULL)
 {
 	struct drm_i915_query_memory_regions *query_info;
 	struct igt_collection *set;
diff --git a/tests/intel/gem_fence_thrash.c b/tests/intel/gem_fence_thrash.c
index fed680c800ed..ce2e480d02e7 100644
--- a/tests/intel/gem_fence_thrash.c
+++ b/tests/intel/gem_fence_thrash.c
@@ -252,7 +252,7 @@ static int run_test(int threads_per_fence, void *f, int tiling,
 	return 0;
 }
 
-igt_main()
+int igt_main()
 {
 	igt_subtest("bo-write-verify-none")
 		igt_assert(run_test(0, bo_write_verify, I915_TILING_NONE, 80) == 0);
diff --git a/tests/intel/gem_fence_upload.c b/tests/intel/gem_fence_upload.c
index c41d5784d34c..ac44964454ab 100644
--- a/tests/intel/gem_fence_upload.c
+++ b/tests/intel/gem_fence_upload.c
@@ -407,7 +407,7 @@ static void wc_contention(void)
 	igt_assert(tiled[1] > 0.75 * tiled[0]);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_subtest("performance")
 		performance();
diff --git a/tests/intel/gem_fenced_exec_thrash.c b/tests/intel/gem_fenced_exec_thrash.c
index d52c02b2b8ef..59aa32bbd693 100644
--- a/tests/intel/gem_fenced_exec_thrash.c
+++ b/tests/intel/gem_fenced_exec_thrash.c
@@ -191,7 +191,7 @@ static void run_test(int fd, int num_fences, int expected_errno,
 	put_ahnd(ahnd);
 }
 
-igt_main()
+int igt_main()
 {
 	uint32_t devid = 0;
 	unsigned int num_fences = 0;
diff --git a/tests/intel/gem_flink_basic.c b/tests/intel/gem_flink_basic.c
index ed5135b72120..3f04185bfd8b 100644
--- a/tests/intel/gem_flink_basic.c
+++ b/tests/intel/gem_flink_basic.c
@@ -185,7 +185,7 @@ test_flink_lifetime(int fd)
 	drm_close_driver(fd2);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fd_t(fd);
 
diff --git a/tests/intel/gem_flink_race.c b/tests/intel/gem_flink_race.c
index 0b2b44d30420..6b1b71d0a0a0 100644
--- a/tests/intel/gem_flink_race.c
+++ b/tests/intel/gem_flink_race.c
@@ -213,7 +213,7 @@ static void test_flink_close(void)
 	igt_assert_eq(obj_count, 0);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_subtest("flink_name")
 		test_flink_name(5);
diff --git a/tests/intel/gem_gpgpu_fill.c b/tests/intel/gem_gpgpu_fill.c
index d37e778512e3..bdd96eccda49 100644
--- a/tests/intel/gem_gpgpu_fill.c
+++ b/tests/intel/gem_gpgpu_fill.c
@@ -198,7 +198,7 @@ const char *help_str =
 	;
 
 
-igt_main_args("dW:H:X:Y:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("dW:H:X:Y:", NULL, help_str, opt_handler, NULL)
 {
 	data_t data = {0, };
 	igt_fillfunc_t fill_fn = NULL;
diff --git a/tests/intel/gem_huc_copy.c b/tests/intel/gem_huc_copy.c
index 37a4044a9112..87e206b14162 100644
--- a/tests/intel/gem_huc_copy.c
+++ b/tests/intel/gem_huc_copy.c
@@ -98,7 +98,7 @@ static void test_huc_load(int fd)
 	igt_fail_on_f(status == 0, "HuC firmware is not running!\n");
 }
 
-igt_main()
+int igt_main()
 {
 	int drm_fd = -1;
 	uint32_t devid;
diff --git a/tests/intel/gem_linear_blits.c b/tests/intel/gem_linear_blits.c
index 84d62279e8d5..c1733138b0ca 100644
--- a/tests/intel/gem_linear_blits.c
+++ b/tests/intel/gem_linear_blits.c
@@ -269,7 +269,7 @@ static void run_test(int fd, int count, bool do_relocs)
 
 #define MAX_32b ((1ull << 32) - 4096)
 
-igt_main()
+int igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	uint64_t count = 0;
diff --git a/tests/intel/gem_lmem_evict.c b/tests/intel/gem_lmem_evict.c
index 6472f6fd58cf..beccf00377c2 100644
--- a/tests/intel/gem_lmem_evict.c
+++ b/tests/intel/gem_lmem_evict.c
@@ -93,7 +93,7 @@ static void test_dontneed_evict_race(int fd,
 	gem_close(fd, handle1);
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_i915_query_memory_regions *regions;
 	int i915 = -1;
diff --git a/tests/intel/gem_lmem_swapping.c b/tests/intel/gem_lmem_swapping.c
index 32aa0e2cd76e..adae26716cf4 100644
--- a/tests/intel/gem_lmem_swapping.c
+++ b/tests/intel/gem_lmem_swapping.c
@@ -774,7 +774,7 @@ struct option long_options[] = {
 	{ 0, 0, 0, 0 }
 };
 
-igt_main_args("", long_options, help_str, opt_handler, NULL)
+int igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
 	struct drm_i915_query_memory_regions *regions;
 	struct drm_i915_memory_region_info *region;
diff --git a/tests/intel/gem_madvise.c b/tests/intel/gem_madvise.c
index e726f3b6993f..0f4b497a9bb6 100644
--- a/tests/intel/gem_madvise.c
+++ b/tests/intel/gem_madvise.c
@@ -215,7 +215,7 @@ dontneed_before_exec(void)
 	drm_close_driver(fd);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_describe("Check signal for Segmentation Fault and bus error before"
 		     " obtaining a purgeable object and calling for sighandler.");
diff --git a/tests/intel/gem_media_fill.c b/tests/intel/gem_media_fill.c
index 3496055b790f..5694cf53797f 100644
--- a/tests/intel/gem_media_fill.c
+++ b/tests/intel/gem_media_fill.c
@@ -140,7 +140,7 @@ static void media_fill(data_t *data, igt_fillfunc_t fill,
 	munmap(ptr, buf->surface[0].size);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {0, };
 	igt_fillfunc_t fill_fn = NULL;
diff --git a/tests/intel/gem_mmap.c b/tests/intel/gem_mmap.c
index 11fb5d02655f..9fb18856732a 100644
--- a/tests/intel/gem_mmap.c
+++ b/tests/intel/gem_mmap.c
@@ -203,7 +203,7 @@ static int mmap_ioctl(int i915, struct drm_i915_gem_mmap *arg)
 	return err;
 }
 
-igt_main()
+int igt_main()
 {
 	uint8_t expected[OBJECT_SIZE];
 	uint8_t buf[OBJECT_SIZE];
diff --git a/tests/intel/gem_mmap_gtt.c b/tests/intel/gem_mmap_gtt.c
index 1276d2cf71cf..51f2a5fee52e 100644
--- a/tests/intel/gem_mmap_gtt.c
+++ b/tests/intel/gem_mmap_gtt.c
@@ -1589,7 +1589,7 @@ static int mmap_ioctl(int i915, struct drm_i915_gem_mmap_gtt *arg)
 
 int fd;
 
-igt_main()
+int igt_main()
 {
 	if (igt_run_in_simulation())
 		OBJECT_SIZE = 1 * 1024 * 1024;
diff --git a/tests/intel/gem_mmap_offset.c b/tests/intel/gem_mmap_offset.c
index 977b63da957f..d3c56ab40141 100644
--- a/tests/intel/gem_mmap_offset.c
+++ b/tests/intel/gem_mmap_offset.c
@@ -1145,7 +1145,7 @@ static bool has_mmap_offset(int i915)
 	return mmap_gtt_version(i915) >= 4;
 }
 
-igt_main()
+int igt_main()
 {
 	int i915;
 
diff --git a/tests/intel/gem_mmap_wc.c b/tests/intel/gem_mmap_wc.c
index 2b52a2954e73..c56fefda2f7a 100644
--- a/tests/intel/gem_mmap_wc.c
+++ b/tests/intel/gem_mmap_wc.c
@@ -519,7 +519,7 @@ static int mmap_ioctl(int i915, struct drm_i915_gem_mmap *arg)
 
 int fd;
 
-igt_main()
+int igt_main()
 {
 	if (igt_run_in_simulation())
 		OBJECT_SIZE = 1 * 1024 * 1024;
diff --git a/tests/intel/gem_partial_pwrite_pread.c b/tests/intel/gem_partial_pwrite_pread.c
index a9095df4224f..4125553f0b4b 100644
--- a/tests/intel/gem_partial_pwrite_pread.c
+++ b/tests/intel/gem_partial_pwrite_pread.c
@@ -365,7 +365,7 @@ static void do_tests(data_t *data, int cache_level, const char *suffix)
 		test_partial_read_writes(data);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {0, };
 	srandom(0xdeadbeef);
diff --git a/tests/intel/gem_pipe_control_store_loop.c b/tests/intel/gem_pipe_control_store_loop.c
index 6fce3fc10014..2b42f1d21af7 100644
--- a/tests/intel/gem_pipe_control_store_loop.c
+++ b/tests/intel/gem_pipe_control_store_loop.c
@@ -175,7 +175,7 @@ store_pipe_control_loop(bool preuse_buffer, int timeout)
 int fd;
 uint32_t devid;
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		fd = drm_open_driver(DRIVER_INTEL);
diff --git a/tests/intel/gem_ppgtt.c b/tests/intel/gem_ppgtt.c
index 8e388e31014b..67185de5e78f 100644
--- a/tests/intel/gem_ppgtt.c
+++ b/tests/intel/gem_ppgtt.c
@@ -408,7 +408,7 @@ static bool has_contexts(void)
 	return result;
 }
 
-igt_main()
+int igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 
diff --git a/tests/intel/gem_pread.c b/tests/intel/gem_pread.c
index be83a8de8f59..d31fc1785608 100644
--- a/tests/intel/gem_pread.c
+++ b/tests/intel/gem_pread.c
@@ -298,7 +298,7 @@ static int opt_handler(int opt, int opt_index, void *data)
 
 const char *help_str = "  -s\tObject size in bytes\n";
 
-igt_main_args("s:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("s:", NULL, help_str, opt_handler, NULL)
 {
 	double usecs;
 	char buf[100];
diff --git a/tests/intel/gem_pread_after_blit.c b/tests/intel/gem_pread_after_blit.c
index a0ff7da0a31a..8364e295230d 100644
--- a/tests/intel/gem_pread_after_blit.c
+++ b/tests/intel/gem_pread_after_blit.c
@@ -228,7 +228,7 @@ static void do_test(struct buf_ops *bops, int cache_level,
 	intel_bb_destroy(ibb);
 }
 
-igt_main()
+int igt_main()
 {
 	const uint32_t start[2] = {0, 1024 * 1024 / 4};
 	const struct {
diff --git a/tests/intel/gem_pwrite.c b/tests/intel/gem_pwrite.c
index eb573584f0a8..ed5a949673d6 100644
--- a/tests/intel/gem_pwrite.c
+++ b/tests/intel/gem_pwrite.c
@@ -535,7 +535,7 @@ static int opt_handler(int opt, int opt_index, void *data)
 
 const char *help_str = "  -s\tObject size in bytes\n";
 
-igt_main_args("s:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("s:", NULL, help_str, opt_handler, NULL)
 {
 	double usecs;
 	const char* bps;
diff --git a/tests/intel/gem_pxp.c b/tests/intel/gem_pxp.c
index 0922b3afdce5..b80b7d33ee6c 100644
--- a/tests/intel/gem_pxp.c
+++ b/tests/intel/gem_pxp.c
@@ -1299,7 +1299,7 @@ static void require_init_powermgt(int i915, struct powermgt_data *pm)
 		init_powermgt_resources(i915, pm);
 }
 
-igt_main()
+int igt_main()
 {
 	int i915 = -1;
 	bool pxp_supported = false;
diff --git a/tests/intel/gem_read_read_speed.c b/tests/intel/gem_read_read_speed.c
index 1c80c9e21fe3..965781ddb4af 100644
--- a/tests/intel/gem_read_read_speed.c
+++ b/tests/intel/gem_read_read_speed.c
@@ -242,7 +242,7 @@ static void run(struct buf_ops *bops, int _width, int _height,
 	intel_buf_destroy(bcs);
 }
 
-igt_main()
+int igt_main()
 {
 	const int sizes[] = {128, 256, 512, 1024, 2048, 4096, 8192, 0};
 	struct buf_ops *bops = NULL;
diff --git a/tests/intel/gem_readwrite.c b/tests/intel/gem_readwrite.c
index c3089ceb1716..0902bee91533 100644
--- a/tests/intel/gem_readwrite.c
+++ b/tests/intel/gem_readwrite.c
@@ -95,7 +95,7 @@ do_write(int fd, int handle, void *buf, int offset, int size)
 int fd;
 uint32_t handle;
 
-igt_main()
+int igt_main()
 {
 	uint8_t expected[OBJECT_SIZE];
 	uint8_t buf[OBJECT_SIZE];
diff --git a/tests/intel/gem_reg_read.c b/tests/intel/gem_reg_read.c
index 028f6cd225d4..91570ad4e522 100644
--- a/tests/intel/gem_reg_read.c
+++ b/tests/intel/gem_reg_read.c
@@ -159,7 +159,7 @@ retry:
 
 }
 
-igt_main()
+int igt_main()
 {
 	uint64_t val = 0;
 	int fd = -1;
diff --git a/tests/intel/gem_render_copy.c b/tests/intel/gem_render_copy.c
index fd02df731dc8..5e7941d5a868 100644
--- a/tests/intel/gem_render_copy.c
+++ b/tests/intel/gem_render_copy.c
@@ -716,7 +716,7 @@ static void buf_mode_to_str(uint32_t tiling, bool mixed_tiled,
 		 tiling_str, compression_str[0] ? "-" : "", compression_str);
 }
 
-igt_main_args("dac", NULL, help_str, opt_handler, NULL)
+int igt_main_args("dac", NULL, help_str, opt_handler, NULL)
 {
 	static const struct test_desc {
 		int src_tiling;
diff --git a/tests/intel/gem_render_copy_redux.c b/tests/intel/gem_render_copy_redux.c
index 169feeae5f27..1de300b04bc1 100644
--- a/tests/intel/gem_render_copy_redux.c
+++ b/tests/intel/gem_render_copy_redux.c
@@ -217,7 +217,7 @@ static void copy_flink(data_t *data)
 	data_fini(&local);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {0, };
 
diff --git a/tests/intel/gem_render_linear_blits.c b/tests/intel/gem_render_linear_blits.c
index bf49a4a990c2..80355f85e71e 100644
--- a/tests/intel/gem_render_linear_blits.c
+++ b/tests/intel/gem_render_linear_blits.c
@@ -178,7 +178,7 @@ static void run_test (int fd, int count)
 	buf_ops_destroy(bops);
 }
 
-igt_main()
+int igt_main()
 {
 	static int fd = 0;
 	int count=0;
diff --git a/tests/intel/gem_render_tiled_blits.c b/tests/intel/gem_render_tiled_blits.c
index 7b82e7b28c4c..62a2f7a8bf1f 100644
--- a/tests/intel/gem_render_tiled_blits.c
+++ b/tests/intel/gem_render_tiled_blits.c
@@ -229,7 +229,7 @@ static void run_test (int fd, int count)
 }
 
 
-igt_main()
+int igt_main()
 {
 	int fd = 0;
 	int count = 0;
diff --git a/tests/intel/gem_request_retire.c b/tests/intel/gem_request_retire.c
index b1de40563d61..67db1eb5d1f5 100644
--- a/tests/intel/gem_request_retire.c
+++ b/tests/intel/gem_request_retire.c
@@ -116,7 +116,7 @@ test_retire_vma_not_inactive(int fd)
 	put_ahnd(ahnd);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fd_t(fd);
 
diff --git a/tests/intel/gem_reset_stats.c b/tests/intel/gem_reset_stats.c
index 02ab8076c57a..b6cd440011aa 100644
--- a/tests/intel/gem_reset_stats.c
+++ b/tests/intel/gem_reset_stats.c
@@ -1080,7 +1080,7 @@ static void test_shared_reset_domain(const intel_ctx_cfg_t *base_cfg,
 #define RUN_TEST(...) do { sync_gpu(); __VA_ARGS__; sync_gpu(); } while (0)
 #define RUN_CTX_TEST(...) do { check_context(e); RUN_TEST(__VA_ARGS__); } while (0)
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_ring *e;
 
diff --git a/tests/intel/gem_ringfill.c b/tests/intel/gem_ringfill.c
index 233a6eae12c3..7d0be81de77e 100644
--- a/tests/intel/gem_ringfill.c
+++ b/tests/intel/gem_ringfill.c
@@ -391,7 +391,7 @@ static bool has_lut_handle(int i915)
 	return result;
 }
 
-igt_main()
+int igt_main()
 {
 	const struct {
 		const char *suffix;
diff --git a/tests/intel/gem_set_tiling_vs_blt.c b/tests/intel/gem_set_tiling_vs_blt.c
index e63958a8e056..ec08e1c136f8 100644
--- a/tests/intel/gem_set_tiling_vs_blt.c
+++ b/tests/intel/gem_set_tiling_vs_blt.c
@@ -234,7 +234,7 @@ static void do_test(struct buf_ops *bops, uint32_t tiling, unsigned stride,
 	igt_info("done\n");
 }
 
-igt_main()
+int igt_main()
 {
 	int fd, i;
 	uint32_t tiling, tiling_after;
diff --git a/tests/intel/gem_shrink.c b/tests/intel/gem_shrink.c
index c332c084c302..471edf007311 100644
--- a/tests/intel/gem_shrink.c
+++ b/tests/intel/gem_shrink.c
@@ -513,7 +513,7 @@ static void reclaim(unsigned engine, int timeout)
 	drm_close_driver(fd);
 }
 
-igt_main()
+int igt_main()
 {
 	const struct test {
 		const char *name;
diff --git a/tests/intel/gem_softpin.c b/tests/intel/gem_softpin.c
index a86151a14e9b..7b3fc26deaed 100644
--- a/tests/intel/gem_softpin.c
+++ b/tests/intel/gem_softpin.c
@@ -1464,7 +1464,7 @@ static void safe_alignment(int i915)
 	igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \
 		igt_dynamic_f("%s", e->name)
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	int fd = -1;
diff --git a/tests/intel/gem_spin_batch.c b/tests/intel/gem_spin_batch.c
index 7aaa26fde61e..b9143ee4eb1e 100644
--- a/tests/intel/gem_spin_batch.c
+++ b/tests/intel/gem_spin_batch.c
@@ -241,7 +241,7 @@ static bool has_userptr(int fd)
 	return err == EFAULT;
 }
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e2;
 	const struct intel_execution_ring *e;
diff --git a/tests/intel/gem_streaming_writes.c b/tests/intel/gem_streaming_writes.c
index 40c158c3fdec..b231bcfef640 100644
--- a/tests/intel/gem_streaming_writes.c
+++ b/tests/intel/gem_streaming_writes.c
@@ -419,7 +419,7 @@ static void test_batch(int fd, int mode, int reverse)
 	gem_close(fd, dst);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd, sync;
 
diff --git a/tests/intel/gem_sync.c b/tests/intel/gem_sync.c
index bf99d695d709..c6063e8f79a9 100644
--- a/tests/intel/gem_sync.c
+++ b/tests/intel/gem_sync.c
@@ -1365,7 +1365,7 @@ preempt(int fd, const intel_ctx_t *ctx, unsigned ring,
 	intel_ctx_destroy(fd, tmp_ctx[0]);
 }
 
-igt_main()
+int igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	const struct {
diff --git a/tests/intel/gem_tiled_blits.c b/tests/intel/gem_tiled_blits.c
index 3345be61ad01..228a423473e0 100644
--- a/tests/intel/gem_tiled_blits.c
+++ b/tests/intel/gem_tiled_blits.c
@@ -185,7 +185,7 @@ static void run_test(int fd, int count)
 
 #define MAX_32b ((1ull << 32) - 4096)
 
-igt_main()
+int igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	uint64_t count = 0;
diff --git a/tests/intel/gem_tiled_fence_blits.c b/tests/intel/gem_tiled_fence_blits.c
index 035716e1f6e8..4eb1194c1bae 100644
--- a/tests/intel/gem_tiled_fence_blits.c
+++ b/tests/intel/gem_tiled_fence_blits.c
@@ -292,7 +292,7 @@ static void run_test(int fd, int count, uint64_t end)
 
 #define MAX_32b ((1ull << 32) - 4096)
 
-igt_main()
+int igt_main()
 {
 	/*
 	 * For machines with many cpu cores buffer verification can take
diff --git a/tests/intel/gem_tiled_partial_pwrite_pread.c b/tests/intel/gem_tiled_partial_pwrite_pread.c
index a1fbb70c078c..075ec2b196fa 100644
--- a/tests/intel/gem_tiled_partial_pwrite_pread.c
+++ b/tests/intel/gem_tiled_partial_pwrite_pread.c
@@ -286,7 +286,7 @@ static bool known_swizzling(uint32_t handle)
 	return arg.phys_swizzle_mode == arg.swizzle_mode;
 }
 
-igt_main()
+int igt_main()
 {
 	srandom(0xdeadbeef);
 
diff --git a/tests/intel/gem_tiled_swapping.c b/tests/intel/gem_tiled_swapping.c
index 7ec468baa837..e6d3d58b7721 100644
--- a/tests/intel/gem_tiled_swapping.c
+++ b/tests/intel/gem_tiled_swapping.c
@@ -176,7 +176,7 @@ static void check_memory_layout(int fd)
 	igt_debug("normal memory configuration detected, continuing\n");
 }
 
-igt_main()
+int igt_main()
 {
 	unsigned long n, count;
 	struct thread *threads;
diff --git a/tests/intel/gem_userptr_blits.c b/tests/intel/gem_userptr_blits.c
index eb5b0d0621c6..d8d227100161 100644
--- a/tests/intel/gem_userptr_blits.c
+++ b/tests/intel/gem_userptr_blits.c
@@ -2497,7 +2497,7 @@ static int opt_handler(int opt, int opt_index, void *data)
 
 const char *help_str = "  -c\tBuffer count\n";
 
-igt_main_args("c:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 {
 	int size = sizeof(linear);
 	igt_fd_t(fd);
diff --git a/tests/intel/gem_vm_create.c b/tests/intel/gem_vm_create.c
index ae9fc828a60b..c30be7fcabb5 100644
--- a/tests/intel/gem_vm_create.c
+++ b/tests/intel/gem_vm_create.c
@@ -380,7 +380,7 @@ static void isolation(int i915)
 	gem_vm_destroy(i915, vm[0]);
 }
 
-igt_main()
+int igt_main()
 {
 	int i915 = -1;
 
diff --git a/tests/intel/gem_wait.c b/tests/intel/gem_wait.c
index eb7cc3956255..7983c1d30fa9 100644
--- a/tests/intel/gem_wait.c
+++ b/tests/intel/gem_wait.c
@@ -229,7 +229,7 @@ static void test_all_engines(const char *name, int i915, const intel_ctx_t *ctx,
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	const intel_ctx_t *ctx;
 	int fd = -1;
diff --git a/tests/intel/gem_watchdog.c b/tests/intel/gem_watchdog.c
index 974aba7fe1e8..efa9ebebe710 100644
--- a/tests/intel/gem_watchdog.c
+++ b/tests/intel/gem_watchdog.c
@@ -553,7 +553,7 @@ far_fence(int i915, int timeout, const intel_ctx_t *ctx,
 	close(fence);
 }
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
diff --git a/tests/intel/gem_workarounds.c b/tests/intel/gem_workarounds.c
index b5440840e282..07f0a7da6823 100644
--- a/tests/intel/gem_workarounds.c
+++ b/tests/intel/gem_workarounds.c
@@ -276,7 +276,7 @@ static void check_workarounds(int fd, enum operation op, unsigned int flags)
 		drm_close_driver(fd);
 }
 
-igt_main()
+int igt_main()
 {
 	struct intel_mmio_data mmio_data;
 	const struct {
diff --git a/tests/intel/gen7_exec_parse.c b/tests/intel/gen7_exec_parse.c
index 671cbd12426e..b9f5de2343e8 100644
--- a/tests/intel/gen7_exec_parse.c
+++ b/tests/intel/gen7_exec_parse.c
@@ -482,7 +482,7 @@ static void hsw_load_register_reg(void)
 	drm_close_driver(fd);
 }
 
-igt_main()
+int igt_main()
 {
 	uint32_t handle;
 	int fd;
diff --git a/tests/intel/gen9_exec_parse.c b/tests/intel/gen9_exec_parse.c
index e7f65dd6af2b..961bf5e462d3 100644
--- a/tests/intel/gen9_exec_parse.c
+++ b/tests/intel/gen9_exec_parse.c
@@ -1206,7 +1206,7 @@ static void test_shadow_peek(int fd)
 		gem_close(fd, exec[i].handle);
 }
 
-igt_main()
+int igt_main()
 {
 	uint32_t handle;
 	int i915;
diff --git a/tests/intel/i915_drm_fdinfo.c b/tests/intel/i915_drm_fdinfo.c
index 94b009b80f14..d8158afdfe06 100644
--- a/tests/intel/i915_drm_fdinfo.c
+++ b/tests/intel/i915_drm_fdinfo.c
@@ -930,7 +930,7 @@ test_memory(int i915, struct gem_memory_region *mr, unsigned int flags)
 	igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \
 		igt_dynamic_f("%s", e->name)
 
-igt_main()
+int igt_main()
 {
 	unsigned int num_engines = 0, num_classes = 0;
 	const struct intel_execution_engine2 *e;
diff --git a/tests/intel/i915_fb_tiling.c b/tests/intel/i915_fb_tiling.c
index 23ee053d0d51..cc7d4e78ba43 100644
--- a/tests/intel/i915_fb_tiling.c
+++ b/tests/intel/i915_fb_tiling.c
@@ -37,7 +37,7 @@
 
 IGT_TEST_DESCRIPTION("Object tiling must be fixed after framebuffer creation.");
 
-igt_main()
+int igt_main()
 {
 	int drm_fd;
 	struct igt_fb fb;
diff --git a/tests/intel/i915_getparams_basic.c b/tests/intel/i915_getparams_basic.c
index 59f97bd65a1d..abd5dd57a956 100644
--- a/tests/intel/i915_getparams_basic.c
+++ b/tests/intel/i915_getparams_basic.c
@@ -162,7 +162,7 @@ exit_handler(int sig)
 	deinit();
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		igt_install_exit_handler(exit_handler);
diff --git a/tests/intel/i915_hangman.c b/tests/intel/i915_hangman.c
index dc18eb3a82de..9414641a4689 100644
--- a/tests/intel/i915_hangman.c
+++ b/tests/intel/i915_hangman.c
@@ -567,7 +567,7 @@ static void do_tests(const char *name, const char *prefix,
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	const intel_ctx_t *ctx;
 	igt_hang_t hang = {};
diff --git a/tests/intel/i915_module_load.c b/tests/intel/i915_module_load.c
index be908c4a9ba9..0c83d6701792 100644
--- a/tests/intel/i915_module_load.c
+++ b/tests/intel/i915_module_load.c
@@ -361,7 +361,7 @@ static uint32_t  driver_load_with_lmem_bar_size(uint32_t lmem_bar_size, bool che
 	return lmem_bar_size;
 }
 
-igt_main()
+int igt_main()
 {
 	igt_describe("Check if i915 and friends are not yet loaded, then load them.");
 	igt_subtest("load") {
diff --git a/tests/intel/i915_pm_freq_api.c b/tests/intel/i915_pm_freq_api.c
index a41b0e658df7..837f239a1a7f 100644
--- a/tests/intel/i915_pm_freq_api.c
+++ b/tests/intel/i915_pm_freq_api.c
@@ -159,7 +159,7 @@ static void restore_sysfs_freq(int sig)
 	drm_close_driver(i915);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		int num_gts, dirfd, gt;
diff --git a/tests/intel/i915_pm_freq_mult.c b/tests/intel/i915_pm_freq_mult.c
index 0e8f6a255008..5cad54f2263c 100644
--- a/tests/intel/i915_pm_freq_mult.c
+++ b/tests/intel/i915_pm_freq_mult.c
@@ -164,7 +164,7 @@ static void media_freq(int gt, int dir)
 	cleanup(dir);
 }
 
-igt_main()
+int igt_main()
 {
 	int dir, gt;
 
diff --git a/tests/intel/i915_pm_rc6_residency.c b/tests/intel/i915_pm_rc6_residency.c
index 22267b7c26e5..346796fb2e53 100644
--- a/tests/intel/i915_pm_rc6_residency.c
+++ b/tests/intel/i915_pm_rc6_residency.c
@@ -601,7 +601,7 @@ static unsigned int rc6_enabled_mask(int i915, int dirfd)
 	return get_rc6_enabled_mask(dirfd);
 }
 
-igt_main()
+int igt_main()
 {
 	int i915 = -1;
 	unsigned int dirfd, gt;
diff --git a/tests/intel/i915_pm_rpm.c b/tests/intel/i915_pm_rpm.c
index 6aa165bf962b..778f46dbcfb9 100644
--- a/tests/intel/i915_pm_rpm.c
+++ b/tests/intel/i915_pm_rpm.c
@@ -1344,7 +1344,7 @@ static struct option long_options[] = {
 	{ 0, 0, 0, 0 }
 };
 
-igt_main_args("", long_options, help_str, opt_handler, NULL)
+int igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
 	/* Skip instead of failing in case the machine is not prepared to reach
 	 * PC8+. We don't want bug reports from cases where the machine is just
diff --git a/tests/intel/i915_pm_rps.c b/tests/intel/i915_pm_rps.c
index 8c3089b56d6d..f97a716bec08 100644
--- a/tests/intel/i915_pm_rps.c
+++ b/tests/intel/i915_pm_rps.c
@@ -1201,7 +1201,7 @@ static void read_sysfs_freq(char *sysfs_path)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	int tmp, gt;
 
diff --git a/tests/intel/i915_pm_sseu.c b/tests/intel/i915_pm_sseu.c
index ad852579a23a..5dd571a45631 100644
--- a/tests/intel/i915_pm_sseu.c
+++ b/tests/intel/i915_pm_sseu.c
@@ -387,7 +387,7 @@ exit_handler(int sig)
 	gem_deinit();
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		igt_install_exit_handler(exit_handler);
diff --git a/tests/intel/i915_power.c b/tests/intel/i915_power.c
index f2362a4f7586..a95167f7e8e2 100644
--- a/tests/intel/i915_power.c
+++ b/tests/intel/i915_power.c
@@ -75,7 +75,7 @@ static void sanity(int i915)
 	igt_assert(idle >= 0 && busy > 0 && busy > idle);
 }
 
-igt_main()
+int igt_main()
 {
 	int i915;
 
diff --git a/tests/intel/i915_query.c b/tests/intel/i915_query.c
index dc0568874e86..7b254961153c 100644
--- a/tests/intel/i915_query.c
+++ b/tests/intel/i915_query.c
@@ -1436,7 +1436,7 @@ static void query_parse_and_validate_hwconfig_table(int i915)
 	free(data);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd = -1;
 	int devid;
diff --git a/tests/intel/i915_selftest.c b/tests/intel/i915_selftest.c
index 1d624cf1ed50..6972de64cc9d 100644
--- a/tests/intel/i915_selftest.c
+++ b/tests/intel/i915_selftest.c
@@ -638,7 +638,7 @@
 
 IGT_TEST_DESCRIPTION("Basic unit tests for i915.ko");
 
-igt_main()
+int igt_main()
 {
 	const char *env = getenv("SELFTESTS") ?: "";
 	char opts[1024];
diff --git a/tests/intel/i915_suspend.c b/tests/intel/i915_suspend.c
index e2c332ef11be..375531130ccb 100644
--- a/tests/intel/i915_suspend.c
+++ b/tests/intel/i915_suspend.c
@@ -298,7 +298,7 @@ test_suspend_without_i915(int state)
 
 int fd;
 
-igt_main()
+int igt_main()
 {
 	igt_describe("Validate suspend-to-idle without i915 module");
 	igt_subtest("basic-s2idle-without-i915")
diff --git a/tests/intel/intel_hwmon.c b/tests/intel/intel_hwmon.c
index 8b02b5fa1077..103ae69cd976 100644
--- a/tests/intel/intel_hwmon.c
+++ b/tests/intel/intel_hwmon.c
@@ -76,7 +76,7 @@ static void hwmon_write(int hwm)
 	closedir(dir);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd, hwm;
 
diff --git a/tests/intel/kms_big_fb.c b/tests/intel/kms_big_fb.c
index 3371c06787c2..686c6772ef4b 100644
--- a/tests/intel/kms_big_fb.c
+++ b/tests/intel/kms_big_fb.c
@@ -967,7 +967,7 @@ static bool test_requirements(data_t *input_data, int l)
 	return true;
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		drmModeResPtr res;
diff --git a/tests/intel/kms_busy.c b/tests/intel/kms_busy.c
index e9d2792c7a9a..b2eb418db1fa 100644
--- a/tests/intel/kms_busy.c
+++ b/tests/intel/kms_busy.c
@@ -408,7 +408,7 @@ static void gpu_engines_restore_timeouts(int fd, int num_engines, const struct g
 const char *help_str =
 	"  -e \tRun on all pipes. (By default subtests will run on two pipes)\n";
 
-igt_main_args("e", NULL, help_str, opt_handler, NULL)
+int igt_main_args("e", NULL, help_str, opt_handler, NULL)
 {
 	igt_display_t display = { .drm_fd = -1, .n_pipes = IGT_MAX_PIPES };
 
diff --git a/tests/intel/kms_ccs.c b/tests/intel/kms_ccs.c
index ea53157bc8b3..9087c6a38680 100644
--- a/tests/intel/kms_ccs.c
+++ b/tests/intel/kms_ccs.c
@@ -1225,7 +1225,7 @@ static const char *help_str =
 "  -r\t\tOn suspend test do full hibernate with reboot\n"
 ;
 
-igt_main_args("csr:", NULL, help_str, opt_handler, &data)
+int igt_main_args("csr:", NULL, help_str, opt_handler, &data)
 {
 	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
diff --git a/tests/intel/kms_cdclk.c b/tests/intel/kms_cdclk.c
index c9e2e3fb925e..8238b89582ee 100644
--- a/tests/intel/kms_cdclk.c
+++ b/tests/intel/kms_cdclk.c
@@ -340,7 +340,7 @@ static void run_cdclk_test(data_t *data, uint32_t flags)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_dirtyfb.c b/tests/intel/kms_dirtyfb.c
index dfa5aa04acab..758d6fd8965d 100644
--- a/tests/intel/kms_dirtyfb.c
+++ b/tests/intel/kms_dirtyfb.c
@@ -350,7 +350,7 @@ static void run_test(data_t *data)
 	intel_buf_destroy(dst);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_dp_link_training.c b/tests/intel/kms_dp_link_training.c
index 64af89d1bcce..625d3ead21b5 100644
--- a/tests/intel/kms_dp_link_training.c
+++ b/tests/intel/kms_dp_link_training.c
@@ -298,7 +298,7 @@ static bool test_link_rate(data_t *data, bool mst, bool uhbr)
 IGT_TEST_DESCRIPTION("Test to validate link training on SST/MST with "
 		     "UHBR/NON_UHBR rates");
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_dp_linktrain_fallback.c b/tests/intel/kms_dp_linktrain_fallback.c
index db9039f061a0..ac398ec5bb70 100644
--- a/tests/intel/kms_dp_linktrain_fallback.c
+++ b/tests/intel/kms_dp_linktrain_fallback.c
@@ -597,7 +597,7 @@ static bool run_dsc_sst_fallaback_test(data_t *data)
 	return ran;
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_draw_crc.c b/tests/intel/kms_draw_crc.c
index 0f2144cd5d2f..020a2ad8674f 100644
--- a/tests/intel/kms_draw_crc.c
+++ b/tests/intel/kms_draw_crc.c
@@ -328,7 +328,7 @@ static const char *modifier_str(int modifier_index)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	enum igt_draw_method method;
 	int format_idx, modifier_idx;
diff --git a/tests/intel/kms_dsc.c b/tests/intel/kms_dsc.c
index a3c1fe716b09..1bb79bbcbbb6 100644
--- a/tests/intel/kms_dsc.c
+++ b/tests/intel/kms_dsc.c
@@ -321,7 +321,7 @@ static const char help_str[] =
 
 data_t data = {};
 
-igt_main_args("l", NULL, help_str, opt_handler, &data)
+int igt_main_args("l", NULL, help_str, opt_handler, &data)
 {
 	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
diff --git a/tests/intel/kms_fb_coherency.c b/tests/intel/kms_fb_coherency.c
index d3a998f6a034..520d2e3f6655 100644
--- a/tests/intel/kms_fb_coherency.c
+++ b/tests/intel/kms_fb_coherency.c
@@ -234,7 +234,7 @@ static void select_valid_pipe_output_combo(data_t *data)
 	igt_skip("no valid crtc/connector combinations found\n");
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 
diff --git a/tests/intel/kms_fbc_dirty_rect.c b/tests/intel/kms_fbc_dirty_rect.c
index 55422909d2a6..06ac749d7a27 100644
--- a/tests/intel/kms_fbc_dirty_rect.c
+++ b/tests/intel/kms_fbc_dirty_rect.c
@@ -436,7 +436,7 @@ static void fbc_dirty_rectangle_test(data_t *data, void (*test_func)(data_t *))
 	cleanup(data);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {0};
 
diff --git a/tests/intel/kms_fbcon_fbt.c b/tests/intel/kms_fbcon_fbt.c
index 50cd650f4ea6..1b9e535ebffc 100644
--- a/tests/intel/kms_fbcon_fbt.c
+++ b/tests/intel/kms_fbcon_fbt.c
@@ -451,7 +451,7 @@ static void teardown_environment(struct drm_info *drm)
 	kmstest_restore_vt_mode();
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_info drm = { .fd = -1 };
 
diff --git a/tests/intel/kms_flip_scaled_crc.c b/tests/intel/kms_flip_scaled_crc.c
index ab60d1d43bfc..b642ed197d55 100644
--- a/tests/intel/kms_flip_scaled_crc.c
+++ b/tests/intel/kms_flip_scaled_crc.c
@@ -714,7 +714,7 @@ static void run_tests(data_t *data, uint32_t index, enum pipe pipe,
 		test_flip_to_scaled(data, index, pipe, output, modetoset, 1);
 }
 
-igt_main()
+int igt_main()
 {
 	enum pipe pipe;
 	data_t data = {};
diff --git a/tests/intel/kms_flip_tiling.c b/tests/intel/kms_flip_tiling.c
index 1eac7978e8a9..8df727e4aa7c 100644
--- a/tests/intel/kms_flip_tiling.c
+++ b/tests/intel/kms_flip_tiling.c
@@ -209,7 +209,7 @@ static void handle_lost_event(data_t *data) {
 static data_t data = {};
 igt_output_t *output;
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
index 50b118f1d754..c32f9c582e86 100644
--- a/tests/intel/kms_frontbuffer_tracking.c
+++ b/tests/intel/kms_frontbuffer_tracking.c
@@ -4087,7 +4087,7 @@ struct option long_options[] = {
 	{ 0, 0, 0, 0 }
 };
 
-igt_main_args("", long_options, help_str, opt_handler, NULL)
+int igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
 	struct test_mode t;
 	enum pipe pipe;
diff --git a/tests/intel/kms_joiner.c b/tests/intel/kms_joiner.c
index 565cf66d9b6d..bf77f6626f5b 100644
--- a/tests/intel/kms_joiner.c
+++ b/tests/intel/kms_joiner.c
@@ -545,7 +545,7 @@ static void test_basic_max_non_joiner(data_t *data)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	bool ultra_joiner_supported, is_dgfx;
 	int i, j, display_ver;
diff --git a/tests/intel/kms_legacy_colorkey.c b/tests/intel/kms_legacy_colorkey.c
index 221c009a4fb9..b720ccf4394b 100644
--- a/tests/intel/kms_legacy_colorkey.c
+++ b/tests/intel/kms_legacy_colorkey.c
@@ -58,7 +58,7 @@ static void test_plane(uint32_t plane_id, int expected_ret)
 				   sizeof(ckey)) == expected_ret);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		drm_fd = drm_open_driver_master(DRIVER_INTEL);
diff --git a/tests/intel/kms_mmap_write_crc.c b/tests/intel/kms_mmap_write_crc.c
index 93c435a999cd..ad3dd1b20333 100644
--- a/tests/intel/kms_mmap_write_crc.c
+++ b/tests/intel/kms_mmap_write_crc.c
@@ -269,7 +269,7 @@ static int opt_handler(int opt, int opt_index, void *data)
 
 static data_t data;
 
-igt_main_args("n", NULL, NULL, opt_handler, NULL)
+int igt_main_args("n", NULL, NULL, opt_handler, NULL)
 {
 	int i;
 	igt_output_t *output;
diff --git a/tests/intel/kms_pipe_b_c_ivb.c b/tests/intel/kms_pipe_b_c_ivb.c
index bf48f018d92a..2dde4660e77c 100644
--- a/tests/intel/kms_pipe_b_c_ivb.c
+++ b/tests/intel/kms_pipe_b_c_ivb.c
@@ -289,7 +289,7 @@ test_fail_enable_pipe_C_while_B_has_3_lanes(data_t *data)
 }
 
 static data_t data;
-igt_main()
+int igt_main()
 {
 	int devid;
 
diff --git a/tests/intel/kms_pipe_stress.c b/tests/intel/kms_pipe_stress.c
index 700013908ab1..282288f8e943 100644
--- a/tests/intel/kms_pipe_stress.c
+++ b/tests/intel/kms_pipe_stress.c
@@ -856,7 +856,7 @@ struct data data = {
 };
 
 
-igt_main() {
+int igt_main() {
 	uint8_t format_idx = 0, tiling_idx = 0;
 
 	igt_fixture() {
diff --git a/tests/intel/kms_pm_backlight.c b/tests/intel/kms_pm_backlight.c
index a61ca91a5f8b..7d62d0503d51 100644
--- a/tests/intel/kms_pm_backlight.c
+++ b/tests/intel/kms_pm_backlight.c
@@ -202,7 +202,7 @@ static void test_setup(igt_display_t display, igt_output_t *output)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 	int i = 0;
diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c
index ccfdeb0644d9..dbdd7b3e3eaa 100644
--- a/tests/intel/kms_pm_dc.c
+++ b/tests/intel/kms_pm_dc.c
@@ -730,7 +730,7 @@ static void kms_poll_state_restore(int sig)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_pm_lpsp.c b/tests/intel/kms_pm_lpsp.c
index 109a9ed0cf40..07916d42cb85 100644
--- a/tests/intel/kms_pm_lpsp.c
+++ b/tests/intel/kms_pm_lpsp.c
@@ -192,7 +192,7 @@ static void test_lpsp(data_t *data)
 }
 
 IGT_TEST_DESCRIPTION("These tests validates display Low Power Single Pipe configurations");
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_pm_rpm.c b/tests/intel/kms_pm_rpm.c
index 2692f4cd8d74..51111c01aa9b 100644
--- a/tests/intel/kms_pm_rpm.c
+++ b/tests/intel/kms_pm_rpm.c
@@ -1604,7 +1604,7 @@ static struct option long_options[] = {
 	{ 0, 0, 0, 0 }
 };
 
-igt_main_args("", long_options, help_str, opt_handler, NULL)
+int igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
 	igt_subtest("basic-rte") {
 		igt_assert(setup_environment());
diff --git a/tests/intel/kms_psr.c b/tests/intel/kms_psr.c
index ccf239b4c16f..7b93608f3e4a 100644
--- a/tests/intel/kms_psr.c
+++ b/tests/intel/kms_psr.c
@@ -769,7 +769,7 @@ static void dpms_off_on(data_t *data)
 
 data_t data = {};
 
-igt_main()
+int igt_main()
 {
 	int z, y;
 	enum operations op;
diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c
index f08d117c3d64..61a195a45d2a 100644
--- a/tests/intel/kms_psr2_sf.c
+++ b/tests/intel/kms_psr2_sf.c
@@ -1172,7 +1172,7 @@ static void run_plane_update_continuous(data_t data, int i, int coexist_features
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	bool output_supports_pr_psr2_sel_fetch = false;
 	bool pr_psr2_sel_fetch_supported = false;
diff --git a/tests/intel/kms_psr2_su.c b/tests/intel/kms_psr2_su.c
index 5732f0a3dce7..fd0963ab7d3d 100644
--- a/tests/intel/kms_psr2_su.c
+++ b/tests/intel/kms_psr2_su.c
@@ -309,7 +309,7 @@ static int check_psr2_support(data_t *data, enum pipe pipe)
 	return status;
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 	enum pipe pipe;
diff --git a/tests/intel/kms_psr_stress_test.c b/tests/intel/kms_psr_stress_test.c
index 80394166e936..8fe4a25d74ff 100644
--- a/tests/intel/kms_psr_stress_test.c
+++ b/tests/intel/kms_psr_stress_test.c
@@ -348,7 +348,7 @@ static void run(data_t *data)
 	psr_sink_error_check(data->debugfs_fd, data->initial_state, data->output);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/perf.c b/tests/intel/perf.c
index 110f4659e0be..b6b2cce5085c 100644
--- a/tests/intel/perf.c
+++ b/tests/intel/perf.c
@@ -5857,7 +5857,7 @@ test_group_concurrent_oa_buffer_read(void)
 	igt_waitchildren();
 }
 
-igt_main()
+int igt_main()
 {
 	const intel_ctx_t *ctx;
 	const struct intel_execution_engine2 *e;
diff --git a/tests/intel/perf_pmu.c b/tests/intel/perf_pmu.c
index 6775b7f9065b..7b5d711f3881 100644
--- a/tests/intel/perf_pmu.c
+++ b/tests/intel/perf_pmu.c
@@ -2278,7 +2278,7 @@ static void restore_sysfs_freq(int i915)
 	free(stash_boost);
 }
 
-igt_main()
+int igt_main()
 {
 	const struct intel_execution_engine2 *e;
 	unsigned int num_engines = 0;
diff --git a/tests/intel/prime_busy.c b/tests/intel/prime_busy.c
index 62ae30f6f057..1afe9504ec36 100644
--- a/tests/intel/prime_busy.c
+++ b/tests/intel/prime_busy.c
@@ -148,7 +148,7 @@ static void test_mode(int fd, const intel_ctx_t *ctx, unsigned int flags)
 		igt_disallow_hang(fd, hang);
 }
 
-igt_main()
+int igt_main()
 {
 	const intel_ctx_t *ctx;
 	int fd = -1;
diff --git a/tests/intel/prime_mmap.c b/tests/intel/prime_mmap.c
index 7299ac47a33f..fcce9597b816 100644
--- a/tests/intel/prime_mmap.c
+++ b/tests/intel/prime_mmap.c
@@ -537,7 +537,7 @@ static bool check_skip(uint32_t skip, uint32_t region)
 	return false;
 }
 
-igt_main()
+int igt_main()
 {
 	struct igt_collection *set, *regions, *dma_buf_set;
 	struct drm_i915_query_memory_regions *query_info;
diff --git a/tests/intel/prime_mmap_coherency.c b/tests/intel/prime_mmap_coherency.c
index 7ca88c32a861..ffe06c31938e 100644
--- a/tests/intel/prime_mmap_coherency.c
+++ b/tests/intel/prime_mmap_coherency.c
@@ -307,7 +307,7 @@ static void test_ioctl_errors(void)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	struct igt_collection *set, *dma_buf_set;
 	struct drm_i915_query_memory_regions *query_info;
diff --git a/tests/intel/prime_mmap_kms.c b/tests/intel/prime_mmap_kms.c
index b8b3ea277ccd..10c76a82fcfd 100644
--- a/tests/intel/prime_mmap_kms.c
+++ b/tests/intel/prime_mmap_kms.c
@@ -257,7 +257,7 @@ check_for_dma_buf_mmap(int fd)
 	return ret;
 }
 
-igt_main()
+int igt_main()
 {
 	gpu_process_t gpu;
 
diff --git a/tests/intel/prime_self_import.c b/tests/intel/prime_self_import.c
index 0d21476be242..ef01ff713b5e 100644
--- a/tests/intel/prime_self_import.c
+++ b/tests/intel/prime_self_import.c
@@ -458,7 +458,7 @@ static void test_llseek_bad(void)
 	drm_close_driver(fd);
 }
 
-igt_main()
+int igt_main()
 {
 	struct {
 		const char *name;
diff --git a/tests/intel/sysfs_defaults.c b/tests/intel/sysfs_defaults.c
index 3b13b2834631..aa342544c061 100644
--- a/tests/intel/sysfs_defaults.c
+++ b/tests/intel/sysfs_defaults.c
@@ -91,7 +91,7 @@ static void test_writable(int i915, int engine)
 	closedir(dir);
 }
 
-igt_main()
+int igt_main()
 {
 	int i915 = -1, engines = -1;
 
diff --git a/tests/intel/sysfs_heartbeat_interval.c b/tests/intel/sysfs_heartbeat_interval.c
index 44bb3a850927..97d4c327945f 100644
--- a/tests/intel/sysfs_heartbeat_interval.c
+++ b/tests/intel/sysfs_heartbeat_interval.c
@@ -487,7 +487,7 @@ static void test_off(int i915, int engine)
 	put_ahnd(ahnd);
 }
 
-igt_main()
+int igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/sysfs_preempt_timeout.c b/tests/intel/sysfs_preempt_timeout.c
index 827e2eb93537..1971b85c2256 100644
--- a/tests/intel/sysfs_preempt_timeout.c
+++ b/tests/intel/sysfs_preempt_timeout.c
@@ -332,7 +332,7 @@ static void test_off(int i915, int engine)
 	set_preempt_timeout(engine, saved);
 }
 
-igt_main()
+int igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/sysfs_timeslice_duration.c b/tests/intel/sysfs_timeslice_duration.c
index 2e25690da22b..f10a86777aaa 100644
--- a/tests/intel/sysfs_timeslice_duration.c
+++ b/tests/intel/sysfs_timeslice_duration.c
@@ -556,7 +556,7 @@ static void test_off(int i915, int engine)
 	set_timeslice(engine, saved);
 }
 
-igt_main()
+int igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/xe_ccs.c b/tests/intel/xe_ccs.c
index 8c5c4d22db7a..a21922ee5487 100644
--- a/tests/intel/xe_ccs.c
+++ b/tests/intel/xe_ccs.c
@@ -861,7 +861,7 @@ const char *help_str =
 	"  -H\tHeight (default 512)"
 	;
 
-igt_main_args("bf:pst:W:H:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("bf:pst:W:H:", NULL, help_str, opt_handler, NULL)
 {
 	struct igt_collection *set;
 	int xe;
diff --git a/tests/intel/xe_compute.c b/tests/intel/xe_compute.c
index 2e676b93b04c..310093fc5646 100644
--- a/tests/intel/xe_compute.c
+++ b/tests/intel/xe_compute.c
@@ -510,7 +510,7 @@ test_compute_square(int fd)
 		      "GPU not supported\n");
 }
 
-igt_main()
+int igt_main()
 {
 	int xe, ccs_mode[4];
 	unsigned int ip_ver;
diff --git a/tests/intel/xe_compute_preempt.c b/tests/intel/xe_compute_preempt.c
index 414d17f50047..2d4ab896f44f 100644
--- a/tests/intel/xe_compute_preempt.c
+++ b/tests/intel/xe_compute_preempt.c
@@ -62,7 +62,7 @@ test_compute_preempt(int fd, struct drm_xe_engine_class_instance *hwe, bool thre
 
 #define CONTEXT_MB 100
 
-igt_main()
+int igt_main()
 {
 	int xe;
 	struct drm_xe_engine_class_instance *hwe;
diff --git a/tests/intel/xe_configfs.c b/tests/intel/xe_configfs.c
index 5599102117b1..6208c9447fab 100644
--- a/tests/intel/xe_configfs.c
+++ b/tests/intel/xe_configfs.c
@@ -309,7 +309,7 @@ static int create_device_configfs_group(int configfs_fd)
 	return configfs_device_fd;
 }
 
-igt_main()
+int igt_main()
 {
 	int fd, configfs_fd, configfs_device_fd;
 	uint32_t devid;
diff --git a/tests/intel/xe_copy_basic.c b/tests/intel/xe_copy_basic.c
index 75c609690df6..55081f938ed0 100644
--- a/tests/intel/xe_copy_basic.c
+++ b/tests/intel/xe_copy_basic.c
@@ -258,7 +258,7 @@ const char *help_str =
 	"  -b\tPrint bb"
 	;
 
-igt_main_args("b", NULL, help_str, opt_handler, NULL)
+int igt_main_args("b", NULL, help_str, opt_handler, NULL)
 {
 	int fd;
 	uint16_t dev_id;
diff --git a/tests/intel/xe_create.c b/tests/intel/xe_create.c
index ed917190e184..fd1993b21941 100644
--- a/tests/intel/xe_create.c
+++ b/tests/intel/xe_create.c
@@ -527,7 +527,7 @@ const char *help_str =
 	"  -p\tpercent of available resource\n"
 	;
 
-igt_main_args("Q:p:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("Q:p:", NULL, help_str, opt_handler, NULL)
 {
 	int xe;
 
diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
index 126b8290d456..b85d7d2dfad2 100644
--- a/tests/intel/xe_debugfs.c
+++ b/tests/intel/xe_debugfs.c
@@ -172,7 +172,7 @@ static int opt_handler(int option, int option_index, void *input)
 	return IGT_OPT_HANDLER_SUCCESS;
 }
 
-igt_main_args("", long_options, help_str, opt_handler, NULL)
+int igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
 	int debugfs = -1;
 	int fd = -1;
diff --git a/tests/intel/xe_dma_buf_sync.c b/tests/intel/xe_dma_buf_sync.c
index 07099a8c92d4..f214866a170f 100644
--- a/tests/intel/xe_dma_buf_sync.c
+++ b/tests/intel/xe_dma_buf_sync.c
@@ -226,7 +226,7 @@ test_export_dma_buf(struct drm_xe_engine_class_instance *hwe0,
 		drm_close_driver(fd[i]);
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe, *hwe0 = NULL, *hwe1;
 	int fd;
diff --git a/tests/intel/xe_drm_fdinfo.c b/tests/intel/xe_drm_fdinfo.c
index fe6f8539767e..411ca6ec42a7 100644
--- a/tests/intel/xe_drm_fdinfo.c
+++ b/tests/intel/xe_drm_fdinfo.c
@@ -728,7 +728,7 @@ utilization_multi(int fd, int gt, int class, unsigned int flags)
 	xe_vm_destroy(fd, vm);
 }
 
-igt_main()
+int igt_main()
 {
 	const struct section {
 		const char *name;
diff --git a/tests/intel/xe_eu_stall.c b/tests/intel/xe_eu_stall.c
index eecbcfa4f090..1ff25fa45c48 100644
--- a/tests/intel/xe_eu_stall.c
+++ b/tests/intel/xe_eu_stall.c
@@ -644,7 +644,7 @@ static struct option long_options[] = {
 	{ NULL, 0, 0, 0 }
 };
 
-igt_main_args("e:g:o:r:u:w:", long_options, help_str, opt_handler, NULL)
+int igt_main_args("e:g:o:r:u:w:", long_options, help_str, opt_handler, NULL)
 {
 	bool blocking_read = true;
 	struct xe_device *xe_dev;
diff --git a/tests/intel/xe_eudebug.c b/tests/intel/xe_eudebug.c
index b037bb97f088..134f317668ca 100644
--- a/tests/intel/xe_eudebug.c
+++ b/tests/intel/xe_eudebug.c
@@ -2794,7 +2794,7 @@ static void test_basic_exec_queues_enable(int fd)
 	xe_vm_destroy(fd, vm_non_lr);
 }
 
-igt_main()
+int igt_main()
 {
 	bool was_enabled;
 	bool *multigpu_was_enabled;
diff --git a/tests/intel/xe_eudebug_online.c b/tests/intel/xe_eudebug_online.c
index 3b83e3301c71..14073d576c93 100644
--- a/tests/intel/xe_eudebug_online.c
+++ b/tests/intel/xe_eudebug_online.c
@@ -2587,7 +2587,7 @@ static bool restore_preempt_timeout(int fd, uint16_t engine_class, uint32_t pree
 			igt_dynamic_f("%s%d", xe_engine_class_string(__hwe->engine_class), \
 				      hwe->engine_instance)
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	bool was_enabled;
diff --git a/tests/intel/xe_eudebug_sriov.c b/tests/intel/xe_eudebug_sriov.c
index 0f857639a01b..1f150d0efe10 100644
--- a/tests/intel/xe_eudebug_sriov.c
+++ b/tests/intel/xe_eudebug_sriov.c
@@ -126,7 +126,7 @@ static void restore_initial_driver_state(int fd, bool eudebug_enabled, bool vf_a
 	igt_abort_on_f(abort, "Failed to restore initial driver state\n");
 }
 
-igt_main()
+int igt_main()
 {
 	bool eudebug_enabled;
 	bool vf_autoprobe;
diff --git a/tests/intel/xe_evict.c b/tests/intel/xe_evict.c
index 839a39a76a1d..2350487c87dd 100644
--- a/tests/intel/xe_evict.c
+++ b/tests/intel/xe_evict.c
@@ -676,7 +676,7 @@ static unsigned int working_set(uint64_t vram_size, uint64_t system_size,
  * sections exists which cover multiple compute VM, multiple non-compute VMs,
  * and mixing of VMs.
  */
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section {
diff --git a/tests/intel/xe_evict_ccs.c b/tests/intel/xe_evict_ccs.c
index f4556c2ba36b..17f0ccb9fa43 100644
--- a/tests/intel/xe_evict_ccs.c
+++ b/tests/intel/xe_evict_ccs.c
@@ -497,7 +497,7 @@ const char *help_str =
 	"  -V\tVerify object after compressing\n"
 	;
 
-igt_main_args("bdDn:p:s:S:V", NULL, help_str, opt_handler, NULL)
+int igt_main_args("bdDn:p:s:S:V", NULL, help_str, opt_handler, NULL)
 {
 	const struct ccs {
 		const char *name;
diff --git a/tests/intel/xe_exec_atomic.c b/tests/intel/xe_exec_atomic.c
index 61a860b3cc7f..f138a510e3a3 100644
--- a/tests/intel/xe_exec_atomic.c
+++ b/tests/intel/xe_exec_atomic.c
@@ -123,7 +123,7 @@ static bool has_atomics(int fd, uint32_t region)
 	return true;
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	int fd;
diff --git a/tests/intel/xe_exec_balancer.c b/tests/intel/xe_exec_balancer.c
index 13a85dcfac42..98e09961ec53 100644
--- a/tests/intel/xe_exec_balancer.c
+++ b/tests/intel/xe_exec_balancer.c
@@ -560,7 +560,7 @@ test_cm(int fd, int gt, int class, int n_exec_queues, int n_execs,
 }
 
 
-igt_main()
+int igt_main()
 {
 	const struct section {
 		const char *name;
diff --git a/tests/intel/xe_exec_basic.c b/tests/intel/xe_exec_basic.c
index 4e59c34ef5a1..b105455f3cf7 100644
--- a/tests/intel/xe_exec_basic.c
+++ b/tests/intel/xe_exec_basic.c
@@ -314,7 +314,7 @@ test_exec(int fd, struct drm_xe_engine_class_instance *eci,
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section {
diff --git a/tests/intel/xe_exec_capture.c b/tests/intel/xe_exec_capture.c
index af22f49aec5d..6e454cfff3a7 100644
--- a/tests/intel/xe_exec_capture.c
+++ b/tests/intel/xe_exec_capture.c
@@ -404,7 +404,7 @@ static void test_card(int fd)
 	regfree(&regex);
 }
 
-igt_main()
+int igt_main()
 {
 	int xe;
 	struct drm_xe_engine_class_instance *hwe;
diff --git a/tests/intel/xe_exec_compute_mode.c b/tests/intel/xe_exec_compute_mode.c
index bacff2f36953..cf68319be68a 100644
--- a/tests/intel/xe_exec_compute_mode.c
+++ b/tests/intel/xe_exec_compute_mode.c
@@ -401,7 +401,7 @@ static void lr_mode_workload(int fd)
 	put_ahnd(ahnd);
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section {
diff --git a/tests/intel/xe_exec_fault_mode.c b/tests/intel/xe_exec_fault_mode.c
index 803a8ec1c15a..5f42051a1016 100644
--- a/tests/intel/xe_exec_fault_mode.c
+++ b/tests/intel/xe_exec_fault_mode.c
@@ -398,7 +398,7 @@ test_exec(int fd, struct drm_xe_engine_class_instance *eci,
 		close(map_fd);
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section {
diff --git a/tests/intel/xe_exec_mix_modes.c b/tests/intel/xe_exec_mix_modes.c
index 9780119069a0..9594e56e5165 100644
--- a/tests/intel/xe_exec_mix_modes.c
+++ b/tests/intel/xe_exec_mix_modes.c
@@ -256,7 +256,7 @@ test_exec(int fd, struct drm_xe_engine_class_instance *hwe,
 	run_job(fd, hwe, engine_execution_mode, job_type, true, NULL);
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section {
diff --git a/tests/intel/xe_exec_queue_property.c b/tests/intel/xe_exec_queue_property.c
index dc4896e22d45..0dbbb4a0f62e 100644
--- a/tests/intel/xe_exec_queue_property.c
+++ b/tests/intel/xe_exec_queue_property.c
@@ -201,7 +201,7 @@ static void invalid_property(int xe)
 					     to_user_pointer(&ext), &exec_queue_id), 0);
 }
 
-igt_main()
+int igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/xe_exec_reset.c b/tests/intel/xe_exec_reset.c
index ec86f8e2fc8e..7aaee31dd220 100644
--- a/tests/intel/xe_exec_reset.c
+++ b/tests/intel/xe_exec_reset.c
@@ -770,7 +770,7 @@ static void threads(int fd, int n_exec_queues, int n_execs, unsigned int flags)
 	free(threads_data);
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section {
diff --git a/tests/intel/xe_exec_sip.c b/tests/intel/xe_exec_sip.c
index cb78ade1a496..024c594f5df3 100644
--- a/tests/intel/xe_exec_sip.c
+++ b/tests/intel/xe_exec_sip.c
@@ -309,7 +309,7 @@ static void test_sip(enum shader_type shader_type, enum sip_type sip_type,
 				igt_dynamic_f("%s%d", xe_engine_class_string(__eci->engine_class), \
 					      __eci->engine_instance)
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *eci;
 	int fd;
diff --git a/tests/intel/xe_exec_sip_eudebug.c b/tests/intel/xe_exec_sip_eudebug.c
index 820bb852c3d5..20c2a1d82539 100644
--- a/tests/intel/xe_exec_sip_eudebug.c
+++ b/tests/intel/xe_exec_sip_eudebug.c
@@ -314,7 +314,7 @@ static void test_sip(enum shader_type shader_type, enum sip_type sip_type,
 				igt_dynamic_f("%s%d", xe_engine_class_string(__eci->engine_class), \
 					      __eci->engine_instance)
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *eci;
 	bool was_enabled;
diff --git a/tests/intel/xe_exec_store.c b/tests/intel/xe_exec_store.c
index 3df66850019f..6935fa8aa406 100644
--- a/tests/intel/xe_exec_store.c
+++ b/tests/intel/xe_exec_store.c
@@ -412,7 +412,7 @@ static void long_shader(int fd, struct drm_xe_engine_class_instance *hwe,
 	free(buf);
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	int fd;
diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
index 2bcb7b513b63..fed9b8fc2669 100644
--- a/tests/intel/xe_exec_system_allocator.c
+++ b/tests/intel/xe_exec_system_allocator.c
@@ -2216,7 +2216,7 @@ struct section {
 	uint8_t (*fn)(int pat);
 };
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	const struct section sections[] = {
diff --git a/tests/intel/xe_exec_threads.c b/tests/intel/xe_exec_threads.c
index 58a1558e57fb..e8d56a3ef36a 100644
--- a/tests/intel/xe_exec_threads.c
+++ b/tests/intel/xe_exec_threads.c
@@ -1109,7 +1109,7 @@ static void threads(int fd, int flags)
 	pthread_barrier_destroy(&barrier);
 }
 
-igt_main()
+int igt_main()
 {
 	const struct section {
 		const char *name;
diff --git a/tests/intel/xe_exercise_blt.c b/tests/intel/xe_exercise_blt.c
index 47879a0dce38..5aba07ec3ea9 100644
--- a/tests/intel/xe_exercise_blt.c
+++ b/tests/intel/xe_exercise_blt.c
@@ -385,7 +385,7 @@ const char *help_str =
 	"  -H\tHeight (default 512)"
 	;
 
-igt_main_args("b:pst:W:H:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("b:pst:W:H:", NULL, help_str, opt_handler, NULL)
 {
 	struct igt_collection *set;
 	int xe;
diff --git a/tests/intel/xe_fault_injection.c b/tests/intel/xe_fault_injection.c
index b7278c16aa6d..013b4dc9ad51 100644
--- a/tests/intel/xe_fault_injection.c
+++ b/tests/intel/xe_fault_injection.c
@@ -553,7 +553,7 @@ const char *help_str =
 	If not set, an error will be injected in every possible function call\
 	starting from first up to 100.";
 
-igt_main_args("I:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("I:", NULL, help_str, opt_handler, NULL)
 {
 	int fd, sysfs;
 	struct drm_xe_engine_class_instance *hwe;
diff --git a/tests/intel/xe_gpgpu_fill.c b/tests/intel/xe_gpgpu_fill.c
index e61d5c8db903..ce6222ddd7c5 100644
--- a/tests/intel/xe_gpgpu_fill.c
+++ b/tests/intel/xe_gpgpu_fill.c
@@ -169,7 +169,7 @@ const char *help_str =
 	;
 
 
-igt_main_args("dW:H:X:Y:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("dW:H:X:Y:", NULL, help_str, opt_handler, NULL)
 {
 	data_t data = {0, };
 	igt_fillfunc_t fill_fn = NULL;
diff --git a/tests/intel/xe_gt_freq.c b/tests/intel/xe_gt_freq.c
index db5c980eb069..c02d6189ae9e 100644
--- a/tests/intel/xe_gt_freq.c
+++ b/tests/intel/xe_gt_freq.c
@@ -393,7 +393,7 @@ static void test_spin(int fd, struct drm_xe_engine_class_instance *eci, bool fix
 	xe_vm_destroy(fd, vm);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 	int gt;
diff --git a/tests/intel/xe_huc_copy.c b/tests/intel/xe_huc_copy.c
index 77a87acc540a..e8f4fb562429 100644
--- a/tests/intel/xe_huc_copy.c
+++ b/tests/intel/xe_huc_copy.c
@@ -191,7 +191,7 @@ is_huc_running(int fd)
 	return false;
 }
 
-igt_main()
+int igt_main()
 {
 	int xe;
 
diff --git a/tests/intel/xe_intel_bb.c b/tests/intel/xe_intel_bb.c
index d7dbe661a790..02de63a3a679 100644
--- a/tests/intel/xe_intel_bb.c
+++ b/tests/intel/xe_intel_bb.c
@@ -984,7 +984,7 @@ const char *help_str =
 	"  -b\tDump to base64 (bb and images)\n"
 	;
 
-igt_main_args("dpib", NULL, help_str, opt_handler, NULL)
+int igt_main_args("dpib", NULL, help_str, opt_handler, NULL)
 {
 	int xe;
 	struct buf_ops *bops;
diff --git a/tests/intel/xe_live_ktest.c b/tests/intel/xe_live_ktest.c
index f65d44af9963..e80d7f68e04d 100644
--- a/tests/intel/xe_live_ktest.c
+++ b/tests/intel/xe_live_ktest.c
@@ -53,7 +53,7 @@ static const char *live_tests[] = {
 	"xe_eudebug",
 };
 
-igt_main()
+int igt_main()
 {
 	int i;
 
diff --git a/tests/intel/xe_media_fill.c b/tests/intel/xe_media_fill.c
index 65fd16dcd036..56c96261567d 100644
--- a/tests/intel/xe_media_fill.c
+++ b/tests/intel/xe_media_fill.c
@@ -115,7 +115,7 @@ static void media_fill(struct data_t *data, igt_fillfunc_t fill)
 	munmap(ptr, buf->surface[0].size);
 }
 
-igt_main()
+int igt_main()
 {
 	struct data_t data = {0, };
 	igt_fillfunc_t fill_fn = NULL;
diff --git a/tests/intel/xe_mmap.c b/tests/intel/xe_mmap.c
index 3bcd1668cd9a..37ae12acb36b 100644
--- a/tests/intel/xe_mmap.c
+++ b/tests/intel/xe_mmap.c
@@ -440,7 +440,7 @@ static void prepare_pci_membarrier_test(int fd, int *fw_ptr)
 	igt_assert_lte(0, *fw_ptr);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/intel/xe_module_load.c b/tests/intel/xe_module_load.c
index e4f8c41da85e..6fcf4f806bf4 100644
--- a/tests/intel/xe_module_load.c
+++ b/tests/intel/xe_module_load.c
@@ -116,7 +116,7 @@ static const char * const unwanted_drivers[] = {
  * SUBTEST: many-reload
  * Description: Reload the Xe driver many times
  */
-igt_main()
+int igt_main()
 {
 	igt_describe("Check if xe and friends are not yet loaded, then load them.");
 	igt_subtest("load") {
diff --git a/tests/intel/xe_noexec_ping_pong.c b/tests/intel/xe_noexec_ping_pong.c
index 9c5961be5a77..02ffefc8cbcf 100644
--- a/tests/intel/xe_noexec_ping_pong.c
+++ b/tests/intel/xe_noexec_ping_pong.c
@@ -95,7 +95,7 @@ static void test_ping_pong(int fd, struct drm_xe_engine *engine)
 static int fd;
 
 IGT_TEST_DESCRIPTION("Expose compute VM's unnecessary rebinds");
-igt_main()
+int igt_main()
 {
 	igt_fixture()
 		fd = drm_open_driver(DRIVER_XE);
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 9da5eb5a63b5..a6af1166e637 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -4975,7 +4975,7 @@ static struct option long_options[] = {
 	{ NULL, 0, 0, 0 }
 };
 
-igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
+int igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
 {
 	const struct sync_section {
 		const char *name;
diff --git a/tests/intel/xe_pat.c b/tests/intel/xe_pat.c
index 8af4c32f489c..957057f09748 100644
--- a/tests/intel/xe_pat.c
+++ b/tests/intel/xe_pat.c
@@ -1155,7 +1155,7 @@ static int opt_handler(int opt, int opt_index, void *data)
 const char *help_str =
 	"  -V\tVerify every dword (might be slow)\n";
 
-igt_main_args("V", NULL, help_str, opt_handler, NULL)
+int igt_main_args("V", NULL, help_str, opt_handler, NULL)
 {
 	uint16_t dev_id;
 	int fd;
diff --git a/tests/intel/xe_peer2peer.c b/tests/intel/xe_peer2peer.c
index d9f8ee07be12..cb9ef740c743 100644
--- a/tests/intel/xe_peer2peer.c
+++ b/tests/intel/xe_peer2peer.c
@@ -363,7 +363,7 @@ static void gpu_write(struct gpu_info *ex_gpu, struct gpu_info *im_gpu)
 
 #define DEFAULT_SIZE 0
 
-igt_main_args("", NULL, NULL, NULL, NULL)
+int igt_main_args("", NULL, NULL, NULL, NULL)
 {
 	struct gpu_info gpus[2];
 	int gpu_cnt;
diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
index 6876e0bd9ac6..54f2e9d1817c 100644
--- a/tests/intel/xe_pm.c
+++ b/tests/intel/xe_pm.c
@@ -871,7 +871,7 @@ static void i2c_test(device_t device, int sysfs_fd, enum igt_acpi_d_state d_stat
 	close(i2c_fd);
 }
 
-igt_main()
+int igt_main()
 {
 	device_t device;
 	uint32_t d3cold_allowed;
diff --git a/tests/intel/xe_pm_residency.c b/tests/intel/xe_pm_residency.c
index 7dc1ab2c1e05..d33a87b13989 100644
--- a/tests/intel/xe_pm_residency.c
+++ b/tests/intel/xe_pm_residency.c
@@ -370,7 +370,7 @@ static void cpg_gt_toggle(int fd)
 		powergate_status(fd, gt, "down");
 }
 
-igt_main()
+int igt_main()
 {
 	uint32_t d3cold_allowed;
 	int fd, gt;
diff --git a/tests/intel/xe_pmu.c b/tests/intel/xe_pmu.c
index e8b2f4b4b5f9..806bca024ff3 100644
--- a/tests/intel/xe_pmu.c
+++ b/tests/intel/xe_pmu.c
@@ -1056,7 +1056,7 @@ static void restore_gt_freq(int fd, uint32_t *stash_min, uint32_t *stash_max)
 	free(stash_max);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd, gt, num_engines;
 	struct drm_xe_engine_class_instance *eci;
diff --git a/tests/intel/xe_prime_self_import.c b/tests/intel/xe_prime_self_import.c
index 9b25d2d0b1cc..b43269d4f159 100644
--- a/tests/intel/xe_prime_self_import.c
+++ b/tests/intel/xe_prime_self_import.c
@@ -514,7 +514,7 @@ static void test_llseek_bad(void)
 	drm_close_driver(fd);
 }
 
-igt_main()
+int igt_main()
 {
 	struct {
 		const char *name;
diff --git a/tests/intel/xe_pxp.c b/tests/intel/xe_pxp.c
index d92c67961f47..c6274bf616bf 100644
--- a/tests/intel/xe_pxp.c
+++ b/tests/intel/xe_pxp.c
@@ -1102,7 +1102,7 @@ static void exit_handler(int sig)
 	usleep(50 * 1000); /* give time for the termination to be processed */
 }
 
-igt_main()
+int igt_main()
 {
 	bool pxp_supported = true;
 	drmModeResPtr res;
diff --git a/tests/intel/xe_query.c b/tests/intel/xe_query.c
index 1f62090776ca..3ab74eb79a9f 100644
--- a/tests/intel/xe_query.c
+++ b/tests/intel/xe_query.c
@@ -1117,7 +1117,7 @@ static void test_query_pxp_status(int fd)
 	free(qpxp);
 }
 
-igt_main()
+int igt_main()
 {
 	const struct {
 		const char *name;
diff --git a/tests/intel/xe_render_copy.c b/tests/intel/xe_render_copy.c
index 6a2ef4fe96e9..ed87132e02fc 100644
--- a/tests/intel/xe_render_copy.c
+++ b/tests/intel/xe_render_copy.c
@@ -677,7 +677,7 @@ const char *help_str =
 	;
 
 
-igt_main_args("dpiW:H:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("dpiW:H:", NULL, help_str, opt_handler, NULL)
 {
 	int xe;
 	struct buf_ops *bops;
diff --git a/tests/intel/xe_spin_batch.c b/tests/intel/xe_spin_batch.c
index 528230d91c90..d148b6abe4f5 100644
--- a/tests/intel/xe_spin_batch.c
+++ b/tests/intel/xe_spin_batch.c
@@ -526,7 +526,7 @@ static void xe_spin_timestamp_check(int fd, struct drm_xe_engine_class_instance
 	run_spinner(fd, eci);
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	int fd;
diff --git a/tests/intel/xe_sriov_auto_provisioning.c b/tests/intel/xe_sriov_auto_provisioning.c
index 1b13eb7f8f65..8f573d234e8d 100644
--- a/tests/intel/xe_sriov_auto_provisioning.c
+++ b/tests/intel/xe_sriov_auto_provisioning.c
@@ -313,7 +313,7 @@ static const struct option long_opts[] = {
 static const char help_str[] =
 	"  --extended\tRun the extended test scope\n";
 
-igt_main_args("", long_opts, help_str, opts_handler, NULL)
+int igt_main_args("", long_opts, help_str, opts_handler, NULL)
 {
 	enum xe_sriov_shared_res res;
 	unsigned int gt, total_vfs;
diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
index ad5de95c7217..12989d0f5eba 100644
--- a/tests/intel/xe_sriov_flr.c
+++ b/tests/intel/xe_sriov_flr.c
@@ -1023,7 +1023,7 @@ static void clear_tests(int pf_fd, int num_vfs, flr_exec_strategy exec_strategy)
 	verify_flr(pf_fd, num_vfs, checks, num_checks, exec_strategy);
 }
 
-igt_main()
+int igt_main()
 {
 	int pf_fd;
 	bool autoprobe;
diff --git a/tests/intel/xe_sriov_scheduling.c b/tests/intel/xe_sriov_scheduling.c
index e2ee96c72901..fad3cbb0438c 100644
--- a/tests/intel/xe_sriov_scheduling.c
+++ b/tests/intel/xe_sriov_scheduling.c
@@ -884,7 +884,7 @@ static const char help_str[] =
 	"  --pt_us\tpreempt_timeout_us\n"
 	"  --inflight\tNumber of submissions kept in flight per VF (0=auto)\n";
 
-igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
+int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
 {
 	int pf_fd;
 	bool autoprobe;
diff --git a/tests/intel/xe_sriov_vram.c b/tests/intel/xe_sriov_vram.c
index 75eb03e7b6bc..622ca77fc735 100644
--- a/tests/intel/xe_sriov_vram.c
+++ b/tests/intel/xe_sriov_vram.c
@@ -331,7 +331,7 @@ static const char help_str[] =
 	"  --extended\tRun the extended test scope\n"
 	"  --verbose\tEnable verbose logging\n";
 
-igt_main_args("", long_opts, help_str, opts_handler, NULL)
+int igt_main_args("", long_opts, help_str, opts_handler, NULL)
 {
 	bool autoprobe;
 	int pf_fd;
diff --git a/tests/intel/xe_survivability.c b/tests/intel/xe_survivability.c
index 8325ee85adbf..552414903f08 100644
--- a/tests/intel/xe_survivability.c
+++ b/tests/intel/xe_survivability.c
@@ -207,7 +207,7 @@ static void test_spinner_after_recovery(int fd)
 	put_ahnd(ahnd);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd, configfs_fd, configfs_device_fd;
 	struct pci_device *pci_xe;
diff --git a/tests/intel/xe_sysfs_defaults.c b/tests/intel/xe_sysfs_defaults.c
index 807a1defdde2..bc2690c186be 100644
--- a/tests/intel/xe_sysfs_defaults.c
+++ b/tests/intel/xe_sysfs_defaults.c
@@ -58,7 +58,7 @@ static void test_defaults(int xe, int engine, const char **property,
 	closedir(dir);
 }
 
-igt_main()
+int igt_main()
 {
 	int xe, sys_fd;
 	int gt;
diff --git a/tests/intel/xe_sysfs_preempt_timeout.c b/tests/intel/xe_sysfs_preempt_timeout.c
index 1bc762ef4697..725707bf679a 100644
--- a/tests/intel/xe_sysfs_preempt_timeout.c
+++ b/tests/intel/xe_sysfs_preempt_timeout.c
@@ -173,7 +173,7 @@ static void test_timeout(int fd, int engine, const char **property, uint16_t cla
 }
 
 #define	MAX_GTS	8
-igt_main()
+int igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/xe_sysfs_scheduler.c b/tests/intel/xe_sysfs_scheduler.c
index bf714b5f5371..38362506406a 100644
--- a/tests/intel/xe_sysfs_scheduler.c
+++ b/tests/intel/xe_sysfs_scheduler.c
@@ -219,7 +219,7 @@ static void test_invalid_large_string(int xe, int engine, const char **property,
 }
 
 #define MAX_GTS 8
-igt_main()
+int igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/xe_sysfs_timeslice_duration.c b/tests/intel/xe_sysfs_timeslice_duration.c
index 55ce7e4995c5..93b97f805665 100644
--- a/tests/intel/xe_sysfs_timeslice_duration.c
+++ b/tests/intel/xe_sysfs_timeslice_duration.c
@@ -149,7 +149,7 @@ static void test_timeout(int fd, int engine, const char **property, uint16_t cla
 }
 
 #define	MAX_GTS	8
-igt_main()
+int igt_main()
 {
 	static const struct {
 		const char *name;
diff --git a/tests/intel/xe_tlb.c b/tests/intel/xe_tlb.c
index 7c545abff60b..6c88631ac06b 100644
--- a/tests/intel/xe_tlb.c
+++ b/tests/intel/xe_tlb.c
@@ -128,7 +128,7 @@ static void tlb_invalidation(int fd, struct drm_xe_engine_class_instance *eci)
 	xe_vm_destroy(fd, vm);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 	struct drm_xe_engine *engine;
diff --git a/tests/intel/xe_vm.c b/tests/intel/xe_vm.c
index 9a944adc6898..ccff8f8046be 100644
--- a/tests/intel/xe_vm.c
+++ b/tests/intel/xe_vm.c
@@ -2450,7 +2450,7 @@ static void test_oom(int fd)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe, *hwe_non_copy = NULL;
 	uint64_t bind_size;
diff --git a/tests/intel/xe_waitfence.c b/tests/intel/xe_waitfence.c
index 3cd96d43d284..ff92a13fa35a 100644
--- a/tests/intel/xe_waitfence.c
+++ b/tests/intel/xe_waitfence.c
@@ -275,7 +275,7 @@ exec_queue_reset_wait(int fd)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/intel/xe_wedged.c b/tests/intel/xe_wedged.c
index 7eae418835f7..bcd78b49d703 100644
--- a/tests/intel/xe_wedged.c
+++ b/tests/intel/xe_wedged.c
@@ -208,7 +208,7 @@ simple_hang(int fd, struct drm_xe_sync *sync)
  * SUBTEST: basic-wedged-read
  * Description: Read wedged_mode debugfs
  */
-igt_main()
+int igt_main()
 {
 	struct drm_xe_engine_class_instance *hwe;
 	int fd;
diff --git a/tests/kms_3d.c b/tests/kms_3d.c
index 12316ca08b16..c73d1f407d94 100644
--- a/tests/kms_3d.c
+++ b/tests/kms_3d.c
@@ -40,7 +40,7 @@
 
 IGT_TEST_DESCRIPTION("Tests 3D mode setting.");
 
-igt_main()
+int igt_main()
 {
 	int drm_fd;
 	drmModeRes *res;
diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
index 43a9794b18f2..c8889c53cd5c 100644
--- a/tests/kms_addfb_basic.c
+++ b/tests/kms_addfb_basic.c
@@ -982,7 +982,7 @@ static bool has_addfb2_iface(int fd)
 
 int fd;
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_ANY);
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 50d5b5850e66..6b2da0013b25 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -1065,7 +1065,7 @@ static void run_test_with_modifiers(data_t *data, void (*test)(data_t *))
 
 static data_t data;
 
-igt_main()
+int igt_main()
 {
 	int i;
 
diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
index ab871edd3ba8..2a5f31357c56 100644
--- a/tests/kms_atomic.c
+++ b/tests/kms_atomic.c
@@ -1398,7 +1398,7 @@ static int opt_handler(int opt, int opt_index, void *_data)
 static const char *help_str =
 	"  -e \tRun on all pipes. (By default subtests will run only on one pipe)\n";
 
-igt_main_args("e", NULL, help_str, opt_handler, NULL)
+int igt_main_args("e", NULL, help_str, opt_handler, NULL)
 {
 	enum pipe pipe = PIPE_NONE;
 	igt_output_t *output = NULL;
diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c
index 29a1f2e0bdc3..9bce0bf1f829 100644
--- a/tests/kms_atomic_interruptible.c
+++ b/tests/kms_atomic_interruptible.c
@@ -321,7 +321,7 @@ static bool pipe_output_combo_valid(igt_display_t *display,
 	return ret;
 }
 
-igt_main()
+int igt_main()
 {
 	igt_display_t display;
 	igt_output_t *output;
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index bb17cb70d0ee..18f79136c30f 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -1120,7 +1120,7 @@ static const char help_str[] =
 
 static data_t data;
 
-igt_main_args("", long_opts, help_str, opt_handler, &data)
+int igt_main_args("", long_opts, help_str, opt_handler, &data)
 {
 	igt_output_t *output;
 	enum pipe pipe;
diff --git a/tests/kms_bw.c b/tests/kms_bw.c
index b6126e03a233..02e2de00344f 100644
--- a/tests/kms_bw.c
+++ b/tests/kms_bw.c
@@ -259,7 +259,7 @@ static void run_test_linear_tiling(data_t *data, int pipe, const drmModeModeInfo
 	test_fini(data);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 	int i = 0, j = 0;
diff --git a/tests/kms_color.c b/tests/kms_color.c
index ceee839bc35b..847359a6d601 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -1171,7 +1171,7 @@ run_tests_for_pipe(data_t *data)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
index dff1247c51b9..bb8cbe703622 100644
--- a/tests/kms_concurrent.c
+++ b/tests/kms_concurrent.c
@@ -387,7 +387,7 @@ struct option long_options[] = {
 
 static data_t data;
 
-igt_main_args("", long_options, help_str, opt_handler, NULL)
+int igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
 	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index 1113a36fd26c..184e94bca739 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -980,7 +980,7 @@ static const struct {
 	},
 };
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index bb3bbd5cb7b6..7ca2ca82c0bd 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -1261,7 +1261,7 @@ static int opt_handler(int opt, int opt_index, void *_data)
 const char *help_str =
 	"  -e \tExtended tests.\n";
 
-igt_main_args("e", NULL, help_str, opt_handler, NULL)
+int igt_main_args("e", NULL, help_str, opt_handler, NULL)
 {
 	uint64_t cursor_width = 64, cursor_height = 64;
 	int ret;
diff --git a/tests/kms_cursor_edge_walk.c b/tests/kms_cursor_edge_walk.c
index 7ea1439b38d3..27f861378763 100644
--- a/tests/kms_cursor_edge_walk.c
+++ b/tests/kms_cursor_edge_walk.c
@@ -342,7 +342,7 @@ static const char *help_str =
 	"  --jump\t\tJump the cursor to middle of the screen between each step)\n"
 	"  --extended\t\tRun on all pipes.(Default it will Run only two pipes)\n";
 
-igt_main_args("", long_opts, help_str, opt_handler, &data)
+int igt_main_args("", long_opts, help_str, opt_handler, &data)
 {
 	struct {
 		const char *name;
diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index dc2fbc460a7a..3344c27a0cdb 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -1824,7 +1824,7 @@ static void modeset_atomic_cursor_hotspot(igt_display_t *display)
 	igt_remove_fb(display->drm_fd, &cursor_fb);
 }
 
-igt_main()
+int igt_main()
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	igt_display_t display = { .drm_fd = -1 };
diff --git a/tests/kms_debugfs.c b/tests/kms_debugfs.c
index 7db75637e912..e77c91afff9f 100644
--- a/tests/kms_debugfs.c
+++ b/tests/kms_debugfs.c
@@ -94,7 +94,7 @@ static void igt_display_all_off(igt_display_t *display)
 
 IGT_TEST_DESCRIPTION("Read entries from debugfs with display on/off.");
 
-igt_main()
+int igt_main()
 {
 	int debugfs = -1;
 	igt_display_t display;
diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c
index 2f229a953f64..b8b1fa8e555c 100644
--- a/tests/kms_display_modes.c
+++ b/tests/kms_display_modes.c
@@ -227,7 +227,7 @@ static void run_extendedmode_test(data_t *data) {
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	int dp_mst_outputs = 0, count = 0;
 	igt_output_t *output;
diff --git a/tests/kms_dither.c b/tests/kms_dither.c
index cf9e054e2000..a4cb004e8e24 100644
--- a/tests/kms_dither.c
+++ b/tests/kms_dither.c
@@ -236,7 +236,7 @@ run_dither_test(data_t *data, int fb_bpc, int fb_format, int output_bpc)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	struct {
 		int fb_bpc;
diff --git a/tests/kms_feature_discovery.c b/tests/kms_feature_discovery.c
index 6e10eb392bf5..a0615a113f1c 100644
--- a/tests/kms_feature_discovery.c
+++ b/tests/kms_feature_discovery.c
@@ -71,7 +71,7 @@ static igt_display_t display;
 IGT_TEST_DESCRIPTION("A metatest that checks for \"features\" presence. "
 		     "The subtests here should only skip or pass, "
 		     "anything else means we have a serious problem.");
-igt_main() {
+int igt_main() {
 	igt_fd_t(debugfs_fd);
 	igt_fd_t(fd);
 
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 787c23100366..a74e69c6f042 100755
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -2042,7 +2042,7 @@ static int opt_handler(int opt, int opt_index, void *data)
 const char *help_str =
 	"  -e \tRun on all pipes. (By default subtests will run on two pipes)\n";
 
-igt_main_args("e", NULL, help_str, opt_handler, NULL)
+int igt_main_args("e", NULL, help_str, opt_handler, NULL)
 {
 	struct {
 		int duration;
diff --git a/tests/kms_flip_event_leak.c b/tests/kms_flip_event_leak.c
index 79f90000da56..2526951dc54b 100644
--- a/tests/kms_flip_event_leak.c
+++ b/tests/kms_flip_event_leak.c
@@ -103,7 +103,7 @@ static void test(data_t *data, enum pipe pipe, igt_output_t *output)
 	igt_remove_fb(data->drm_fd, &fb[0]);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 	igt_output_t *output;
diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c
index 19909084c445..4ea6b0e8c03d 100644
--- a/tests/kms_force_connector_basic.c
+++ b/tests/kms_force_connector_basic.c
@@ -314,7 +314,7 @@ struct option long_opts[] = {
 const char *help_str =
 	"  --reset\t\tReset all connector force states and edid.\n";
 
-igt_main_args("", long_opts, help_str, opt_handler, NULL)
+int igt_main_args("", long_opts, help_str, opt_handler, NULL)
 {
 	/* Force the VGA output and test that it worked. */
 	int i, drm_fd = 0;
diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c
index 9354c27ed18d..5b0eea161163 100644
--- a/tests/kms_getfb.c
+++ b/tests/kms_getfb.c
@@ -425,7 +425,7 @@ static void test_handle_protection(void) {
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 	igt_display_t display;
diff --git a/tests/kms_hdmi_inject.c b/tests/kms_hdmi_inject.c
index 61d42d1a6021..00eb5e4a4f8c 100644
--- a/tests/kms_hdmi_inject.c
+++ b/tests/kms_hdmi_inject.c
@@ -211,7 +211,7 @@ hdmi_inject_audio(int drm_fd, drmModeConnector *connector)
 	kmstest_force_edid(drm_fd, connector, NULL);
 }
 
-igt_main()
+int igt_main()
 {
 	int drm_fd;
 	drmModeRes *res;
diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
index 0fd0a505b302..ab0ec47cbfad 100644
--- a/tests/kms_hdr.c
+++ b/tests/kms_hdr.c
@@ -799,7 +799,7 @@ static void test_hdr(data_t *data, uint32_t flags)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/kms_invalid_mode.c b/tests/kms_invalid_mode.c
index 8f4e19657791..78c73e72ffa3 100644
--- a/tests/kms_invalid_mode.c
+++ b/tests/kms_invalid_mode.c
@@ -334,7 +334,7 @@ static const struct {
 
 static data_t data;
 
-igt_main()
+int igt_main()
 {
 
 	enum pipe pipe;
diff --git a/tests/kms_lease.c b/tests/kms_lease.c
index 914254309532..02eee701639a 100644
--- a/tests/kms_lease.c
+++ b/tests/kms_lease.c
@@ -1239,7 +1239,7 @@ static void lease_uevent(data_t *data)
 	igt_cleanup_uevents(uevent_monitor);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 	igt_output_t *output;
diff --git a/tests/kms_multipipe_modeset.c b/tests/kms_multipipe_modeset.c
index ec191e025021..28c71fdec00a 100644
--- a/tests/kms_multipipe_modeset.c
+++ b/tests/kms_multipipe_modeset.c
@@ -142,7 +142,7 @@ static void test_multipipe(data_t *data, int num_pipes)
 	run_test(data, valid_outputs);
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 	drmModeResPtr res;
diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c
index 51934e151ee3..14cebf384d91 100644
--- a/tests/kms_panel_fitting.c
+++ b/tests/kms_panel_fitting.c
@@ -281,7 +281,7 @@ static void test_panel_fitting(data_t *data, enum test_type type)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index 0a15799965e3..ca8f76c8aa27 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -368,7 +368,7 @@ static int opt_handler(int opt, int opt_index, void *_data)
 const char *help_str =
 	"  -e \tExtended tests.\n";
 
-igt_main_args("e", NULL, help_str, opt_handler, NULL)
+int igt_main_args("e", NULL, help_str, opt_handler, NULL)
 {
 	enum pipe pipe;
 	igt_output_t *output;
diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index d09bd361f142..cb5769a4c83b 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -1451,7 +1451,7 @@ static const char help_str[] =
 
 static data_t data;
 
-igt_main_args("", long_opts, help_str, opt_handler, &data)
+int igt_main_args("", long_opts, help_str, opt_handler, &data)
 {
 	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
diff --git a/tests/kms_plane_alpha_blend.c b/tests/kms_plane_alpha_blend.c
index 2d033a4525ba..037a5c1060a2 100644
--- a/tests/kms_plane_alpha_blend.c
+++ b/tests/kms_plane_alpha_blend.c
@@ -732,7 +732,7 @@ static int opt_handler(int opt, int opt_index, void *_data)
 const char *help_str =
 	"  -e \tExtended tests.\n";
 
-igt_main_args("e", NULL, help_str, opt_handler, NULL)
+int igt_main_args("e", NULL, help_str, opt_handler, NULL)
 {
 	data_t data = {};
 
diff --git a/tests/kms_plane_cursor.c b/tests/kms_plane_cursor.c
index b0b3f7b9baba..c8b42fb5c401 100644
--- a/tests/kms_plane_cursor.c
+++ b/tests/kms_plane_cursor.c
@@ -284,7 +284,7 @@ static void test_cursor(data_t *data, int size, unsigned int flags)
 	test_cursor_spots(data, size, flags);
 }
 
-igt_main()
+int igt_main()
 {
 	static const int cursor_sizes[] = { 64, 128, 256 };
 	data_t data = { .max_curw = 64, .max_curh = 64 };
diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
index b0f256802962..5dac21ea6def 100644
--- a/tests/kms_plane_lowres.c
+++ b/tests/kms_plane_lowres.c
@@ -338,7 +338,7 @@ static const struct {
 	},
 };
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
index 1921f120528f..b4a6436e3add 100644
--- a/tests/kms_plane_multiple.c
+++ b/tests/kms_plane_multiple.c
@@ -629,7 +629,7 @@ struct option long_options[] = {
 	{ 0, 0, 0, 0 }
 };
 
-igt_main_args("", long_options, help_str, opt_handler, NULL)
+int igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
 	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 9ca958866897..c4bd03adb098 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -1347,7 +1347,7 @@ static const char help_str[] =
 
 static data_t data;
 
-igt_main_args("", long_opts, help_str, opt_handler, &data)
+int igt_main_args("", long_opts, help_str, opt_handler, &data)
 {
 	enum pipe pipe;
 	uint32_t ret = -EINVAL;
diff --git a/tests/kms_prime.c b/tests/kms_prime.c
index 778debbd9c50..b4469d83339b 100644
--- a/tests/kms_prime.c
+++ b/tests/kms_prime.c
@@ -551,7 +551,7 @@ static void kms_poll_disable(void)
 	close(sysfs_fd);
 }
 
-igt_main()
+int igt_main()
 {
 	int first_fd = -1;
 	int second_fd_vgem = -1;
diff --git a/tests/kms_prop_blob.c b/tests/kms_prop_blob.c
index a63d950892f0..83c396936cc1 100644
--- a/tests/kms_prop_blob.c
+++ b/tests/kms_prop_blob.c
@@ -345,7 +345,7 @@ static void prop_tests(int fd)
 		destroy_prop(fd, blob_id);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/kms_properties.c b/tests/kms_properties.c
index bb6feb152579..82daa6f96515 100644
--- a/tests/kms_properties.c
+++ b/tests/kms_properties.c
@@ -820,7 +820,7 @@ static void invalid_properties(igt_display_t *display, bool atomic)
 		test_object_invalid_properties(display, output->id, DRM_MODE_OBJECT_CONNECTOR, atomic);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_display_t display;
 	int i;
diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
index 807df9ec89f1..716c96972554 100644
--- a/tests/kms_rmfb.c
+++ b/tests/kms_rmfb.c
@@ -190,7 +190,7 @@ run_rmfb_test(struct rmfb_data *data, bool reopen)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	const struct {
 		bool reopen;
diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index aac9d2038290..6f10da8fbf7c 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -1184,7 +1184,7 @@ static const char help_str[] =
 
 static data_t data;
 
-igt_main_args("", long_opts, help_str, opt_handler, &data)
+int igt_main_args("", long_opts, help_str, opt_handler, &data)
 {
 	struct rot_subtest {
 		unsigned plane;
diff --git a/tests/kms_scaling_modes.c b/tests/kms_scaling_modes.c
index 8d120dc8ad21..4edefe4ec5b1 100644
--- a/tests/kms_scaling_modes.c
+++ b/tests/kms_scaling_modes.c
@@ -130,7 +130,7 @@ static void test_scaling_mode(data_t *data, uint32_t flags)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {};
 
diff --git a/tests/kms_selftest.c b/tests/kms_selftest.c
index dbd1b048179e..45cebd813c1c 100644
--- a/tests/kms_selftest.c
+++ b/tests/kms_selftest.c
@@ -49,7 +49,7 @@
 
 IGT_TEST_DESCRIPTION("Basic sanity check of KMS selftests.");
 
-igt_main()
+int igt_main()
 {
 	static const char *kunit_subtests[] = {
 		"drm_cmdline_parser_test",
diff --git a/tests/kms_sequence.c b/tests/kms_sequence.c
index 17295ba517a2..46edcc50d2ab 100644
--- a/tests/kms_sequence.c
+++ b/tests/kms_sequence.c
@@ -268,7 +268,7 @@ static void sequence_queue(data_t *data, int fd, int nchildren)
 		 frame_time * 1000.0, 1.0/frame_time);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 	igt_output_t *output;
diff --git a/tests/kms_setmode.c b/tests/kms_setmode.c
index 586adc5d678d..108e713610fd 100644
--- a/tests/kms_setmode.c
+++ b/tests/kms_setmode.c
@@ -1030,7 +1030,7 @@ const char *help_str =
 	"  -e \t\tExtend to run on all pipes. (By default tests will run on two pipes only)\n";
 
 
-igt_main_args("det:", NULL, help_str, opt_handler, NULL)
+int igt_main_args("det:", NULL, help_str, opt_handler, NULL)
 {
 	const struct {
 		enum test_flags flags;
diff --git a/tests/kms_sharpness_filter.c b/tests/kms_sharpness_filter.c
index 6248d1e897b7..41a42c60868a 100644
--- a/tests/kms_sharpness_filter.c
+++ b/tests/kms_sharpness_filter.c
@@ -556,7 +556,7 @@ static const char help_str[] =
 
 data_t data = {};
 
-igt_main_args("l", NULL, help_str, opt_handler, &data)
+int igt_main_args("l", NULL, help_str, opt_handler, &data)
 {
 	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
diff --git a/tests/kms_tiled_display.c b/tests/kms_tiled_display.c
index 9d98e806ae80..f50ac5f17a76 100644
--- a/tests/kms_tiled_display.c
+++ b/tests/kms_tiled_display.c
@@ -566,7 +566,7 @@ static void basic_test(data_t *data, drmEventContext *drm_event, struct pollfd *
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data = {0};
 	struct pollfd pfd = {0};
diff --git a/tests/kms_tv_load_detect.c b/tests/kms_tv_load_detect.c
index 3f7e1b8240bf..a668cd423a5c 100644
--- a/tests/kms_tv_load_detect.c
+++ b/tests/kms_tv_load_detect.c
@@ -39,7 +39,7 @@
 
 IGT_TEST_DESCRIPTION("Check tv load detection works correctly.");
 
-igt_main()
+int igt_main()
 {
 	/* force the VGA output and test that it worked */
 	int drm_fd = 0;
diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c
index 2f8c6ce92617..47c805cd36cd 100644
--- a/tests/kms_universal_plane.c
+++ b/tests/kms_universal_plane.c
@@ -891,7 +891,7 @@ run_tests(data_t *data)
 	}
 }
 
-igt_main()
+int igt_main()
 {
 	data_t data;
 
diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c
index 34499e5c7d0d..bce767a2ab83 100644
--- a/tests/kms_vblank.c
+++ b/tests/kms_vblank.c
@@ -622,7 +622,7 @@ static int opt_handler(int opt, int opt_index, void *data)
 const char *help_str =
 	"  -e \tRun on all pipes. (By default subtests will run on two pipes)\n";
 
-igt_main_args("e", NULL, help_str, opt_handler, NULL)
+int igt_main_args("e", NULL, help_str, opt_handler, NULL)
 {
 	int fd;
 	data_t data;
diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c
index 81101ea33c36..193f02b51ced 100644
--- a/tests/kms_vrr.c
+++ b/tests/kms_vrr.c
@@ -1144,7 +1144,7 @@ static const char help_str[] =
 
 static data_t data;
 
-igt_main_args("drs:", long_opts, help_str, opt_handler, &data)
+int igt_main_args("drs:", long_opts, help_str, opt_handler, &data)
 {
 	igt_fixture() {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
diff --git a/tests/kms_writeback.c b/tests/kms_writeback.c
index f6f335ba17b0..3a26c5b8bdcf 100644
--- a/tests/kms_writeback.c
+++ b/tests/kms_writeback.c
@@ -525,7 +525,7 @@ static const struct option long_options[] = {
 	{}
 };
 
-igt_main_args("b:c:f:dl", long_options, help_str, opt_handler, NULL)
+int igt_main_args("b:c:f:dl", long_options, help_str, opt_handler, NULL)
 {
 	igt_display_t display;
 	igt_output_t *output;
diff --git a/tests/meta_test.c b/tests/meta_test.c
index 56503d8a3313..3212be289a39 100644
--- a/tests/meta_test.c
+++ b/tests/meta_test.c
@@ -117,7 +117,7 @@ static void test_panic(void)
 	system("echo c > /proc/sysrq-trigger");
 }
 
-igt_main()
+int igt_main()
 {
 
 	igt_fixture() {
diff --git a/tests/msm/msm_mapping.c b/tests/msm/msm_mapping.c
index 69cef2c8c876..05960627c7c2 100644
--- a/tests/msm/msm_mapping.c
+++ b/tests/msm/msm_mapping.c
@@ -262,7 +262,7 @@ do_mapping_test(struct msm_pipe *pipe, const char *buffername, bool write)
  * Tests for drm/msm hangcheck, recovery, and fault handling
  */
 
-igt_main()
+int igt_main()
 {
 	struct msm_device *dev = NULL;
 	struct msm_pipe *pipe = NULL;
diff --git a/tests/msm/msm_recovery.c b/tests/msm/msm_recovery.c
index 86fd930cf564..21e3cb076a4a 100644
--- a/tests/msm/msm_recovery.c
+++ b/tests/msm/msm_recovery.c
@@ -215,7 +215,7 @@ do_fault_test(struct msm_pipe *pipe, bool stress)
  * Tests for drm/msm hangcheck, recovery, and fault handling
  */
 
-igt_main()
+int igt_main()
 {
 	static struct msm_pipe *pipe = NULL;
 
diff --git a/tests/msm/msm_shrink.c b/tests/msm/msm_shrink.c
index 9b689e80ea51..8c701c4e2669 100644
--- a/tests/msm/msm_shrink.c
+++ b/tests/msm/msm_shrink.c
@@ -243,7 +243,7 @@ static void run_test(int nchildren, uint64_t alloc_size_mb, unsigned num_bos,
 
 static const unsigned num_bos[] = { 8, 32 };
 
-igt_main()
+int igt_main()
 {
 	struct msm_device *dev = NULL;
 	uint64_t alloc_size_mb = 0;
diff --git a/tests/msm/msm_submit.c b/tests/msm/msm_submit.c
index 1b2e7b147a68..452466e35364 100644
--- a/tests/msm/msm_submit.c
+++ b/tests/msm/msm_submit.c
@@ -24,7 +24,7 @@
 #include "igt.h"
 #include "igt_msm.h"
 
-igt_main()
+int igt_main()
 {
 	struct msm_device *dev = NULL;
 	struct msm_pipe *pipe = NULL;
diff --git a/tests/msm/msm_submitoverhead.c b/tests/msm/msm_submitoverhead.c
index 5f84a186d2c5..8a60fd92b073 100644
--- a/tests/msm/msm_submitoverhead.c
+++ b/tests/msm/msm_submitoverhead.c
@@ -14,7 +14,7 @@
 
 #define MAX_BOS 1000
 
-igt_main()
+int igt_main()
 {
 	struct msm_device *dev = NULL;
 	struct msm_pipe *pipe = NULL;
diff --git a/tests/nouveau_crc.c b/tests/nouveau_crc.c
index 929c59404145..bf913cf13ad4 100644
--- a/tests/nouveau_crc.c
+++ b/tests/nouveau_crc.c
@@ -318,7 +318,7 @@ static void test_source_outp_inactive(data_t *data)
 data_t data = {0};
 
 #define pipe_test(name) igt_subtest_f("pipe-%s-" name, kmstest_pipe_name(pipe))
-igt_main()
+int igt_main()
 {
 	int pipe;
 
diff --git a/tests/panfrost/panfrost_gem_new.c b/tests/panfrost/panfrost_gem_new.c
index b97287deed23..5ab5d4a42663 100644
--- a/tests/panfrost/panfrost_gem_new.c
+++ b/tests/panfrost/panfrost_gem_new.c
@@ -35,7 +35,7 @@
 #include <sys/ioctl.h>
 #include "panfrost_drm.h"
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/panfrost/panfrost_get_param.c b/tests/panfrost/panfrost_get_param.c
index e6f63b4f9071..8e8b19380e29 100644
--- a/tests/panfrost/panfrost_get_param.c
+++ b/tests/panfrost/panfrost_get_param.c
@@ -36,7 +36,7 @@
 #include <poll.h>
 #include "panfrost_drm.h"
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/panfrost/panfrost_prime.c b/tests/panfrost/panfrost_prime.c
index cc07c8570693..ccae7aeba9d0 100644
--- a/tests/panfrost/panfrost_prime.c
+++ b/tests/panfrost/panfrost_prime.c
@@ -55,7 +55,7 @@ static bool igt_has_prime(int fd, uint64_t flags)
 	return (value & flags) == flags;
 }
 
-igt_main()
+int igt_main()
 {
 	int fd, kms_fd;
 
diff --git a/tests/panfrost/panfrost_submit.c b/tests/panfrost/panfrost_submit.c
index dd899857ec0f..affa1f4e1ee0 100644
--- a/tests/panfrost/panfrost_submit.c
+++ b/tests/panfrost/panfrost_submit.c
@@ -62,7 +62,7 @@ static void check_done(struct mali_job_descriptor_header *header)
         igt_assert(header->exception_status == 1 && header->fault_pointer == 0);
 }
 
-igt_main()
+int igt_main()
 {
         int fd;
 
diff --git a/tests/panthor/panthor_gem.c b/tests/panthor/panthor_gem.c
index 1d372d4c6f02..27e83fe85b41 100644
--- a/tests/panthor/panthor_gem.c
+++ b/tests/panthor/panthor_gem.c
@@ -7,7 +7,7 @@
 #include "igt_core.h"
 #include "igt_panthor.h"
 
-igt_main() {
+int igt_main() {
 	int fd;
 
 	igt_fixture() {
diff --git a/tests/panthor/panthor_group.c b/tests/panthor/panthor_group.c
index 8befd56fe267..13636e60c0e7 100644
--- a/tests/panthor/panthor_group.c
+++ b/tests/panthor/panthor_group.c
@@ -40,7 +40,7 @@ issue_store_multiple(uint8_t *cs, uint64_t kernel_va, uint32_t constant)
 	return sizeof(instrs);
 }
 
-igt_main() {
+int igt_main() {
 	int fd;
 
 	igt_fixture() {
diff --git a/tests/panthor/panthor_query.c b/tests/panthor/panthor_query.c
index 915ef004562e..fa4f8ef264d8 100644
--- a/tests/panthor/panthor_query.c
+++ b/tests/panthor/panthor_query.c
@@ -7,7 +7,7 @@
 #include "panthor_drm.h"
 #include <stdint.h>
 
-igt_main() {
+int igt_main() {
 	int fd;
 
 	igt_fixture() {
diff --git a/tests/panthor/panthor_vm.c b/tests/panthor/panthor_vm.c
index 21b9de9be3bf..f91bcaaa0d3a 100644
--- a/tests/panthor/panthor_vm.c
+++ b/tests/panthor/panthor_vm.c
@@ -6,7 +6,7 @@
 #include "igt_panthor.h"
 #include "panthor_drm.h"
 
-igt_main() {
+int igt_main() {
 	int fd;
 
 	igt_fixture() {
diff --git a/tests/prime_nv_api.c b/tests/prime_nv_api.c
index a411090a81e1..08ae5a4bd5d9 100644
--- a/tests/prime_nv_api.c
+++ b/tests/prime_nv_api.c
@@ -346,7 +346,7 @@ static void test_nv_self_import_to_different_fd(void)
 	nouveau_bo_ref(NULL, &nvbo2);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		find_and_open_devices();
diff --git a/tests/prime_nv_pcopy.c b/tests/prime_nv_pcopy.c
index db3f54ab5aed..72f192d648e2 100644
--- a/tests/prime_nv_pcopy.c
+++ b/tests/prime_nv_pcopy.c
@@ -860,7 +860,7 @@ static void test_semaphore(void)
 	gem_close(intel_fd, intel_handle);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		find_and_open_devices();
diff --git a/tests/prime_nv_test.c b/tests/prime_nv_test.c
index 3135191d9319..0766d552cfc3 100644
--- a/tests/prime_nv_test.c
+++ b/tests/prime_nv_test.c
@@ -352,7 +352,7 @@ static void test_i915_blt_fill_nv_read(void)
 
 /* test 9 nouveau copy engine?? */
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		igt_assert(find_and_open_devices() == 0);
diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c
index 2abb1d185440..79963648f132 100644
--- a/tests/prime_vgem.c
+++ b/tests/prime_vgem.c
@@ -1146,7 +1146,7 @@ static void test_each_engine(const char *name, int vgem, int i915,
 		intel_ctx_destroy(i915, ctx);
 }
 
-igt_main()
+int igt_main()
 {
 	int i915 = -1;
 	int vgem = -1;
diff --git a/tests/sriov_basic.c b/tests/sriov_basic.c
index 29e1fd84dd75..69240ab54100 100644
--- a/tests/sriov_basic.c
+++ b/tests/sriov_basic.c
@@ -118,7 +118,7 @@ static void bind_unbind_vf(int pf_fd, unsigned int vf_num)
 	igt_sriov_disable_vfs(pf_fd);
 }
 
-igt_main()
+int igt_main()
 {
 	int pf_fd;
 	bool autoprobe;
diff --git a/tests/sw_sync.c b/tests/sw_sync.c
index f57ffcc10e58..8012652d6d11 100644
--- a/tests/sw_sync.c
+++ b/tests/sw_sync.c
@@ -878,7 +878,7 @@ static void test_sync_random_merge(void)
 		close(timeline_arr[i]);
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		igt_require_sw_sync();
diff --git a/tests/syncobj_basic.c b/tests/syncobj_basic.c
index cd0b3eab0582..e8b47cb7b039 100644
--- a/tests/syncobj_basic.c
+++ b/tests/syncobj_basic.c
@@ -219,7 +219,7 @@ static bool has_syncobj(int fd)
 	return value ? true : false;
 }
 
-igt_main()
+int igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/syncobj_eventfd.c b/tests/syncobj_eventfd.c
index d88ea3e701c0..a213046000cf 100644
--- a/tests/syncobj_eventfd.c
+++ b/tests/syncobj_eventfd.c
@@ -277,7 +277,7 @@ test_wait_signaled(int fd, bool use_timeline)
 	syncobj_destroy(fd, syncobj);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd = -1, i;
 
diff --git a/tests/syncobj_timeline.c b/tests/syncobj_timeline.c
index b83f4c6bcb4a..ccb9e8e6f0a0 100644
--- a/tests/syncobj_timeline.c
+++ b/tests/syncobj_timeline.c
@@ -1695,7 +1695,7 @@ has_syncobj_timeline_wait(int fd)
 	return ret == -1 && errno == ENOENT;
 }
 
-igt_main()
+int igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/syncobj_wait.c b/tests/syncobj_wait.c
index 5ee90c5e9a8c..c65c085c60fd 100644
--- a/tests/syncobj_wait.c
+++ b/tests/syncobj_wait.c
@@ -905,7 +905,7 @@ has_syncobj_wait(int fd)
 	return ret == -1 && errno == ENOENT;
 }
 
-igt_main()
+int igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/template.c b/tests/template.c
index 29733de5785e..fe7454c279cb 100644
--- a/tests/template.c
+++ b/tests/template.c
@@ -58,7 +58,7 @@ static void test_B(int fd)
 
 int drm_fd;
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		drm_fd = drm_open_driver(DRIVER_ANY);
diff --git a/tests/tools_test.c b/tests/tools_test.c
index cc028eca96a7..857f71d14bd2 100644
--- a/tests/tools_test.c
+++ b/tests/tools_test.c
@@ -94,7 +94,7 @@ static bool chdir_to_tools_dir(void)
 	return chdir(TOOLS) == 0 || chdir("../../bin") == 0;
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		char *path;
diff --git a/tests/v3d/v3d_create_bo.c b/tests/v3d/v3d_create_bo.c
index c7a0593de9c7..930c14f68b8c 100644
--- a/tests/v3d/v3d_create_bo.c
+++ b/tests/v3d/v3d_create_bo.c
@@ -8,7 +8,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the V3D's Create BO IOCTL");
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_get_bo_offset.c b/tests/v3d/v3d_get_bo_offset.c
index 8ff9773c0656..64d9a58b3696 100644
--- a/tests/v3d/v3d_get_bo_offset.c
+++ b/tests/v3d/v3d_get_bo_offset.c
@@ -26,7 +26,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the V3D's get BO offset IOCTL");
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_get_param.c b/tests/v3d/v3d_get_param.c
index 7185d630e117..833ff5bf0a9b 100644
--- a/tests/v3d/v3d_get_param.c
+++ b/tests/v3d/v3d_get_param.c
@@ -26,7 +26,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the V3D's get params IOCTL");
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_job_submission.c b/tests/v3d/v3d_job_submission.c
index fcf88daf650b..720450d03e51 100644
--- a/tests/v3d/v3d_job_submission.c
+++ b/tests/v3d/v3d_job_submission.c
@@ -58,7 +58,7 @@ static void *create_csd_jobs(void *args)
 	return NULL;
 }
 
-igt_main()
+int igt_main()
 {
 	igt_fixture() {
 		fd = drm_open_driver(DRIVER_V3D);
diff --git a/tests/v3d/v3d_mmap.c b/tests/v3d/v3d_mmap.c
index 7c433e8a120d..847567417db5 100644
--- a/tests/v3d/v3d_mmap.c
+++ b/tests/v3d/v3d_mmap.c
@@ -26,7 +26,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the V3D's mmap IOCTL");
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_perfmon.c b/tests/v3d/v3d_perfmon.c
index 865b2aa17680..ac6f094c3b29 100644
--- a/tests/v3d/v3d_perfmon.c
+++ b/tests/v3d/v3d_perfmon.c
@@ -8,7 +8,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the V3D's performance monitors");
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_submit_cl.c b/tests/v3d/v3d_submit_cl.c
index d6b12cd67301..570838e23bae 100644
--- a/tests/v3d/v3d_submit_cl.c
+++ b/tests/v3d/v3d_submit_cl.c
@@ -27,7 +27,7 @@ short_timeout(void)
 	return gettime_ns() + SHORT_TIME_NSEC;
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_submit_csd.c b/tests/v3d/v3d_submit_csd.c
index 636e1168733b..e7841f7c8903 100644
--- a/tests/v3d/v3d_submit_csd.c
+++ b/tests/v3d/v3d_submit_csd.c
@@ -29,7 +29,7 @@ short_timeout(void)
 	return gettime_ns() + SHORT_TIME_NSEC;
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/v3d/v3d_wait_bo.c b/tests/v3d/v3d_wait_bo.c
index f30df3c4a902..8d6a38b1b76e 100644
--- a/tests/v3d/v3d_wait_bo.c
+++ b/tests/v3d/v3d_wait_bo.c
@@ -24,7 +24,7 @@ static void test_used_bo(int fd, struct v3d_bo *bo, uint64_t timeout)
 	igt_assert(ret == 0 || (ret == -1 && errno == ETIME));
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 	struct v3d_bo *bo;
diff --git a/tests/vc4/vc4_create_bo.c b/tests/vc4/vc4_create_bo.c
index 75fdcdf60ee3..f6ca3dd8dce9 100644
--- a/tests/vc4/vc4_create_bo.c
+++ b/tests/vc4/vc4_create_bo.c
@@ -24,7 +24,7 @@
 #include "igt.h"
 #include "igt_vc4.h"
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_dmabuf_poll.c b/tests/vc4/vc4_dmabuf_poll.c
index a2ee5371c36a..dedf690877e8 100644
--- a/tests/vc4/vc4_dmabuf_poll.c
+++ b/tests/vc4/vc4_dmabuf_poll.c
@@ -55,7 +55,7 @@ poll_write_bo_test(int fd, int poll_flag)
 	gem_close(fd, handle);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_label_bo.c b/tests/vc4/vc4_label_bo.c
index d00ab0155ef1..bae12cd7ca36 100644
--- a/tests/vc4/vc4_label_bo.c
+++ b/tests/vc4/vc4_label_bo.c
@@ -39,7 +39,7 @@ set_label(int fd, int handle, const char *name, int err)
 		do_ioctl(fd, DRM_IOCTL_VC4_LABEL_BO, &label);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_lookup_fail.c b/tests/vc4/vc4_lookup_fail.c
index 592f1f6c04d2..e37d34d25504 100644
--- a/tests/vc4/vc4_lookup_fail.c
+++ b/tests/vc4/vc4_lookup_fail.c
@@ -25,7 +25,7 @@
 #include "igt_vc4.h"
 #include "vc4_packet.h"
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_mmap.c b/tests/vc4/vc4_mmap.c
index 07fa6bee362f..1d1d34e6fb5d 100644
--- a/tests/vc4/vc4_mmap.c
+++ b/tests/vc4/vc4_mmap.c
@@ -8,7 +8,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the VC4's mmap IOCTL");
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_perfmon.c b/tests/vc4/vc4_perfmon.c
index 829e32d3761c..df0d163fcb7e 100644
--- a/tests/vc4/vc4_perfmon.c
+++ b/tests/vc4/vc4_perfmon.c
@@ -8,7 +8,7 @@
 
 IGT_TEST_DESCRIPTION("Tests for the VC4's performance monitors");
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_purgeable_bo.c b/tests/vc4/vc4_purgeable_bo.c
index b657ddfdf706..3c3dc1e6d5e7 100644
--- a/tests/vc4/vc4_purgeable_bo.c
+++ b/tests/vc4/vc4_purgeable_bo.c
@@ -94,7 +94,7 @@ static void igt_vc4_purgeable_subtest_prepare(int fd, struct igt_list_head *list
 	igt_assert(!igt_list_empty(list));
 }
 
-igt_main()
+int igt_main()
 {
 	struct igt_vc4_bo *bo;
 	struct igt_list_head list;
diff --git a/tests/vc4/vc4_tiling.c b/tests/vc4/vc4_tiling.c
index 227f42f16db0..648d683fa7b7 100644
--- a/tests/vc4/vc4_tiling.c
+++ b/tests/vc4/vc4_tiling.c
@@ -24,7 +24,7 @@
 #include "igt.h"
 #include "igt_vc4.h"
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/vc4/vc4_wait_bo.c b/tests/vc4/vc4_wait_bo.c
index 25441edc8672..811d1034ce21 100644
--- a/tests/vc4/vc4_wait_bo.c
+++ b/tests/vc4/vc4_wait_bo.c
@@ -57,7 +57,7 @@ test_used_bo(int fd, uint64_t timeout)
 	gem_close(fd, handle);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 	int bo_handle;
diff --git a/tests/vc4/vc4_wait_seqno.c b/tests/vc4/vc4_wait_seqno.c
index e192378745b6..8a46d0bfd19b 100644
--- a/tests/vc4/vc4_wait_seqno.c
+++ b/tests/vc4/vc4_wait_seqno.c
@@ -24,7 +24,7 @@
 #include "igt.h"
 #include "igt_vc4.h"
 
-igt_main()
+int igt_main()
 {
 	int fd;
 
diff --git a/tests/vgem_basic.c b/tests/vgem_basic.c
index 0f94a1649a02..a4271511dd5c 100644
--- a/tests/vgem_basic.c
+++ b/tests/vgem_basic.c
@@ -489,7 +489,7 @@ static bool has_prime_export(int fd)
 	return value & DRM_PRIME_CAP_EXPORT;
 }
 
-igt_main()
+int igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/vgem_slow.c b/tests/vgem_slow.c
index 0da74b1fb09c..d085422f726d 100644
--- a/tests/vgem_slow.c
+++ b/tests/vgem_slow.c
@@ -85,7 +85,7 @@ static void test_nohang(int fd)
 	gem_close(fd, bo.handle);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd = -1;
 
diff --git a/tests/vkms/vkms_configfs.c b/tests/vkms/vkms_configfs.c
index 6a585c96bce0..a1c3f77fa618 100644
--- a/tests/vkms/vkms_configfs.c
+++ b/tests/vkms/vkms_configfs.c
@@ -1895,7 +1895,7 @@ static void test_enabled_connector_hot_plug(void)
 	igt_vkms_device_destroy(dev);
 }
 
-igt_main()
+int igt_main()
 {
 	struct {
 		const char *name;
diff --git a/tests/vmwgfx/vmw_execution_buffer.c b/tests/vmwgfx/vmw_execution_buffer.c
index 4fcefe622cd6..5a50a8e475f1 100644
--- a/tests/vmwgfx/vmw_execution_buffer.c
+++ b/tests/vmwgfx/vmw_execution_buffer.c
@@ -248,7 +248,7 @@ static void execbuf_stress_test(int fd)
 	pthread_join(threads[1], &status);
 }
 
-igt_main_args("st:", long_options, NULL, parse_options, NULL)
+int igt_main_args("st:", long_options, NULL, parse_options, NULL)
 {
 	int fd;
 
diff --git a/tests/vmwgfx/vmw_mob_stress.c b/tests/vmwgfx/vmw_mob_stress.c
index 9f5fbd7c09ce..8198939d9865 100644
--- a/tests/vmwgfx/vmw_mob_stress.c
+++ b/tests/vmwgfx/vmw_mob_stress.c
@@ -45,7 +45,7 @@ static void test_triangle_render(struct vmw_svga_device *device, int32 cid)
 	vmw_destroy_default_objects(device, &objects);
 }
 
-igt_main()
+int igt_main()
 {
 	struct vmw_svga_device device;
 	int32 cid;
diff --git a/tests/vmwgfx/vmw_prime.c b/tests/vmwgfx/vmw_prime.c
index 7ff5ec843539..c0c1c3d8343d 100644
--- a/tests/vmwgfx/vmw_prime.c
+++ b/tests/vmwgfx/vmw_prime.c
@@ -503,7 +503,7 @@ static void test_vgem(struct gpu_process_t *gpu, int vgem_fd)
 	gem_close(gpu->mdevice.drm_fd, vmw_buffer_handle);
 }
 
-igt_main()
+int igt_main()
 {
 	struct gpu_process_t gpu = { 0 };
 	int second_fd_vgem = -1;
diff --git a/tests/vmwgfx/vmw_ref_count.c b/tests/vmwgfx/vmw_ref_count.c
index 1f3606c30cdc..af3872249051 100644
--- a/tests/vmwgfx/vmw_ref_count.c
+++ b/tests/vmwgfx/vmw_ref_count.c
@@ -86,7 +86,7 @@ static bool ref_surface_and_check_contents(int32 fd, uint32 surface_handle)
 	return data_valid;
 }
 
-igt_main()
+int igt_main()
 {
 	int32 fd1, fd2;
 	const uint32 size = sizeof(data);
diff --git a/tests/vmwgfx/vmw_surface_copy.c b/tests/vmwgfx/vmw_surface_copy.c
index 92b0740319e4..9a3b6e22ae82 100644
--- a/tests/vmwgfx/vmw_surface_copy.c
+++ b/tests/vmwgfx/vmw_surface_copy.c
@@ -306,7 +306,7 @@ static void test_invalid_copies_3d(int fd, int32 cid)
 	vmw_ioctl_surface_unref(fd, s2);
 }
 
-igt_main()
+int igt_main()
 {
 	int fd;
 	int32 cid;
diff --git a/tests/vmwgfx/vmw_tri.c b/tests/vmwgfx/vmw_tri.c
index 3091d925526d..19a21945837d 100644
--- a/tests/vmwgfx/vmw_tri.c
+++ b/tests/vmwgfx/vmw_tri.c
@@ -180,7 +180,7 @@ static void draw_triangle_on_coherent_rt(struct vmw_svga_device *device,
 	vmw_destroy_default_objects(device, &objects);
 }
 
-igt_main()
+int igt_main()
 {
 	struct vmw_svga_device device;
 	int32 cid;
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH i-g-t 6/7] igt: Make igt_simple_main*() look like normal function definition
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (4 preceding siblings ...)
  2025-11-20 19:14 ` [PATCH i-g-t 5/7] igt: Make igt_main*() look like normal function definition Ville Syrjala
@ 2025-11-20 19:14 ` Ville Syrjala
  2025-11-20 19:14 ` [PATCH i-g-t 7/7] scripts/cocci: Add iterators.cocci Ville Syrjala
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 29+ messages in thread
From: Ville Syrjala @ 2025-11-20 19:14 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Coccinelle chokes on igt_simple_main*() because it looks like
a function definition without a type. Make it look like
a normal thing by moving the type out of the macro.

The macro still needs the __real_main forward declaration
so we can't actually expose the type from the main()
definition, but we can add a forward declaration for main()
ahead of the __real_main declaration, and if we leave out
the type there it must be placed into the place where
igt_simple_main*() is used.

The bulk conversion was done with sed:
$ find -type f -name \*.[ch] -exec sed -i 's/^igt_simple_main/int igt_simple_main/g' {} +

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 benchmarks/kms_fb_stress.c               | 2 +-
 lib/igt_core.h                           | 1 +
 lib/tests/igt_can_fail_simple.c          | 2 +-
 lib/tests/igt_edid.c                     | 2 +-
 lib/tests/igt_facts.c                    | 2 +-
 lib/tests/igt_simple_test_subtests.c     | 2 +-
 lib/tests/igt_stats.c                    | 2 +-
 lib/tests/igt_timeout.c                  | 2 +-
 runner/testdata/abort-simple.c           | 2 +-
 runner/testdata/no-subtests.c            | 2 +-
 tests/core_setmaster_vs_auth.c           | 2 +-
 tests/intel/gem_exec_lut_handle.c        | 2 +-
 tests/intel/gem_fd_exhaustion.c          | 2 +-
 tests/intel/gem_gtt_cpu_tlb.c            | 2 +-
 tests/intel/gem_gtt_hog.c                | 2 +-
 tests/intel/gem_gtt_speed.c              | 2 +-
 tests/intel/gem_lut_handle.c             | 2 +-
 tests/intel/gem_media_vme.c              | 2 +-
 tests/intel/gem_pwrite_snooped.c         | 2 +-
 tests/intel/gem_set_tiling_vs_gtt.c      | 2 +-
 tests/intel/gem_set_tiling_vs_pwrite.c   | 2 +-
 tests/intel/gem_stress.c                 | 2 +-
 tests/intel/gem_tiled_pread_basic.c      | 2 +-
 tests/intel/gem_tiled_pread_pwrite.c     | 2 +-
 tests/intel/gem_tiled_wb.c               | 2 +-
 tests/intel/gem_tiled_wc.c               | 2 +-
 tests/intel/gem_tiling_max_stride.c      | 2 +-
 tests/intel/gem_unfence_active_buffers.c | 2 +-
 tests/intel/gem_unref_active_buffers.c   | 2 +-
 tests/intel/gen3_mixed_blits.c           | 2 +-
 tests/intel/gen3_render_linear_blits.c   | 2 +-
 tests/intel/gen3_render_mixed_blits.c    | 2 +-
 tests/intel/gen3_render_tiledx_blits.c   | 2 +-
 tests/intel/gen3_render_tiledy_blits.c   | 2 +-
 tests/intel/i915_pciid.c                 | 2 +-
 tests/intel/kms_fence_pin_leak.c         | 2 +-
 tests/intel/kms_pwrite_crc.c             | 2 +-
 tests/kms_dp_aux_dev.c                   | 2 +-
 tests/kms_sysfs_edid_timing.c            | 2 +-
 tests/prime_udl.c                        | 2 +-
 tests/testdisplay.c                      | 2 +-
 41 files changed, 41 insertions(+), 40 deletions(-)

diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index dff1467d840a..49ca5c7239d7 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -139,7 +139,7 @@ static struct kms_t default_kms = {
 };
 
 
-igt_simple_main()
+int igt_simple_main()
 {
 	struct data_t data = {0};
 	enum pipe pipe = PIPE_NONE;
diff --git a/lib/igt_core.h b/lib/igt_core.h
index fac27608986c..6845f853c980 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -483,6 +483,7 @@ void igt_simple_init_parse_opts(int *argc, char **argv,
  * #igt_simple_init_parse_opts.
  */
 #define igt_simple_main_args(short_opts, long_opts, help_str, opt_handler, handler_data) \
+	main(int argc, char **argv); \
 	static void igt_unique(__real_main)(void); \
 	int main(int argc, char **argv) { \
 		igt_simple_init_parse_opts(&argc, argv, \
diff --git a/lib/tests/igt_can_fail_simple.c b/lib/tests/igt_can_fail_simple.c
index 0f8d993d3464..98405f5a2537 100644
--- a/lib/tests/igt_can_fail_simple.c
+++ b/lib/tests/igt_can_fail_simple.c
@@ -26,7 +26,7 @@
 
 #include "igt_tests_common.h"
 
-igt_simple_main()
+int igt_simple_main()
 {
 	internal_assert(igt_can_fail());
 }
diff --git a/lib/tests/igt_edid.c b/lib/tests/igt_edid.c
index 00feac3564a1..c358f759af11 100644
--- a/lib/tests/igt_edid.c
+++ b/lib/tests/igt_edid.c
@@ -66,7 +66,7 @@ static bool edid_block_checksum(const unsigned char *raw_edid)
 
 typedef const struct edid *(*get_edid_func)(void);
 
-igt_simple_main()
+int igt_simple_main()
 {
 	const struct {
 		const char *desc;
diff --git a/lib/tests/igt_facts.c b/lib/tests/igt_facts.c
index 3433244c6478..3ee4784643e4 100644
--- a/lib/tests/igt_facts.c
+++ b/lib/tests/igt_facts.c
@@ -10,7 +10,7 @@
 
 /* Tests are not defined here so we can keep most of the functions static */
 
-igt_simple_main()
+int igt_simple_main()
 {
 	igt_info("Running igt_facts_test\n");
 
diff --git a/lib/tests/igt_simple_test_subtests.c b/lib/tests/igt_simple_test_subtests.c
index e153d3883efb..71d5133ec0dd 100644
--- a/lib/tests/igt_simple_test_subtests.c
+++ b/lib/tests/igt_simple_test_subtests.c
@@ -23,7 +23,7 @@
 
 #include "igt_core.h"
 
-igt_simple_main()
+int igt_simple_main()
 {
 	igt_subtest("subtest") {
 		igt_info("Invalid subtest.\n");
diff --git a/lib/tests/igt_stats.c b/lib/tests/igt_stats.c
index d0c0ac6d3530..f4c09e22fa25 100644
--- a/lib/tests/igt_stats.c
+++ b/lib/tests/igt_stats.c
@@ -228,7 +228,7 @@ static void test_reallocation(void)
 	igt_stats_fini(&stats);
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	test_init_zero();
 	test_init();
diff --git a/lib/tests/igt_timeout.c b/lib/tests/igt_timeout.c
index 171bf15b82f6..48a8882ad9ef 100644
--- a/lib/tests/igt_timeout.c
+++ b/lib/tests/igt_timeout.c
@@ -1,7 +1,7 @@
 #include "igt_core.h"
 #include <unistd.h>
 
-igt_simple_main()
+int igt_simple_main()
 {
 	igt_set_timeout(1, "Testcase");
 	sleep(5);
diff --git a/runner/testdata/abort-simple.c b/runner/testdata/abort-simple.c
index 88512ece9388..2d9912b8035f 100644
--- a/runner/testdata/abort-simple.c
+++ b/runner/testdata/abort-simple.c
@@ -23,7 +23,7 @@
 
 #include "igt.h"
 
-igt_simple_main()
+int igt_simple_main()
 {
 	igt_abort_on_f(true, "I'm out!\n");
 }
diff --git a/runner/testdata/no-subtests.c b/runner/testdata/no-subtests.c
index ea517b69e1ef..bfbd80aa5e62 100644
--- a/runner/testdata/no-subtests.c
+++ b/runner/testdata/no-subtests.c
@@ -1,6 +1,6 @@
 #include "igt.h"
 
-igt_simple_main()
+int igt_simple_main()
 {
 
 }
diff --git a/tests/core_setmaster_vs_auth.c b/tests/core_setmaster_vs_auth.c
index 6867e46aeca5..5e39bffef379 100644
--- a/tests/core_setmaster_vs_auth.c
+++ b/tests/core_setmaster_vs_auth.c
@@ -57,7 +57,7 @@
 IGT_TEST_DESCRIPTION("Check that drop/setMaster correctly transfer master "
 		     "state");
 
-igt_simple_main()
+int igt_simple_main()
 {
 	int master1, master2, client;
 	drm_magic_t magic;
diff --git a/tests/intel/gem_exec_lut_handle.c b/tests/intel/gem_exec_lut_handle.c
index 8abe1ca4f8fc..fac7f2fbb45f 100644
--- a/tests/intel/gem_exec_lut_handle.c
+++ b/tests/intel/gem_exec_lut_handle.c
@@ -88,7 +88,7 @@ static int has_exec_lut(int fd)
 }
 
 #define ELAPSED(a,b) (1e6*((b)->tv_sec - (a)->tv_sec) + ((b)->tv_usec - (a)->tv_usec))
-igt_simple_main()
+int igt_simple_main()
 {
 	uint32_t batch[2] = {MI_BATCH_BUFFER_END};
 	uint32_t cycle[16];
diff --git a/tests/intel/gem_fd_exhaustion.c b/tests/intel/gem_fd_exhaustion.c
index 1c35614af49b..cb7b907e7b60 100644
--- a/tests/intel/gem_fd_exhaustion.c
+++ b/tests/intel/gem_fd_exhaustion.c
@@ -44,7 +44,7 @@
  * SUBTEST:
  */
 
-igt_simple_main()
+int igt_simple_main()
 {
 	int fd;
 
diff --git a/tests/intel/gem_gtt_cpu_tlb.c b/tests/intel/gem_gtt_cpu_tlb.c
index 1ee0732ad34b..d3657687f58b 100644
--- a/tests/intel/gem_gtt_cpu_tlb.c
+++ b/tests/intel/gem_gtt_cpu_tlb.c
@@ -82,7 +82,7 @@ create_bo(int fd)
 	return handle;
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	int fd;
 	int i;
diff --git a/tests/intel/gem_gtt_hog.c b/tests/intel/gem_gtt_hog.c
index b4226ac232c1..c2853665fbbe 100644
--- a/tests/intel/gem_gtt_hog.c
+++ b/tests/intel/gem_gtt_hog.c
@@ -163,7 +163,7 @@ static void run(data_t *data, int child)
 	igt_assert_eq_u32(x, canary);
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	struct timeval start, end;
 	pid_t children[64];
diff --git a/tests/intel/gem_gtt_speed.c b/tests/intel/gem_gtt_speed.c
index 0f4e174d2e32..eb82fa051c0d 100644
--- a/tests/intel/gem_gtt_speed.c
+++ b/tests/intel/gem_gtt_speed.c
@@ -114,7 +114,7 @@ static int opt_handler(int opt, int opt_index, void *data)
 
 const char *help_str = "  -s\tObject size in bytes\n";
 
-igt_simple_main_args("s:", NULL, help_str, opt_handler, NULL)
+int igt_simple_main_args("s:", NULL, help_str, opt_handler, NULL)
 {
 	struct timeval start, end;
 	uint8_t *buf;
diff --git a/tests/intel/gem_lut_handle.c b/tests/intel/gem_lut_handle.c
index 183da9620d44..dc98722dc916 100644
--- a/tests/intel/gem_lut_handle.c
+++ b/tests/intel/gem_lut_handle.c
@@ -173,7 +173,7 @@ static int many_exec(int fd, uint32_t batch, int num_exec, int num_reloc, unsign
 #define fail(x) igt_assert((x) == -ENOENT)
 #define pass(x) igt_assert((x) == 0)
 
-igt_simple_main()
+int igt_simple_main()
 {
 	uint32_t batch[2] = {MI_BATCH_BUFFER_END};
 	uint32_t handle;
diff --git a/tests/intel/gem_media_vme.c b/tests/intel/gem_media_vme.c
index 0d3d19eef67a..e47f4df21227 100644
--- a/tests/intel/gem_media_vme.c
+++ b/tests/intel/gem_media_vme.c
@@ -102,7 +102,7 @@ static void shut_non_vme_subslices(int drm_fd, uint32_t ctx)
 	gem_context_set_param(drm_fd, &arg);
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	struct buf_ops *bops;
 	struct intel_buf src, dst;
diff --git a/tests/intel/gem_pwrite_snooped.c b/tests/intel/gem_pwrite_snooped.c
index fc89310824fe..809af7c03d1a 100644
--- a/tests/intel/gem_pwrite_snooped.c
+++ b/tests/intel/gem_pwrite_snooped.c
@@ -139,7 +139,7 @@ static void test(int w, int h)
 	intel_buf_destroy(dst);
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	fd = drm_open_driver(DRIVER_INTEL);
 	igt_require_gem(fd);
diff --git a/tests/intel/gem_set_tiling_vs_gtt.c b/tests/intel/gem_set_tiling_vs_gtt.c
index 8c29b69b0388..91e7d8c2e86a 100644
--- a/tests/intel/gem_set_tiling_vs_gtt.c
+++ b/tests/intel/gem_set_tiling_vs_gtt.c
@@ -59,7 +59,7 @@ IGT_TEST_DESCRIPTION("Check set_tiling vs gtt mmap coherency.");
  * Testcase: Check set_tiling vs gtt mmap coherency
  */
 
-igt_simple_main()
+int igt_simple_main()
 {
 	int fd;
 	uint32_t *ptr;
diff --git a/tests/intel/gem_set_tiling_vs_pwrite.c b/tests/intel/gem_set_tiling_vs_pwrite.c
index 7a6ed8cea8cd..d89bceac365d 100644
--- a/tests/intel/gem_set_tiling_vs_pwrite.c
+++ b/tests/intel/gem_set_tiling_vs_pwrite.c
@@ -59,7 +59,7 @@ IGT_TEST_DESCRIPTION("Check set_tiling vs pwrite coherency.");
  * Testcase: Check set_tiling vs pwrite coherency
  */
 
-igt_simple_main()
+int igt_simple_main()
 {
 	uint32_t data[OBJECT_SIZE/4];
 	uint32_t *ptr;
diff --git a/tests/intel/gem_stress.c b/tests/intel/gem_stress.c
index dfdea74ce4b4..1a19b25e3efe 100644
--- a/tests/intel/gem_stress.c
+++ b/tests/intel/gem_stress.c
@@ -878,7 +878,7 @@ static struct option long_options[] = {
 	{NULL, 0, 0, 0},
 };
 
-igt_simple_main_args("ds:g:c:t:rbuxmo:fp:",
+int igt_simple_main_args("ds:g:c:t:rbuxmo:fp:",
 		     long_options, NULL, parse_options, NULL)
 {
 	int i, j;
diff --git a/tests/intel/gem_tiled_pread_basic.c b/tests/intel/gem_tiled_pread_basic.c
index e5f9c2a301ce..9b5d828654e9 100644
--- a/tests/intel/gem_tiled_pread_basic.c
+++ b/tests/intel/gem_tiled_pread_basic.c
@@ -127,7 +127,7 @@ calculate_expected(int offset, struct offset *dbg)
 	return (dbg->base_y + dbg->tile_y) * WIDTH + dbg->base_x + dbg->tile_x;
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	int fd;
 	int i, iter = 100;
diff --git a/tests/intel/gem_tiled_pread_pwrite.c b/tests/intel/gem_tiled_pread_pwrite.c
index 659e521f2c6c..5dcae4b75c97 100644
--- a/tests/intel/gem_tiled_pread_pwrite.c
+++ b/tests/intel/gem_tiled_pread_pwrite.c
@@ -117,7 +117,7 @@ static void copy_wc_page(void *dst, const void *src)
 	igt_memcpy_from_wc(dst, src, PAGE_SIZE);
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	uint32_t tiling, swizzle;
 	int count;
diff --git a/tests/intel/gem_tiled_wb.c b/tests/intel/gem_tiled_wb.c
index 38838b00f782..05712f881b62 100644
--- a/tests/intel/gem_tiled_wb.c
+++ b/tests/intel/gem_tiled_wb.c
@@ -146,7 +146,7 @@ get_tiling(int fd, uint32_t handle, uint32_t *tiling, uint32_t *swizzle)
 	*swizzle = arg.swizzle_mode;
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	int fd;
 	int i, iter = 100;
diff --git a/tests/intel/gem_tiled_wc.c b/tests/intel/gem_tiled_wc.c
index 71517b018a6f..9675217f3cdf 100644
--- a/tests/intel/gem_tiled_wc.c
+++ b/tests/intel/gem_tiled_wc.c
@@ -148,7 +148,7 @@ calculate_expected(int offset)
 	return (base_y + tile_y) * WIDTH + base_x + tile_x;
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	uint32_t tiling, swizzle;
 	uint32_t handle;
diff --git a/tests/intel/gem_tiling_max_stride.c b/tests/intel/gem_tiling_max_stride.c
index 56081b76478f..d01c21bcae6b 100644
--- a/tests/intel/gem_tiling_max_stride.c
+++ b/tests/intel/gem_tiling_max_stride.c
@@ -68,7 +68,7 @@ static void test_invalid_tiling(int fd, uint32_t handle, int stride)
  * Testcase: Check that max fence stride works
  */
 
-igt_simple_main()
+int igt_simple_main()
 {
 	int fd;
 	uint32_t *ptr;
diff --git a/tests/intel/gem_unfence_active_buffers.c b/tests/intel/gem_unfence_active_buffers.c
index 36d2b772d6ba..924afcbc8cd7 100644
--- a/tests/intel/gem_unfence_active_buffers.c
+++ b/tests/intel/gem_unfence_active_buffers.c
@@ -76,7 +76,7 @@ static uint32_t create_tiled(int i915)
 	return handle;
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	int i915, num_fences;
 	igt_spin_t *spin;
diff --git a/tests/intel/gem_unref_active_buffers.c b/tests/intel/gem_unref_active_buffers.c
index cbde235a48e3..a778c68818cb 100644
--- a/tests/intel/gem_unref_active_buffers.c
+++ b/tests/intel/gem_unref_active_buffers.c
@@ -74,7 +74,7 @@ static void alarm_handler(int sig)
 {
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	struct sigaction old_sa, sa = { .sa_handler = alarm_handler };
 	unsigned int last[2]= { -1, -1 }, count;
diff --git a/tests/intel/gen3_mixed_blits.c b/tests/intel/gen3_mixed_blits.c
index 466e95500dd7..7622b71bd935 100644
--- a/tests/intel/gen3_mixed_blits.c
+++ b/tests/intel/gen3_mixed_blits.c
@@ -455,7 +455,7 @@ check_bo(int fd, uint32_t handle, uint32_t val)
 }
 
 
-igt_simple_main()
+int igt_simple_main()
 {
 	uint32_t *handle, *tiling, *start_val;
 	uint32_t start = 0;
diff --git a/tests/intel/gen3_render_linear_blits.c b/tests/intel/gen3_render_linear_blits.c
index c5f4cd3d8f3d..aaf95d8d82a6 100644
--- a/tests/intel/gen3_render_linear_blits.c
+++ b/tests/intel/gen3_render_linear_blits.c
@@ -327,7 +327,7 @@ check_bo(int fd, uint32_t handle, uint32_t val)
 	}
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	uint32_t *handle, *start_val;
 	uint32_t start = 0;
diff --git a/tests/intel/gen3_render_mixed_blits.c b/tests/intel/gen3_render_mixed_blits.c
index b3a06d3879f7..c441ae89f377 100644
--- a/tests/intel/gen3_render_mixed_blits.c
+++ b/tests/intel/gen3_render_mixed_blits.c
@@ -348,7 +348,7 @@ check_bo(int fd, uint32_t handle, uint32_t val)
 	munmap(v, WIDTH*HEIGHT*4);
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	uint32_t *handle, *tiling, *start_val;
 	uint32_t start = 0;
diff --git a/tests/intel/gen3_render_tiledx_blits.c b/tests/intel/gen3_render_tiledx_blits.c
index 4b93d9ee638f..fe926f2325cc 100644
--- a/tests/intel/gen3_render_tiledx_blits.c
+++ b/tests/intel/gen3_render_tiledx_blits.c
@@ -335,7 +335,7 @@ check_bo(int fd, uint32_t handle, uint32_t val)
 	munmap(v, WIDTH*HEIGHT*4);
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	uint32_t *handle, *start_val;
 	uint32_t start = 0;
diff --git a/tests/intel/gen3_render_tiledy_blits.c b/tests/intel/gen3_render_tiledy_blits.c
index b240c384d3ac..8bec7e425c99 100644
--- a/tests/intel/gen3_render_tiledy_blits.c
+++ b/tests/intel/gen3_render_tiledy_blits.c
@@ -335,7 +335,7 @@ check_bo(int fd, uint32_t handle, uint32_t val)
 	munmap(v, WIDTH*HEIGHT*4);
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	uint32_t *handle, *start_val;
 	uint32_t start = 0;
diff --git a/tests/intel/i915_pciid.c b/tests/intel/i915_pciid.c
index 4c21c9603c3d..7325880fc0fa 100644
--- a/tests/intel/i915_pciid.c
+++ b/tests/intel/i915_pciid.c
@@ -71,7 +71,7 @@ static bool has_known_intel_chipset(int fd)
 	return true;
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	int intel = drm_open_driver(DRIVER_INTEL);
 
diff --git a/tests/intel/kms_fence_pin_leak.c b/tests/intel/kms_fence_pin_leak.c
index f6f05d20e5be..2e3165300eb8 100644
--- a/tests/intel/kms_fence_pin_leak.c
+++ b/tests/intel/kms_fence_pin_leak.c
@@ -227,7 +227,7 @@ static void run_test(data_t *data)
 	igt_skip("no valid crtc/connector combinations found\n");
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	data_t data = {};
 
diff --git a/tests/intel/kms_pwrite_crc.c b/tests/intel/kms_pwrite_crc.c
index e35fccb5c1b7..03944c201f61 100644
--- a/tests/intel/kms_pwrite_crc.c
+++ b/tests/intel/kms_pwrite_crc.c
@@ -190,7 +190,7 @@ static void run_test(data_t *data)
 
 static data_t data;
 
-igt_simple_main()
+int igt_simple_main()
 {
 	data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
 	kmstest_set_vt_graphics_mode();
diff --git a/tests/kms_dp_aux_dev.c b/tests/kms_dp_aux_dev.c
index 55012ff0ec7b..b09669a34bf5 100644
--- a/tests/kms_dp_aux_dev.c
+++ b/tests/kms_dp_aux_dev.c
@@ -144,7 +144,7 @@ static bool test(int drm_fd, uint32_t connector_id)
 	return false;
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	int valid_connectors = 0;
 	drmModeRes *res;
diff --git a/tests/kms_sysfs_edid_timing.c b/tests/kms_sysfs_edid_timing.c
index 2b376015d5af..6dbd762e4b9e 100644
--- a/tests/kms_sysfs_edid_timing.c
+++ b/tests/kms_sysfs_edid_timing.c
@@ -57,7 +57,7 @@ IGT_TEST_DESCRIPTION("This test checks the time it takes to reprobe each "
 		     "make sure that the mean time for all connectors is "
 		     "not too long.");
 
-igt_simple_main()
+int igt_simple_main()
 {
 	DIR *dirp;
 	struct dirent *de;
diff --git a/tests/prime_udl.c b/tests/prime_udl.c
index a383298ac9dc..25950a09d9a9 100644
--- a/tests/prime_udl.c
+++ b/tests/prime_udl.c
@@ -121,7 +121,7 @@ static void test2(void)
 	gem_close(intel_fd, intel_handle);
 }
 
-igt_simple_main()
+int igt_simple_main()
 {
 	igt_assert(find_and_open_devices() >= 0);
 
diff --git a/tests/testdisplay.c b/tests/testdisplay.c
index 5131750ce346..be88d8fb8343 100644
--- a/tests/testdisplay.c
+++ b/tests/testdisplay.c
@@ -708,7 +708,7 @@ static int opt_handler(int opt, int opt_index, void *data)
 	return IGT_OPT_HANDLER_SUCCESS;
 }
 
-igt_simple_main_args(optstr, long_opts, help_str, opt_handler, NULL)
+int igt_simple_main_args(optstr, long_opts, help_str, opt_handler, NULL)
 {
 	int ret = 0;
 	GIOChannel *stdinchannel;
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH i-g-t 7/7] scripts/cocci: Add iterators.cocci
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (5 preceding siblings ...)
  2025-11-20 19:14 ` [PATCH i-g-t 6/7] igt: Make igt_simple_main*() " Ville Syrjala
@ 2025-11-20 19:14 ` Ville Syrjala
  2025-11-24 21:49   ` Ville Syrjälä
  2025-11-20 19:51 ` ✓ Xe.CI.BAT: success for igt: Help out coccinelle Patchwork
                   ` (9 subsequent siblings)
  16 siblings, 1 reply; 29+ messages in thread
From: Ville Syrjala @ 2025-11-20 19:14 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Coccinelle often chokes on magic iterator macros. We
can lend it a hand by explicitly declaring those macros
as iterators. Start collecting them in
scripts/iterators.cocci which people can easily include
in their cocci scripts.

The "struct dummy" is there because coccinelle doesn't
like an empty script. Dunno if there's a cleaner way
around that?

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 scripts/iterators.cocci | 53 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 scripts/iterators.cocci

diff --git a/scripts/iterators.cocci b/scripts/iterators.cocci
new file mode 100644
index 000000000000..90d3ae437a15
--- /dev/null
+++ b/scripts/iterators.cocci
@@ -0,0 +1,53 @@
+// SPDX-License-Identifier: MIT
+//
+// Use with
+// #include "scripts/iterators.cocci"
+// at the start of your cocci script
+
+@@
+iterator name for_each_collection_data;
+iterator name for_each_combination;
+iterator name for_each_connected_output;
+iterator name for_each_connector_mode;
+iterator name for_each_ctx_engine;
+iterator name for_each_disconnected_output;
+iterator name for_each_format;
+iterator name for_each_if;
+iterator name for_each_output;
+iterator name for_each_pipe;
+iterator name for_each_pipe_static;
+iterator name for_each_pipe_with_single_output;
+iterator name for_each_pipe_with_valid_output;
+iterator name for_each_plane_on_pipe;
+iterator name for_each_prime_number;
+iterator name for_each_sriov_enabled_vf;
+iterator name for_each_sriov_num_vfsfor_each_sriov_vf;
+iterator name for_each_sriov_num_vfs_in_rangefor_each_sriov_vf_in_range;
+iterator name for_each_sriov_vf;
+iterator name for_each_sriov_vf_in_range;
+iterator name for_each_subset;
+iterator name for_each_subset;
+iterator name for_each_sysfs_gt_dirfd;
+iterator name for_each_sysfs_gt_path;
+iterator name for_each_sysfs_tile_dirfd;
+iterator name for_each_tiling;
+iterator name for_each_valid_output_on_pipe;
+iterator name for_each_variation_nr;
+iterator name for_each_variation_r;
+iterator name igt_for_each_drm_client;
+iterator name igt_list_for_each_entry;
+iterator name igt_list_for_each_entry_reverse;
+iterator name igt_list_for_each_entry_safe;
+iterator name igt_list_for_each_entry_safe_reverse;
+iterator name igt_dynamic;
+iterator name igt_dynamic_f;
+iterator name igt_fixture;
+iterator name igt_fork;
+iterator name igt_require;
+iterator name igt_subtest;
+iterator name igt_subtest_f;
+iterator name igt_subtest_group;
+iterator name igt_subtest_with_dynamic;
+iterator name igt_subtest_with_dynamic_f;
+@@
+struct dummy
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* ✓ Xe.CI.BAT: success for igt: Help out coccinelle
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (6 preceding siblings ...)
  2025-11-20 19:14 ` [PATCH i-g-t 7/7] scripts/cocci: Add iterators.cocci Ville Syrjala
@ 2025-11-20 19:51 ` Patchwork
  2025-11-20 20:05 ` ✗ i915.CI.BAT: failure " Patchwork
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2025-11-20 19:51 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 2756 bytes --]

== Series Details ==

Series: igt: Help out coccinelle
URL   : https://patchwork.freedesktop.org/series/157868/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_8636_BAT -> XEIGTPW_14090_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (13 -> 13)
------------------------------

  No changes in participating hosts

Known issues
------------

  Here are the changes found in XEIGTPW_14090_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_force_connector_basic@force-edid:
    - bat-bmg-2:          NOTRUN -> [ABORT][1] ([Intel XE#1727] / [Intel XE#4760])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/bat-bmg-2/igt@kms_force_connector_basic@force-edid.html

  * igt@xe_waitfence@abstime:
    - bat-dg2-oem2:       [PASS][2] -> [TIMEOUT][3] ([Intel XE#6506])
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/bat-dg2-oem2/igt@xe_waitfence@abstime.html
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/bat-dg2-oem2/igt@xe_waitfence@abstime.html

  
#### Possible fixes ####

  * igt@kms_force_connector_basic@force-connector-state:
    - bat-bmg-2:          [ABORT][4] ([Intel XE#1727] / [Intel XE#4760]) -> [PASS][5]
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/bat-bmg-2/igt@kms_force_connector_basic@force-connector-state.html
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/bat-bmg-2/igt@kms_force_connector_basic@force-connector-state.html

  * igt@xe_waitfence@engine:
    - bat-dg2-oem2:       [FAIL][6] ([Intel XE#6519]) -> [PASS][7]
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/bat-dg2-oem2/igt@xe_waitfence@engine.html
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/bat-dg2-oem2/igt@xe_waitfence@engine.html

  
  [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#4760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4760
  [Intel XE#6506]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6506
  [Intel XE#6519]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6519


Build changes
-------------

  * IGT: IGT_8636 -> IGTPW_14090
  * Linux: xe-4134-13909978d70fc4ded88b778a313b68ad86ba881a -> xe-4135-3d718db04a365cc44a3bc81ffa4db7bbd2e645d7

  IGTPW_14090: 14090
  IGT_8636: 254cd102396ff95d61f2ebe49fc09128878bf483 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-4134-13909978d70fc4ded88b778a313b68ad86ba881a: 13909978d70fc4ded88b778a313b68ad86ba881a
  xe-4135-3d718db04a365cc44a3bc81ffa4db7bbd2e645d7: 3d718db04a365cc44a3bc81ffa4db7bbd2e645d7

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/index.html

[-- Attachment #2: Type: text/html, Size: 3559 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* ✗ i915.CI.BAT: failure for igt: Help out coccinelle
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (7 preceding siblings ...)
  2025-11-20 19:51 ` ✓ Xe.CI.BAT: success for igt: Help out coccinelle Patchwork
@ 2025-11-20 20:05 ` Patchwork
  2025-11-21  0:40 ` ✓ Xe.CI.Full: success " Patchwork
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2025-11-20 20:05 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 4183 bytes --]

== Series Details ==

Series: igt: Help out coccinelle
URL   : https://patchwork.freedesktop.org/series/157868/
State : failure

== Summary ==

CI Bug Log - changes from IGT_8636 -> IGTPW_14090
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_14090 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_14090, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14090/index.html

Participating hosts (45 -> 44)
------------------------------

  Missing    (1): fi-snb-2520m 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_14090:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_pm_rpm@module-reload:
    - fi-bsw-n3050:       [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8636/fi-bsw-n3050/igt@i915_pm_rpm@module-reload.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14090/fi-bsw-n3050/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live:
    - bat-adlp-9:         [PASS][3] -> [INCOMPLETE][4] +1 other test incomplete
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8636/bat-adlp-9/igt@i915_selftest@live.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14090/bat-adlp-9/igt@i915_selftest@live.html

  
Known issues
------------

  Here are the changes found in IGTPW_14090 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live:
    - bat-jsl-1:          [PASS][5] -> [DMESG-FAIL][6] ([i915#13774]) +1 other test dmesg-fail
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8636/bat-jsl-1/igt@i915_selftest@live.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14090/bat-jsl-1/igt@i915_selftest@live.html

  * igt@i915_selftest@live@workarounds:
    - bat-dg2-9:          [PASS][7] -> [DMESG-FAIL][8] ([i915#12061]) +1 other test dmesg-fail
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8636/bat-dg2-9/igt@i915_selftest@live@workarounds.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14090/bat-dg2-9/igt@i915_selftest@live@workarounds.html
    - bat-mtlp-9:         [PASS][9] -> [DMESG-FAIL][10] ([i915#12061]) +1 other test dmesg-fail
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8636/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14090/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
    - bat-arls-6:         [PASS][11] -> [DMESG-FAIL][12] ([i915#12061]) +1 other test dmesg-fail
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8636/bat-arls-6/igt@i915_selftest@live@workarounds.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14090/bat-arls-6/igt@i915_selftest@live@workarounds.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@workarounds:
    - bat-arlh-3:         [DMESG-FAIL][13] ([i915#12061]) -> [PASS][14] +1 other test pass
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8636/bat-arlh-3/igt@i915_selftest@live@workarounds.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14090/bat-arlh-3/igt@i915_selftest@live@workarounds.html

  
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#13774]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13774


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_8636 -> IGTPW_14090
  * Linux: CI_DRM_17575 -> CI_DRM_17576

  CI-20190529: 20190529
  CI_DRM_17575: 13909978d70fc4ded88b778a313b68ad86ba881a @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_17576: 3d718db04a365cc44a3bc81ffa4db7bbd2e645d7 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_14090: 14090
  IGT_8636: 254cd102396ff95d61f2ebe49fc09128878bf483 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14090/index.html

[-- Attachment #2: Type: text/html, Size: 5159 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* ✓ Xe.CI.Full: success for igt: Help out coccinelle
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (8 preceding siblings ...)
  2025-11-20 20:05 ` ✗ i915.CI.BAT: failure " Patchwork
@ 2025-11-21  0:40 ` Patchwork
  2025-11-24 18:12 ` [PATCH i-g-t 0/7] " Peter Senna Tschudin
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2025-11-21  0:40 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 35333 bytes --]

== Series Details ==

Series: igt: Help out coccinelle
URL   : https://patchwork.freedesktop.org/series/157868/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_8636_FULL -> XEIGTPW_14090_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (4 -> 3)
------------------------------

  Missing    (1): shard-adlp 

Known issues
------------

  Here are the changes found in XEIGTPW_14090_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_big_fb@x-tiled-8bpp-rotate-270:
    - shard-dg2-set2:     NOTRUN -> [SKIP][1] ([Intel XE#316]) +2 other tests skip
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-436/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html
    - shard-lnl:          NOTRUN -> [SKIP][2] ([Intel XE#1407]) +2 other tests skip
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-4/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-270:
    - shard-lnl:          NOTRUN -> [SKIP][3] ([Intel XE#1124]) +2 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-1/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-dg2-set2:     NOTRUN -> [SKIP][4] ([Intel XE#1124]) +4 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-432/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
    - shard-lnl:          NOTRUN -> [SKIP][5] ([Intel XE#2191])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-2/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][6] ([Intel XE#2191])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-436/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html
    - shard-lnl:          NOTRUN -> [SKIP][7] ([Intel XE#1512])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-4/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html

  * igt@kms_ccs@bad-rotation-90-yf-tiled-ccs@pipe-c-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][8] ([Intel XE#787]) +34 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-432/igt@kms_ccs@bad-rotation-90-yf-tiled-ccs@pipe-c-hdmi-a-6.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][9] ([Intel XE#455] / [Intel XE#787]) +9 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-466/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-d-dp-4.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][10] ([Intel XE#3432])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-rc-ccs-cc:
    - shard-lnl:          NOTRUN -> [SKIP][11] ([Intel XE#2887]) +2 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-1/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_chamelium_audio@hdmi-audio-edid:
    - shard-lnl:          NOTRUN -> [SKIP][12] ([Intel XE#373])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-5/igt@kms_chamelium_audio@hdmi-audio-edid.html

  * igt@kms_chamelium_edid@dp-edid-change-during-hibernate:
    - shard-dg2-set2:     NOTRUN -> [SKIP][13] ([Intel XE#373]) +2 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-463/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html

  * igt@kms_chamelium_sharpness_filter@filter-basic:
    - shard-dg2-set2:     NOTRUN -> [SKIP][14] ([Intel XE#6507])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-463/igt@kms_chamelium_sharpness_filter@filter-basic.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-dg2-set2:     NOTRUN -> [SKIP][15] ([Intel XE#307])
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-433/igt@kms_content_protection@dp-mst-lic-type-1.html
    - shard-lnl:          NOTRUN -> [SKIP][16] ([Intel XE#307])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-8/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_cursor_crc@cursor-random-32x10:
    - shard-dg2-set2:     NOTRUN -> [SKIP][17] ([Intel XE#455]) +4 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-463/igt@kms_cursor_crc@cursor-random-32x10.html

  * igt@kms_cursor_crc@cursor-rapid-movement-128x42:
    - shard-lnl:          NOTRUN -> [SKIP][18] ([Intel XE#1424])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-2/igt@kms_cursor_crc@cursor-rapid-movement-128x42.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
    - shard-lnl:          NOTRUN -> [SKIP][19] ([Intel XE#309]) +1 other test skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-5/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-lnl:          NOTRUN -> [SKIP][20] ([Intel XE#2244])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-4/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_feature_discovery@display-3x:
    - shard-dg2-set2:     NOTRUN -> [SKIP][21] ([Intel XE#703])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-463/igt@kms_feature_discovery@display-3x.html

  * igt@kms_flip@dpms-vs-vblank-race-interruptible@a-hdmi-a6:
    - shard-dg2-set2:     [PASS][22] -> [FAIL][23] ([Intel XE#3098]) +1 other test fail
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-dg2-434/igt@kms_flip@dpms-vs-vblank-race-interruptible@a-hdmi-a6.html
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-466/igt@kms_flip@dpms-vs-vblank-race-interruptible@a-hdmi-a6.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-lnl:          [PASS][24] -> [FAIL][25] ([Intel XE#301]) +1 other test fail
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
    - shard-lnl:          NOTRUN -> [SKIP][26] ([Intel XE#1401] / [Intel XE#1745])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-7/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][27] ([Intel XE#1401])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-7/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@drrs-1p-pri-indfb-multidraw:
    - shard-lnl:          NOTRUN -> [SKIP][28] ([Intel XE#651]) +2 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-8/igt@kms_frontbuffer_tracking@drrs-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][29] ([Intel XE#651]) +8 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-435/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][30] ([Intel XE#656]) +6 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-render:
    - shard-dg2-set2:     NOTRUN -> [SKIP][31] ([Intel XE#6312]) +1 other test skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-render.html
    - shard-lnl:          NOTRUN -> [SKIP][32] ([Intel XE#6312])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][33] ([Intel XE#653]) +10 other tests skip
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-433/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b:
    - shard-lnl:          NOTRUN -> [SKIP][34] ([Intel XE#2763]) +3 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-2/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b.html

  * igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][35] ([Intel XE#1406] / [Intel XE#1489]) +2 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-463/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr@fbc-psr2-dpms@edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][36] ([Intel XE#1406] / [Intel XE#4609])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-2/igt@kms_psr@fbc-psr2-dpms@edp-1.html

  * igt@kms_psr@pr-sprite-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][37] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +3 other tests skip
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-435/igt@kms_psr@pr-sprite-blt.html
    - shard-lnl:          NOTRUN -> [SKIP][38] ([Intel XE#1406]) +1 other test skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-2/igt@kms_psr@pr-sprite-blt.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-dg2-set2:     NOTRUN -> [SKIP][39] ([Intel XE#1406] / [Intel XE#2939])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-433/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@primary-4-tiled-reflect-x-180:
    - shard-lnl:          NOTRUN -> [SKIP][40] ([Intel XE#3414] / [Intel XE#3904])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-3/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-dg2-set2:     NOTRUN -> [SKIP][41] ([Intel XE#3414])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-466/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_vrr@cmrr@pipe-a-edp-1:
    - shard-lnl:          [PASS][42] -> [FAIL][43] ([Intel XE#4459]) +1 other test fail
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-lnl-2/igt@kms_vrr@cmrr@pipe-a-edp-1.html
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-2/igt@kms_vrr@cmrr@pipe-a-edp-1.html

  * igt@kms_vrr@lobf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][44] ([Intel XE#2168])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-434/igt@kms_vrr@lobf.html

  * igt@xe_configfs@survivability-mode:
    - shard-dg2-set2:     NOTRUN -> [SKIP][45] ([Intel XE#6010])
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-435/igt@xe_configfs@survivability-mode.html

  * igt@xe_copy_basic@mem-set-linear-0x3fff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][46] ([Intel XE#1126])
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-436/igt@xe_copy_basic@mem-set-linear-0x3fff.html

  * igt@xe_eu_stall@unprivileged-access:
    - shard-dg2-set2:     NOTRUN -> [SKIP][47] ([Intel XE#5626])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-464/igt@xe_eu_stall@unprivileged-access.html

  * igt@xe_eudebug@basic-vm-bind-extended-discovery:
    - shard-lnl:          NOTRUN -> [SKIP][48] ([Intel XE#4837]) +3 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-5/igt@xe_eudebug@basic-vm-bind-extended-discovery.html

  * igt@xe_eudebug@vm-bind-clear-faultable:
    - shard-dg2-set2:     NOTRUN -> [SKIP][49] ([Intel XE#4837]) +6 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-436/igt@xe_eudebug@vm-bind-clear-faultable.html

  * igt@xe_evict@evict-small-multi-vm-cm:
    - shard-lnl:          NOTRUN -> [SKIP][50] ([Intel XE#688]) +1 other test skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-5/igt@xe_evict@evict-small-multi-vm-cm.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate:
    - shard-lnl:          NOTRUN -> [SKIP][51] ([Intel XE#1392])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-7/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate.html

  * igt@xe_exec_basic@multigpu-no-exec-userptr-rebind:
    - shard-dg2-set2:     [PASS][52] -> [INCOMPLETE][53] ([Intel XE#4842])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-dg2-433/igt@xe_exec_basic@multigpu-no-exec-userptr-rebind.html
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-userptr-rebind.html

  * igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-rebind-prefetch:
    - shard-dg2-set2:     NOTRUN -> [SKIP][54] ([Intel XE#288]) +9 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-434/igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-rebind-prefetch.html

  * igt@xe_exec_reset@long-spin-comp-reuse-many-preempt-threads:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][55] ([Intel XE#6299])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-433/igt@xe_exec_reset@long-spin-comp-reuse-many-preempt-threads.html

  * igt@xe_exec_system_allocator@many-64k-mmap-new-huge-nomemset:
    - shard-lnl:          NOTRUN -> [SKIP][56] ([Intel XE#5007])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-1/igt@xe_exec_system_allocator@many-64k-mmap-new-huge-nomemset.html

  * igt@xe_exec_system_allocator@many-stride-malloc-prefetch-madvise:
    - shard-lnl:          NOTRUN -> [WARN][57] ([Intel XE#5786])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-3/igt@xe_exec_system_allocator@many-stride-malloc-prefetch-madvise.html

  * igt@xe_exec_system_allocator@process-many-execqueues-free-race:
    - shard-dg2-set2:     NOTRUN -> [SKIP][58] ([Intel XE#4915]) +142 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-464/igt@xe_exec_system_allocator@process-many-execqueues-free-race.html

  * igt@xe_exec_system_allocator@process-many-stride-mmap-new-huge-nomemset:
    - shard-lnl:          NOTRUN -> [SKIP][59] ([Intel XE#4943]) +1 other test skip
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-5/igt@xe_exec_system_allocator@process-many-stride-mmap-new-huge-nomemset.html

  * igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][60] ([Intel XE#5893])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-432/igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv.html

  * igt@xe_mmap@pci-membarrier-parallel:
    - shard-lnl:          NOTRUN -> [SKIP][61] ([Intel XE#5100])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-2/igt@xe_mmap@pci-membarrier-parallel.html

  * igt@xe_module_load@force-load:
    - shard-dg2-set2:     NOTRUN -> [SKIP][62] ([Intel XE#378])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-434/igt@xe_module_load@force-load.html
    - shard-lnl:          NOTRUN -> [SKIP][63] ([Intel XE#378])
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-7/igt@xe_module_load@force-load.html

  * igt@xe_oa@disabled-read-error:
    - shard-dg2-set2:     NOTRUN -> [SKIP][64] ([Intel XE#3573]) +6 other tests skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-463/igt@xe_oa@disabled-read-error.html

  * igt@xe_pm@s2idle-d3cold-basic-exec:
    - shard-dg2-set2:     NOTRUN -> [SKIP][65] ([Intel XE#2284] / [Intel XE#366])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-432/igt@xe_pm@s2idle-d3cold-basic-exec.html

  * igt@xe_pm@s3-exec-after:
    - shard-lnl:          NOTRUN -> [SKIP][66] ([Intel XE#584])
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-3/igt@xe_pm@s3-exec-after.html

  * igt@xe_pm@vram-d3cold-threshold:
    - shard-dg2-set2:     NOTRUN -> [SKIP][67] ([Intel XE#579])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-466/igt@xe_pm@vram-d3cold-threshold.html

  * igt@xe_pmu@engine-activity-accuracy-50:
    - shard-lnl:          [PASS][68] -> [FAIL][69] ([Intel XE#6251]) +2 other tests fail
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-lnl-2/igt@xe_pmu@engine-activity-accuracy-50.html
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-8/igt@xe_pmu@engine-activity-accuracy-50.html

  * igt@xe_pxp@pxp-stale-bo-exec-post-termination-irq:
    - shard-dg2-set2:     NOTRUN -> [SKIP][70] ([Intel XE#4733]) +1 other test skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-466/igt@xe_pxp@pxp-stale-bo-exec-post-termination-irq.html

  * igt@xe_query@multigpu-query-oa-units:
    - shard-dg2-set2:     NOTRUN -> [SKIP][71] ([Intel XE#944]) +2 other tests skip
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-466/igt@xe_query@multigpu-query-oa-units.html

  * igt@xe_query@multigpu-query-topology-l3-bank-mask:
    - shard-lnl:          NOTRUN -> [SKIP][72] ([Intel XE#944]) +1 other test skip
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-8/igt@xe_query@multigpu-query-topology-l3-bank-mask.html

  * igt@xe_render_copy@render-stress-1-copies:
    - shard-dg2-set2:     NOTRUN -> [SKIP][73] ([Intel XE#4814])
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-436/igt@xe_render_copy@render-stress-1-copies.html

  * igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling:
    - shard-dg2-set2:     NOTRUN -> [SKIP][74] ([Intel XE#4130])
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-466/igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling.html

  * igt@xe_sriov_scheduling@nonpreempt-engine-resets:
    - shard-dg2-set2:     NOTRUN -> [SKIP][75] ([Intel XE#4351])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-435/igt@xe_sriov_scheduling@nonpreempt-engine-resets.html
    - shard-lnl:          NOTRUN -> [SKIP][76] ([Intel XE#4351])
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-2/igt@xe_sriov_scheduling@nonpreempt-engine-resets.html

  
#### Possible fixes ####

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4:
    - shard-dg2-set2:     [INCOMPLETE][77] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#6014]) -> [PASS][78]
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4.html
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
    - shard-dg2-set2:     [INCOMPLETE][79] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345]) -> [PASS][80] +1 other test pass
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4:
    - shard-dg2-set2:     [INCOMPLETE][81] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212]) -> [PASS][82]
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-lnl:          [FAIL][83] ([Intel XE#718]) -> [PASS][84] +1 other test pass
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-lnl-5/igt@kms_pm_dc@dc6-dpms.html
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-4/igt@kms_pm_dc@dc6-dpms.html

  * igt@xe_pm_residency@idle-residency:
    - shard-dg2-set2:     [FAIL][85] ([Intel XE#6362]) -> [PASS][86] +1 other test pass
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-dg2-432/igt@xe_pm_residency@idle-residency.html
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-464/igt@xe_pm_residency@idle-residency.html

  * igt@xe_pmu@engine-activity-accuracy-90@engine-drm_xe_engine_class_video_decode0:
    - shard-lnl:          [FAIL][87] ([Intel XE#6251]) -> [PASS][88]
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-lnl-3/igt@xe_pmu@engine-activity-accuracy-90@engine-drm_xe_engine_class_video_decode0.html
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-lnl-3/igt@xe_pmu@engine-activity-accuracy-90@engine-drm_xe_engine_class_video_decode0.html

  
#### Warnings ####

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-dg2-set2:     [SKIP][89] ([Intel XE#362]) -> [FAIL][90] ([Intel XE#1729])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern.html
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-dg2-432/igt@kms_tiled_display@basic-test-pattern.html

  * igt@xe_module_load@load:
    - shard-bmg:          ([DMESG-WARN][91], [DMESG-WARN][92], [DMESG-WARN][93], [DMESG-WARN][94], [DMESG-WARN][95], [DMESG-WARN][96], [DMESG-WARN][97], [DMESG-WARN][98], [DMESG-WARN][99], [DMESG-WARN][100], [DMESG-WARN][101], [DMESG-WARN][102], [DMESG-WARN][103], [DMESG-WARN][104], [DMESG-WARN][105], [DMESG-WARN][106], [DMESG-WARN][107], [DMESG-WARN][108], [DMESG-WARN][109], [INCOMPLETE][110], [DMESG-WARN][111], [DMESG-WARN][112], [DMESG-WARN][113], [DMESG-WARN][114], [DMESG-WARN][115]) ([Intel XE#1727] / [Intel XE#6659]) -> ([DMESG-WARN][116], [DMESG-WARN][117], [DMESG-WARN][118], [DMESG-WARN][119], [DMESG-WARN][120], [DMESG-WARN][121], [DMESG-WARN][122], [DMESG-WARN][123], [DMESG-WARN][124], [DMESG-WARN][125], [DMESG-WARN][126], [DMESG-WARN][127], [DMESG-WARN][128], [DMESG-WARN][129], [DMESG-WARN][130], [DMESG-WARN][131], [DMESG-WARN][132], [DMESG-WARN][133], [DMESG-WARN][134], [DMESG-WARN][135], [DMESG-WARN][136], [DMESG-WARN][137], [DMESG-WARN][138], [DMESG-WARN][139], [DMESG-WARN][140]) ([Intel XE#6659])
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-5/igt@xe_module_load@load.html
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-2/igt@xe_module_load@load.html
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-2/igt@xe_module_load@load.html
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-4/igt@xe_module_load@load.html
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-4/igt@xe_module_load@load.html
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-4/igt@xe_module_load@load.html
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-2/igt@xe_module_load@load.html
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-2/igt@xe_module_load@load.html
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-8/igt@xe_module_load@load.html
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-8/igt@xe_module_load@load.html
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-8/igt@xe_module_load@load.html
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-1/igt@xe_module_load@load.html
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-7/igt@xe_module_load@load.html
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-7/igt@xe_module_load@load.html
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-7/igt@xe_module_load@load.html
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-7/igt@xe_module_load@load.html
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-1/igt@xe_module_load@load.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-1/igt@xe_module_load@load.html
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-6/igt@xe_module_load@load.html
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-6/igt@xe_module_load@load.html
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-3/igt@xe_module_load@load.html
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-3/igt@xe_module_load@load.html
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-3/igt@xe_module_load@load.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-5/igt@xe_module_load@load.html
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8636/shard-bmg-5/igt@xe_module_load@load.html
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-5/igt@xe_module_load@load.html
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-5/igt@xe_module_load@load.html
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-5/igt@xe_module_load@load.html
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-1/igt@xe_module_load@load.html
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-1/igt@xe_module_load@load.html
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-1/igt@xe_module_load@load.html
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-8/igt@xe_module_load@load.html
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-8/igt@xe_module_load@load.html
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-8/igt@xe_module_load@load.html
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-7/igt@xe_module_load@load.html
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-7/igt@xe_module_load@load.html
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-7/igt@xe_module_load@load.html
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-2/igt@xe_module_load@load.html
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-2/igt@xe_module_load@load.html
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-2/igt@xe_module_load@load.html
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-2/igt@xe_module_load@load.html
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-6/igt@xe_module_load@load.html
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-6/igt@xe_module_load@load.html
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-6/igt@xe_module_load@load.html
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-3/igt@xe_module_load@load.html
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-3/igt@xe_module_load@load.html
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-3/igt@xe_module_load@load.html
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-4/igt@xe_module_load@load.html
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-4/igt@xe_module_load@load.html
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/shard-bmg-4/igt@xe_module_load@load.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
  [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
  [Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
  [Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2939]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2939
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3098
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
  [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
  [Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
  [Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
  [Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
  [Intel XE#4351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4351
  [Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4814
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#4842]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4842
  [Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5007
  [Intel XE#5100]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5100
  [Intel XE#5626]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5626
  [Intel XE#5786]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5786
  [Intel XE#579]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/579
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#5893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5893
  [Intel XE#6010]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6010
  [Intel XE#6014]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6014
  [Intel XE#6251]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6251
  [Intel XE#6299]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6299
  [Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
  [Intel XE#6362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6362
  [Intel XE#6507]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6507
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#6659]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6659
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/703
  [Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


Build changes
-------------

  * IGT: IGT_8636 -> IGTPW_14090
  * Linux: xe-4134-13909978d70fc4ded88b778a313b68ad86ba881a -> xe-4135-3d718db04a365cc44a3bc81ffa4db7bbd2e645d7

  IGTPW_14090: 14090
  IGT_8636: 254cd102396ff95d61f2ebe49fc09128878bf483 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-4134-13909978d70fc4ded88b778a313b68ad86ba881a: 13909978d70fc4ded88b778a313b68ad86ba881a
  xe-4135-3d718db04a365cc44a3bc81ffa4db7bbd2e645d7: 3d718db04a365cc44a3bc81ffa4db7bbd2e645d7

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14090/index.html

[-- Attachment #2: Type: text/html, Size: 39407 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 0/7] igt: Help out coccinelle
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (9 preceding siblings ...)
  2025-11-21  0:40 ` ✓ Xe.CI.Full: success " Patchwork
@ 2025-11-24 18:12 ` Peter Senna Tschudin
  2025-11-24 20:57   ` Jani Nikula
                     ` (2 more replies)
  2025-11-25  8:38 ` ✓ Xe.CI.BAT: success for igt: Help out coccinelle (rev2) Patchwork
                   ` (5 subsequent siblings)
  16 siblings, 3 replies; 29+ messages in thread
From: Peter Senna Tschudin @ 2025-11-24 18:12 UTC (permalink / raw)
  To: igt-dev, ville.syrjala

Hi Ville,

I need to see the value proposition before supporting ~2000 lines of churn.

- Can you share the specific Coccinelle scripts that require these changes?
- What transformations are you planning that can't work with the current
syntax?
- Have you attempted these transformations and confirmed current syntax
blocks them?

More importantly: Coccinelle provides mechanisms to handle non-standard
macros (iterator declarations, custom isomorphisms, virtual rules,
etc.). Have you exhausted all options for teaching Coccinelle about our
existing macro syntax before concluding we need to modify the codebase
itself?

It seems backwards to change ~2000 code locations to accommodate a tool
when the tool is designed to be configurable for exactly these situations.

Without concrete examples of problems being solved and evidence that
Coccinelle-side solutions were explored, this looks like speculative
refactoring with unclear ROI.

Thanks,

Peter

On 11/20/2025 8:14 PM, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Coccinelle has trouble parsing a lot of the magic macros
> used throughout igt. Convert some of the macros to a form
> coccinelle understands, and provide a pre-made iterators.cocci
> script that people can include in their own scripts to help
> coccinelle with the iterator macros.
> 
> Ville Syrjälä (7):
>   igt: Make igt_fixture look like an iterator
>   igt: Make igt_subtest_group look like an iterator
>   igt: Make igt_main look more like a function
>   igt: Make igt_simple_main look more like a function
>   igt: Make igt_main*() look like normal function definition
>   igt: Make igt_simple_main*() look like normal function definition
>   scripts/cocci: Add iterators.cocci
> 
>  benchmarks/gem_userptr_benchmark.c            |   6 +-
>  benchmarks/kms_fb_stress.c                    |   2 +-
>  lib/igt_aux.c                                 |   6 +-
>  lib/igt_core.c                                |  42 ++--
>  lib/igt_core.h                                |  42 ++--
>  lib/igt_dir.c                                 |   8 +-
>  lib/igt_gt.c                                  |   2 +-
>  lib/igt_kmod.c                                |  12 +-
>  lib/igt_types.h                               |   2 +-
>  lib/intel_batchbuffer.c                       |   2 +-
>  lib/tests/bad_subtest_type.c                  |   2 +-
>  lib/tests/i915_perf_data_alignment.c          |   2 +-
>  lib/tests/igt_abort.c                         |   2 +-
>  lib/tests/igt_assert.c                        |   2 +-
>  lib/tests/igt_audio.c                         |   8 +-
>  lib/tests/igt_can_fail.c                      |   4 +-
>  lib/tests/igt_can_fail_simple.c               |   2 +-
>  lib/tests/igt_describe.c                      |   8 +-
>  lib/tests/igt_edid.c                          |   2 +-
>  lib/tests/igt_exit_handler.c                  |   2 +-
>  lib/tests/igt_facts.c                         |   2 +-
>  lib/tests/igt_hook.c                          |   6 +-
>  lib/tests/igt_ktap_parser.c                   |   2 +-
>  lib/tests/igt_nesting.c                       |  16 +-
>  lib/tests/igt_runnercomms_packets.c           |   2 +-
>  lib/tests/igt_simple_test_subtests.c          |   2 +-
>  lib/tests/igt_simulation.c                    |   2 +-
>  lib/tests/igt_stats.c                         |   2 +-
>  lib/tests/igt_subtest_group.c                 |  18 +-
>  lib/tests/igt_timeout.c                       |   2 +-
>  lib/tests/igt_types.c                         |  22 +--
>  runner/resultgen.c                            |   2 +-
>  runner/runner_json_tests.c                    |   2 +-
>  runner/runner_kmemleak_test.c                 |  10 +-
>  runner/runner_tests.c                         | 184 +++++++++---------
>  runner/testdata/abort-dynamic.c               |   2 +-
>  runner/testdata/abort-fixture.c               |   4 +-
>  runner/testdata/abort-simple.c                |   2 +-
>  runner/testdata/abort.c                       |   2 +-
>  runner/testdata/dynamic.c                     |   2 +-
>  runner/testdata/no-subtests.c                 |   2 +-
>  runner/testdata/skippers.c                    |   4 +-
>  runner/testdata/successtest.c                 |   2 +-
>  scripts/iterators.cocci                       |  53 +++++
>  tests/amdgpu/amd_abm.c                        |   6 +-
>  tests/amdgpu/amd_assr.c                       |   6 +-
>  tests/amdgpu/amd_basic.c                      |   6 +-
>  tests/amdgpu/amd_basic_ex.c                   |   6 +-
>  tests/amdgpu/amd_basic_multi_gpu.c            |   6 +-
>  tests/amdgpu/amd_bo.c                         |   6 +-
>  tests/amdgpu/amd_bypass.c                     |   6 +-
>  tests/amdgpu/amd_color.c                      |   6 +-
>  tests/amdgpu/amd_cp_dma_misc.c                |   6 +-
>  tests/amdgpu/amd_cs_nop.c                     |   6 +-
>  tests/amdgpu/amd_deadlock.c                   |   6 +-
>  tests/amdgpu/amd_dispatch.c                   |   6 +-
>  tests/amdgpu/amd_dp_dsc.c                     |   6 +-
>  tests/amdgpu/amd_freesync_video_mode.c        |   6 +-
>  tests/amdgpu/amd_fuzzing.c                    |   6 +-
>  tests/amdgpu/amd_gang_cs.c                    |   6 +-
>  tests/amdgpu/amd_hotplug.c                    |   6 +-
>  tests/amdgpu/amd_ilr.c                        |   6 +-
>  tests/amdgpu/amd_info.c                       |   6 +-
>  tests/amdgpu/amd_jpeg_dec.c                   |   6 +-
>  tests/amdgpu/amd_jpeg_queue.c                 |   6 +-
>  tests/amdgpu/amd_link_settings.c              |   6 +-
>  tests/amdgpu/amd_mall.c                       |   6 +-
>  tests/amdgpu/amd_max_bpc.c                    |   6 +-
>  tests/amdgpu/amd_mem_leak.c                   |   6 +-
>  tests/amdgpu/amd_mode_switch.c                |   6 +-
>  tests/amdgpu/amd_module_load.c                |   4 +-
>  tests/amdgpu/amd_multidisplay_modeset.c       |   6 +-
>  tests/amdgpu/amd_odm.c                        |   6 +-
>  tests/amdgpu/amd_pci_unplug.c                 |   6 +-
>  tests/amdgpu/amd_plane.c                      |   6 +-
>  tests/amdgpu/amd_prime.c                      |   6 +-
>  tests/amdgpu/amd_psr.c                        |   6 +-
>  tests/amdgpu/amd_pstate.c                     |   6 +-
>  tests/amdgpu/amd_queue_reset.c                |   6 +-
>  tests/amdgpu/amd_ras.c                        |   6 +-
>  tests/amdgpu/amd_replay.c                     |   6 +-
>  tests/amdgpu/amd_security.c                   |   6 +-
>  tests/amdgpu/amd_subvp.c                      |   6 +-
>  tests/amdgpu/amd_syncobj.c                    |   6 +-
>  tests/amdgpu/amd_uvd_dec.c                    |   6 +-
>  tests/amdgpu/amd_uvd_enc.c                    |   6 +-
>  tests/amdgpu/amd_vce_enc.c                    |   6 +-
>  tests/amdgpu/amd_vcn.c                        |   6 +-
>  tests/amdgpu/amd_vcn_queue.c                  |   6 +-
>  tests/amdgpu/amd_vm.c                         |   6 +-
>  tests/amdgpu/amd_vpe.c                        |   6 +-
>  tests/amdgpu/amd_vrr_range.c                  |   6 +-
>  tests/chamelium/kms_chamelium_audio.c         |  14 +-
>  tests/chamelium/kms_chamelium_color.c         |   8 +-
>  tests/chamelium/kms_chamelium_edid.c          |  18 +-
>  tests/chamelium/kms_chamelium_frames.c        |  18 +-
>  tests/chamelium/kms_chamelium_hpd.c           |  22 +--
>  .../kms_chamelium_sharpness_filter.c          |   6 +-
>  tests/core_auth.c                             |   6 +-
>  tests/core_debugfs.c                          |   6 +-
>  tests/core_getclient.c                        |   6 +-
>  tests/core_getstats.c                         |   6 +-
>  tests/core_getversion.c                       |   6 +-
>  tests/core_hotunplug.c                        |  52 ++---
>  tests/core_setmaster.c                        |  10 +-
>  tests/core_setmaster_vs_auth.c                |   2 +-
>  tests/core_sysfs.c                            |   6 +-
>  tests/device_reset.c                          |   8 +-
>  tests/dmabuf.c                                |   2 +-
>  tests/dmabuf_sync_file.c                      |   6 +-
>  tests/drm_buddy.c                             |   2 +-
>  tests/drm_mm.c                                |   2 +-
>  tests/drm_read.c                              |   4 +-
>  tests/drm_virtgpu.c                           |   6 +-
>  tests/dumb_buffer.c                           |   6 +-
>  tests/fbdev.c                                 |  18 +-
>  tests/intel/api_intel_allocator.c             |   6 +-
>  tests/intel/api_intel_bb.c                    |   6 +-
>  tests/intel/gem_bad_reloc.c                   |   6 +-
>  tests/intel/gem_barrier_race.c                |   6 +-
>  tests/intel/gem_basic.c                       |   4 +-
>  tests/intel/gem_blits.c                       |   6 +-
>  tests/intel/gem_busy.c                        |  36 ++--
>  tests/intel/gem_caching.c                     |   6 +-
>  tests/intel/gem_ccs.c                         |   6 +-
>  tests/intel/gem_close.c                       |   4 +-
>  tests/intel/gem_close_race.c                  |   6 +-
>  tests/intel/gem_compute.c                     |   6 +-
>  tests/intel/gem_concurrent_all.c              |  52 ++---
>  tests/intel/gem_create.c                      |  10 +-
>  tests/intel/gem_cs_tlb.c                      |   6 +-
>  tests/intel/gem_ctx_bad_destroy.c             |   6 +-
>  tests/intel/gem_ctx_create.c                  |   6 +-
>  tests/intel/gem_ctx_engines.c                 |   6 +-
>  tests/intel/gem_ctx_exec.c                    |  12 +-
>  tests/intel/gem_ctx_freq.c                    |   6 +-
>  tests/intel/gem_ctx_isolation.c               |   8 +-
>  tests/intel/gem_ctx_param.c                   |  10 +-
>  tests/intel/gem_ctx_persistence.c             |  20 +-
>  tests/intel/gem_ctx_shared.c                  |  20 +-
>  tests/intel/gem_ctx_sseu.c                    |  10 +-
>  tests/intel/gem_ctx_switch.c                  |  18 +-
>  tests/intel/gem_eio.c                         |  18 +-
>  tests/intel/gem_evict_alignment.c             |   8 +-
>  tests/intel/gem_evict_everything.c            |  10 +-
>  tests/intel/gem_exec_alignment.c              |   4 +-
>  tests/intel/gem_exec_async.c                  |  12 +-
>  tests/intel/gem_exec_await.c                  |   6 +-
>  tests/intel/gem_exec_balancer.c               |  28 +--
>  tests/intel/gem_exec_basic.c                  |   6 +-
>  tests/intel/gem_exec_big.c                    |   6 +-
>  tests/intel/gem_exec_capture.c                |   6 +-
>  tests/intel/gem_exec_create.c                 |   6 +-
>  tests/intel/gem_exec_endless.c                |  10 +-
>  tests/intel/gem_exec_fair.c                   |   6 +-
>  tests/intel/gem_exec_fence.c                  |  50 ++---
>  tests/intel/gem_exec_flush.c                  |  10 +-
>  tests/intel/gem_exec_gttfill.c                |   8 +-
>  tests/intel/gem_exec_latency.c                |  14 +-
>  tests/intel/gem_exec_lut_handle.c             |   2 +-
>  tests/intel/gem_exec_nop.c                    |  14 +-
>  tests/intel/gem_exec_parallel.c               |   6 +-
>  tests/intel/gem_exec_params.c                 |   6 +-
>  tests/intel/gem_exec_reloc.c                  |  18 +-
>  tests/intel/gem_exec_schedule.c               |  46 ++---
>  tests/intel/gem_exec_store.c                  |   6 +-
>  tests/intel/gem_exec_suspend.c                |   8 +-
>  tests/intel/gem_exec_whisper.c                |  10 +-
>  tests/intel/gem_exercise_blt.c                |   6 +-
>  tests/intel/gem_fd_exhaustion.c               |   2 +-
>  tests/intel/gem_fence_thrash.c                |   2 +-
>  tests/intel/gem_fence_upload.c                |   2 +-
>  tests/intel/gem_fenced_exec_thrash.c          |   6 +-
>  tests/intel/gem_flink_basic.c                 |   4 +-
>  tests/intel/gem_flink_race.c                  |   2 +-
>  tests/intel/gem_gpgpu_fill.c                  |   6 +-
>  tests/intel/gem_gtt_cpu_tlb.c                 |   2 +-
>  tests/intel/gem_gtt_hog.c                     |   2 +-
>  tests/intel/gem_gtt_speed.c                   |   2 +-
>  tests/intel/gem_huc_copy.c                    |   6 +-
>  tests/intel/gem_linear_blits.c                |  10 +-
>  tests/intel/gem_lmem_evict.c                  |   6 +-
>  tests/intel/gem_lmem_swapping.c               |   6 +-
>  tests/intel/gem_lut_handle.c                  |   2 +-
>  tests/intel/gem_madvise.c                     |   2 +-
>  tests/intel/gem_media_fill.c                  |   6 +-
>  tests/intel/gem_media_vme.c                   |   2 +-
>  tests/intel/gem_mmap.c                        |   6 +-
>  tests/intel/gem_mmap_gtt.c                    |   8 +-
>  tests/intel/gem_mmap_offset.c                 |   6 +-
>  tests/intel/gem_mmap_wc.c                     |  10 +-
>  tests/intel/gem_partial_pwrite_pread.c        |   8 +-
>  tests/intel/gem_pipe_control_store_loop.c     |   6 +-
>  tests/intel/gem_ppgtt.c                       |   6 +-
>  tests/intel/gem_pread.c                       |   6 +-
>  tests/intel/gem_pread_after_blit.c            |   8 +-
>  tests/intel/gem_pwrite.c                      |   8 +-
>  tests/intel/gem_pwrite_snooped.c              |   2 +-
>  tests/intel/gem_pxp.c                         |  16 +-
>  tests/intel/gem_read_read_speed.c             |   6 +-
>  tests/intel/gem_readwrite.c                   |   6 +-
>  tests/intel/gem_reg_read.c                    |   6 +-
>  tests/intel/gem_render_copy.c                 |   6 +-
>  tests/intel/gem_render_copy_redux.c           |   6 +-
>  tests/intel/gem_render_linear_blits.c         |   4 +-
>  tests/intel/gem_render_tiled_blits.c          |   4 +-
>  tests/intel/gem_request_retire.c              |   4 +-
>  tests/intel/gem_reset_stats.c                 |  12 +-
>  tests/intel/gem_ringfill.c                    |   6 +-
>  tests/intel/gem_set_tiling_vs_blt.c           |   6 +-
>  tests/intel/gem_set_tiling_vs_gtt.c           |   2 +-
>  tests/intel/gem_set_tiling_vs_pwrite.c        |   2 +-
>  tests/intel/gem_shrink.c                      |   4 +-
>  tests/intel/gem_softpin.c                     |  16 +-
>  tests/intel/gem_spin_batch.c                  |  12 +-
>  tests/intel/gem_streaming_writes.c            |   6 +-
>  tests/intel/gem_stress.c                      |   2 +-
>  tests/intel/gem_sync.c                        |  10 +-
>  tests/intel/gem_tiled_blits.c                 |  12 +-
>  tests/intel/gem_tiled_fence_blits.c           |  12 +-
>  tests/intel/gem_tiled_partial_pwrite_pread.c  |   6 +-
>  tests/intel/gem_tiled_pread_basic.c           |   2 +-
>  tests/intel/gem_tiled_pread_pwrite.c          |   2 +-
>  tests/intel/gem_tiled_swapping.c              |   6 +-
>  tests/intel/gem_tiled_wb.c                    |   2 +-
>  tests/intel/gem_tiled_wc.c                    |   2 +-
>  tests/intel/gem_tiling_max_stride.c           |   2 +-
>  tests/intel/gem_unfence_active_buffers.c      |   2 +-
>  tests/intel/gem_unref_active_buffers.c        |   2 +-
>  tests/intel/gem_userptr_blits.c               |  24 +--
>  tests/intel/gem_vm_create.c                   |  10 +-
>  tests/intel/gem_wait.c                        |  18 +-
>  tests/intel/gem_watchdog.c                    |   8 +-
>  tests/intel/gem_workarounds.c                 |  10 +-
>  tests/intel/gen3_mixed_blits.c                |   2 +-
>  tests/intel/gen3_render_linear_blits.c        |   2 +-
>  tests/intel/gen3_render_mixed_blits.c         |   2 +-
>  tests/intel/gen3_render_tiledx_blits.c        |   2 +-
>  tests/intel/gen3_render_tiledy_blits.c        |   2 +-
>  tests/intel/gen7_exec_parse.c                 |  12 +-
>  tests/intel/gen9_exec_parse.c                 |   6 +-
>  tests/intel/i915_drm_fdinfo.c                 |  12 +-
>  tests/intel/i915_fb_tiling.c                  |   6 +-
>  tests/intel/i915_getparams_basic.c            |   4 +-
>  tests/intel/i915_hangman.c                    |   8 +-
>  tests/intel/i915_module_load.c                |   2 +-
>  tests/intel/i915_pciid.c                      |   2 +-
>  tests/intel/i915_pm_freq_api.c                |   4 +-
>  tests/intel/i915_pm_freq_mult.c               |   6 +-
>  tests/intel/i915_pm_rc6_residency.c           |  12 +-
>  tests/intel/i915_pm_rpm.c                     |   6 +-
>  tests/intel/i915_pm_rps.c                     |   6 +-
>  tests/intel/i915_pm_sseu.c                    |   4 +-
>  tests/intel/i915_power.c                      |   6 +-
>  tests/intel/i915_query.c                      |  10 +-
>  tests/intel/i915_selftest.c                   |   2 +-
>  tests/intel/i915_suspend.c                    |   6 +-
>  tests/intel/intel_hwmon.c                     |   6 +-
>  tests/intel/kms_big_fb.c                      |  10 +-
>  tests/intel/kms_busy.c                        |  10 +-
>  tests/intel/kms_ccs.c                         |  10 +-
>  tests/intel/kms_cdclk.c                       |   6 +-
>  tests/intel/kms_dirtyfb.c                     |   6 +-
>  tests/intel/kms_dp_link_training.c            |   6 +-
>  tests/intel/kms_dp_linktrain_fallback.c       |   6 +-
>  tests/intel/kms_draw_crc.c                    |   6 +-
>  tests/intel/kms_dsc.c                         |   6 +-
>  tests/intel/kms_fb_coherency.c                |   6 +-
>  tests/intel/kms_fbc_dirty_rect.c              |   6 +-
>  tests/intel/kms_fbcon_fbt.c                   |   6 +-
>  tests/intel/kms_fence_pin_leak.c              |   2 +-
>  tests/intel/kms_flip_scaled_crc.c             |   6 +-
>  tests/intel/kms_flip_tiling.c                 |   6 +-
>  tests/intel/kms_frontbuffer_tracking.c        |  10 +-
>  tests/intel/kms_joiner.c                      |  22 +--
>  tests/intel/kms_legacy_colorkey.c             |   6 +-
>  tests/intel/kms_mmap_write_crc.c              |   6 +-
>  tests/intel/kms_pipe_b_c_ivb.c                |   6 +-
>  tests/intel/kms_pipe_stress.c                 |   6 +-
>  tests/intel/kms_pm_backlight.c                |   6 +-
>  tests/intel/kms_pm_dc.c                       |   6 +-
>  tests/intel/kms_pm_lpsp.c                     |   6 +-
>  tests/intel/kms_pm_rpm.c                      |   6 +-
>  tests/intel/kms_psr.c                         |   6 +-
>  tests/intel/kms_psr2_sf.c                     |   6 +-
>  tests/intel/kms_psr2_su.c                     |   6 +-
>  tests/intel/kms_psr_stress_test.c             |   6 +-
>  tests/intel/kms_pwrite_crc.c                  |   2 +-
>  tests/intel/perf.c                            |  14 +-
>  tests/intel/perf_pmu.c                        |  18 +-
>  tests/intel/prime_busy.c                      |  10 +-
>  tests/intel/prime_mmap.c                      |   6 +-
>  tests/intel/prime_mmap_coherency.c            |   6 +-
>  tests/intel/prime_mmap_kms.c                  |   6 +-
>  tests/intel/prime_self_import.c               |   2 +-
>  tests/intel/sysfs_defaults.c                  |   6 +-
>  tests/intel/sysfs_heartbeat_interval.c        |   6 +-
>  tests/intel/sysfs_preempt_timeout.c           |   6 +-
>  tests/intel/sysfs_timeslice_duration.c        |   6 +-
>  tests/intel/xe_ccs.c                          |   6 +-
>  tests/intel/xe_compute.c                      |   8 +-
>  tests/intel/xe_compute_preempt.c              |   6 +-
>  tests/intel/xe_configfs.c                     |   6 +-
>  tests/intel/xe_copy_basic.c                   |   6 +-
>  tests/intel/xe_create.c                       |   6 +-
>  tests/intel/xe_debugfs.c                      |   6 +-
>  tests/intel/xe_dma_buf_sync.c                 |   6 +-
>  tests/intel/xe_drm_fdinfo.c                   |   6 +-
>  tests/intel/xe_eu_stall.c                     |   6 +-
>  tests/intel/xe_eudebug.c                      |  14 +-
>  tests/intel/xe_eudebug_online.c               |  10 +-
>  tests/intel/xe_eudebug_sriov.c                |   6 +-
>  tests/intel/xe_evict.c                        |   6 +-
>  tests/intel/xe_evict_ccs.c                    |   8 +-
>  tests/intel/xe_exec_atomic.c                  |   6 +-
>  tests/intel/xe_exec_balancer.c                |   6 +-
>  tests/intel/xe_exec_basic.c                   |   6 +-
>  tests/intel/xe_exec_capture.c                 |   6 +-
>  tests/intel/xe_exec_compute_mode.c            |   6 +-
>  tests/intel/xe_exec_fault_mode.c              |   6 +-
>  tests/intel/xe_exec_mix_modes.c               |   6 +-
>  tests/intel/xe_exec_queue_property.c          |  10 +-
>  tests/intel/xe_exec_reset.c                   |   6 +-
>  tests/intel/xe_exec_sip.c                     |   6 +-
>  tests/intel/xe_exec_sip_eudebug.c             |  18 +-
>  tests/intel/xe_exec_store.c                   |   6 +-
>  tests/intel/xe_exec_system_allocator.c        |   6 +-
>  tests/intel/xe_exec_threads.c                 |   6 +-
>  tests/intel/xe_exercise_blt.c                 |   6 +-
>  tests/intel/xe_fault_injection.c              |   8 +-
>  tests/intel/xe_gpgpu_fill.c                   |   6 +-
>  tests/intel/xe_gt_freq.c                      |   6 +-
>  tests/intel/xe_huc_copy.c                     |   6 +-
>  tests/intel/xe_intel_bb.c                     |   6 +-
>  tests/intel/xe_live_ktest.c                   |   2 +-
>  tests/intel/xe_media_fill.c                   |   6 +-
>  tests/intel/xe_mmap.c                         |  10 +-
>  tests/intel/xe_module_load.c                  |   2 +-
>  tests/intel/xe_noexec_ping_pong.c             |   6 +-
>  tests/intel/xe_oa.c                           |  22 +--
>  tests/intel/xe_pat.c                          |   6 +-
>  tests/intel/xe_peer2peer.c                    |   6 +-
>  tests/intel/xe_pm.c                           |   8 +-
>  tests/intel/xe_pm_residency.c                 |   6 +-
>  tests/intel/xe_pmu.c                          |  26 +--
>  tests/intel/xe_prime_self_import.c            |   6 +-
>  tests/intel/xe_pxp.c                          |  14 +-
>  tests/intel/xe_query.c                        |   6 +-
>  tests/intel/xe_render_copy.c                  |   6 +-
>  tests/intel/xe_spin_batch.c                   |   6 +-
>  tests/intel/xe_sriov_auto_provisioning.c      |   6 +-
>  tests/intel/xe_sriov_flr.c                    |   6 +-
>  tests/intel/xe_sriov_scheduling.c             |   6 +-
>  tests/intel/xe_sriov_vram.c                   |   6 +-
>  tests/intel/xe_survivability.c                |   6 +-
>  tests/intel/xe_sysfs_defaults.c               |   6 +-
>  tests/intel/xe_sysfs_preempt_timeout.c        |   6 +-
>  tests/intel/xe_sysfs_scheduler.c              |   6 +-
>  tests/intel/xe_sysfs_timeslice_duration.c     |   6 +-
>  tests/intel/xe_tlb.c                          |   6 +-
>  tests/intel/xe_vm.c                           |   6 +-
>  tests/intel/xe_waitfence.c                    |   6 +-
>  tests/intel/xe_wedged.c                       |   6 +-
>  tests/kms_3d.c                                |   6 +-
>  tests/kms_addfb_basic.c                       |  68 +++----
>  tests/kms_async_flips.c                       |  10 +-
>  tests/kms_atomic.c                            |   6 +-
>  tests/kms_atomic_interruptible.c              |   6 +-
>  tests/kms_atomic_transition.c                 |   6 +-
>  tests/kms_bw.c                                |   6 +-
>  tests/kms_color.c                             |  12 +-
>  tests/kms_concurrent.c                        |   6 +-
>  tests/kms_content_protection.c                |  14 +-
>  tests/kms_cursor_crc.c                        |  24 +--
>  tests/kms_cursor_edge_walk.c                  |   8 +-
>  tests/kms_cursor_legacy.c                     |  40 ++--
>  tests/kms_debugfs.c                           |   6 +-
>  tests/kms_display_modes.c                     |   6 +-
>  tests/kms_dither.c                            |   6 +-
>  tests/kms_dp_aux_dev.c                        |   2 +-
>  tests/kms_feature_discovery.c                 |  12 +-
>  tests/kms_flip.c                              |   6 +-
>  tests/kms_flip_event_leak.c                   |   6 +-
>  tests/kms_force_connector_basic.c             |   6 +-
>  tests/kms_getfb.c                             |  30 +--
>  tests/kms_hdmi_inject.c                       |   6 +-
>  tests/kms_hdr.c                               |   6 +-
>  tests/kms_invalid_mode.c                      |   6 +-
>  tests/kms_lease.c                             |  12 +-
>  tests/kms_multipipe_modeset.c                 |   6 +-
>  tests/kms_panel_fitting.c                     |   8 +-
>  tests/kms_pipe_crc_basic.c                    |   6 +-
>  tests/kms_plane.c                             |   6 +-
>  tests/kms_plane_alpha_blend.c                 |   6 +-
>  tests/kms_plane_cursor.c                      |   6 +-
>  tests/kms_plane_lowres.c                      |   6 +-
>  tests/kms_plane_multiple.c                    |   6 +-
>  tests/kms_plane_scaling.c                     |  14 +-
>  tests/kms_prime.c                             |  18 +-
>  tests/kms_prop_blob.c                         |  10 +-
>  tests/kms_properties.c                        |  14 +-
>  tests/kms_rmfb.c                              |   6 +-
>  tests/kms_rotation_crc.c                      |   8 +-
>  tests/kms_scaling_modes.c                     |   6 +-
>  tests/kms_selftest.c                          |   2 +-
>  tests/kms_sequence.c                          |   6 +-
>  tests/kms_setmode.c                           |   6 +-
>  tests/kms_sharpness_filter.c                  |   6 +-
>  tests/kms_sysfs_edid_timing.c                 |   2 +-
>  tests/kms_tiled_display.c                     |   6 +-
>  tests/kms_tv_load_detect.c                    |   6 +-
>  tests/kms_universal_plane.c                   |   6 +-
>  tests/kms_vblank.c                            |   6 +-
>  tests/kms_vrr.c                               |  10 +-
>  tests/kms_writeback.c                         |   6 +-
>  tests/meta_test.c                             |   4 +-
>  tests/msm/msm_mapping.c                       |   6 +-
>  tests/msm/msm_recovery.c                      |   6 +-
>  tests/msm/msm_shrink.c                        |   6 +-
>  tests/msm/msm_submit.c                        |   6 +-
>  tests/msm/msm_submitoverhead.c                |   6 +-
>  tests/nouveau_crc.c                           |  10 +-
>  tests/panfrost/panfrost_gem_new.c             |   6 +-
>  tests/panfrost/panfrost_get_param.c           |   6 +-
>  tests/panfrost/panfrost_prime.c               |   6 +-
>  tests/panfrost/panfrost_submit.c              |   6 +-
>  tests/panthor/panthor_gem.c                   |   6 +-
>  tests/panthor/panthor_group.c                 |   6 +-
>  tests/panthor/panthor_query.c                 |   6 +-
>  tests/panthor/panthor_vm.c                    |   6 +-
>  tests/prime_nv_api.c                          |   6 +-
>  tests/prime_nv_pcopy.c                        |   6 +-
>  tests/prime_nv_test.c                         |   6 +-
>  tests/prime_udl.c                             |   2 +-
>  tests/prime_vgem.c                            |  24 +--
>  tests/sriov_basic.c                           |   6 +-
>  tests/sw_sync.c                               |   4 +-
>  tests/syncobj_basic.c                         |   6 +-
>  tests/syncobj_eventfd.c                       |   6 +-
>  tests/syncobj_timeline.c                      |   6 +-
>  tests/syncobj_wait.c                          |   6 +-
>  tests/template.c                              |   8 +-
>  tests/testdisplay.c                           |   2 +-
>  tests/tools_test.c                            |   4 +-
>  tests/v3d/v3d_create_bo.c                     |   6 +-
>  tests/v3d/v3d_get_bo_offset.c                 |   6 +-
>  tests/v3d/v3d_get_param.c                     |   6 +-
>  tests/v3d/v3d_job_submission.c                |   6 +-
>  tests/v3d/v3d_mmap.c                          |   6 +-
>  tests/v3d/v3d_perfmon.c                       |   6 +-
>  tests/v3d/v3d_submit_cl.c                     |   6 +-
>  tests/v3d/v3d_submit_csd.c                    |   6 +-
>  tests/v3d/v3d_wait_bo.c                       |   6 +-
>  tests/vc4/vc4_create_bo.c                     |   6 +-
>  tests/vc4/vc4_dmabuf_poll.c                   |   6 +-
>  tests/vc4/vc4_label_bo.c                      |   6 +-
>  tests/vc4/vc4_lookup_fail.c                   |   6 +-
>  tests/vc4/vc4_mmap.c                          |   6 +-
>  tests/vc4/vc4_perfmon.c                       |   6 +-
>  tests/vc4/vc4_purgeable_bo.c                  |   6 +-
>  tests/vc4/vc4_tiling.c                        |   6 +-
>  tests/vc4/vc4_wait_bo.c                       |   6 +-
>  tests/vc4/vc4_wait_seqno.c                    |   6 +-
>  tests/vgem_basic.c                            |  14 +-
>  tests/vgem_slow.c                             |   6 +-
>  tests/vkms/vkms_configfs.c                    |   6 +-
>  tests/vmwgfx/vmw_execution_buffer.c           |   6 +-
>  tests/vmwgfx/vmw_mob_stress.c                 |   6 +-
>  tests/vmwgfx/vmw_prime.c                      |  12 +-
>  tests/vmwgfx/vmw_ref_count.c                  |   6 +-
>  tests/vmwgfx/vmw_surface_copy.c               |   6 +-
>  tests/vmwgfx/vmw_tri.c                        |   6 +-
>  472 files changed, 1930 insertions(+), 1875 deletions(-)
>  create mode 100644 scripts/iterators.cocci
> 


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 0/7] igt: Help out coccinelle
  2025-11-24 18:12 ` [PATCH i-g-t 0/7] " Peter Senna Tschudin
@ 2025-11-24 20:57   ` Jani Nikula
  2025-11-24 21:37     ` Peter Senna Tschudin
  2025-11-24 21:39   ` Ville Syrjälä
  2025-11-25 13:49   ` Kamil Konieczny
  2 siblings, 1 reply; 29+ messages in thread
From: Jani Nikula @ 2025-11-24 20:57 UTC (permalink / raw)
  To: Peter Senna Tschudin, igt-dev, ville.syrjala

On Mon, 24 Nov 2025, Peter Senna Tschudin <peter.senna@linux.intel.com> wrote:
> Hi Ville,
>
> I need to see the value proposition before supporting ~2000 lines of churn.
>
> - Can you share the specific Coccinelle scripts that require these changes?
> - What transformations are you planning that can't work with the current
> syntax?
> - Have you attempted these transformations and confirmed current syntax
> blocks them?
>
> More importantly: Coccinelle provides mechanisms to handle non-standard
> macros (iterator declarations, custom isomorphisms, virtual rules,
> etc.). Have you exhausted all options for teaching Coccinelle about our
> existing macro syntax before concluding we need to modify the codebase
> itself?
>
> It seems backwards to change ~2000 code locations to accommodate a tool
> when the tool is designed to be configurable for exactly these situations.

Generally speaking, Coccinelle is not a user-friendly tool. And that's
about the nicest way to put it. It takes a while to get used to, and to
get even the simplest changes done. But it can be really powerful when
you've banged it into submission.

I think the question here is about unlocking the powers of Coccinelle on
the igt code base. If you can't do the simplest transformations without
first figuring out how to dodge all the idiosyncrasies of igt syntax,
you're just not going to do it, are you?

Or are you proposing to start maintaining an igt library of mandatory
Coccinelle includes, something that very few people are going to
understand at all?

> Without concrete examples of problems being solved and evidence that
> Coccinelle-side solutions were explored, this looks like speculative
> refactoring with unclear ROI.

I presume the prime use case is to stop conflating crtc_index with enum
pipe [1].


BR,
Jani.


[1] https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/187


-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 0/7] igt: Help out coccinelle
  2025-11-24 20:57   ` Jani Nikula
@ 2025-11-24 21:37     ` Peter Senna Tschudin
  0 siblings, 0 replies; 29+ messages in thread
From: Peter Senna Tschudin @ 2025-11-24 21:37 UTC (permalink / raw)
  To: Jani Nikula, igt-dev, ville.syrjala



On 11/24/2025 9:57 PM, Jani Nikula wrote:
> On Mon, 24 Nov 2025, Peter Senna Tschudin <peter.senna@linux.intel.com> wrote:
>> Hi Ville,
>>
>> I need to see the value proposition before supporting ~2000 lines of churn.
>>
>> - Can you share the specific Coccinelle scripts that require these changes?
>> - What transformations are you planning that can't work with the current
>> syntax?
>> - Have you attempted these transformations and confirmed current syntax
>> blocks them?
>>
>> More importantly: Coccinelle provides mechanisms to handle non-standard
>> macros (iterator declarations, custom isomorphisms, virtual rules,
>> etc.). Have you exhausted all options for teaching Coccinelle about our
>> existing macro syntax before concluding we need to modify the codebase
>> itself?
>>
>> It seems backwards to change ~2000 code locations to accommodate a tool
>> when the tool is designed to be configurable for exactly these situations.
> 
> Generally speaking, Coccinelle is not a user-friendly tool. And that's
> about the nicest way to put it. It takes a while to get used to, and to
> get even the simplest changes done. But it can be really powerful when
> you've banged it into submission.

While I do not agree with you, I understand it can be frustrating at
times. The mailing list has a very low latency, and it is very helpful
for debugging your semantic patches.

Before committing to 2000 lines of mechanical changes, I'd like to see:

1. Documentation of the specific Coccinelle transformations being blocked
2. Evidence that Coccinelle's configuration mechanisms (iterator
declarations, isomorphisms, etc.) were explored
3. The specific technical limitations preventing a Coccinelle-side solution

I know that Coccinelle is designed for adapting to project-specific
syntax. The Linux kernel successfully uses iterator declarations and
custom includes to handle complex macro patterns. There are limitations,
and if that is the case for us, the limitations should be _well_
documented here.

If we've genuinely exhausted these options, I'd suggest posting to the
Coccinelle mailing list. Julia Lawall and the team are very responsive
and will advise whether our macro patterns are fundamentally
incompatible or if there's a configuration approach we're missing.

I am confident that if there are low hanging fruits on the Coccinelle
side that can be used to support our use case, the Coccinelle team will
consider implementing it for our code base.

If the Coccinelle team confirm our patterns can't be reasonably
supported through configuration, or if the workarounds would be too
complex for contributors to maintain, then I'd consider updating our
codebase.

[...]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 0/7] igt: Help out coccinelle
  2025-11-24 18:12 ` [PATCH i-g-t 0/7] " Peter Senna Tschudin
  2025-11-24 20:57   ` Jani Nikula
@ 2025-11-24 21:39   ` Ville Syrjälä
  2025-11-24 21:53     ` Peter Senna Tschudin
  2025-11-25 13:49   ` Kamil Konieczny
  2 siblings, 1 reply; 29+ messages in thread
From: Ville Syrjälä @ 2025-11-24 21:39 UTC (permalink / raw)
  To: Peter Senna Tschudin; +Cc: igt-dev

On Mon, Nov 24, 2025 at 07:12:12PM +0100, Peter Senna Tschudin wrote:
> Hi Ville,
> 
> I need to see the value proposition before supporting ~2000 lines of churn.
> 
> - Can you share the specific Coccinelle scripts that require these changes?

It doesn't matter what you want to change or how. Any time cocci sees
eg. igt_fixture or igt_main it barfs and gives up. So currently you
can't do any kind change with coccinelle to most of tests/.

> - What transformations are you planning that can't work with the current
> syntax?

We need to fix the massive pipe vs. crtc mess. And in general
it would be nice to be able to use cocci over the igt codebase.
Currently that is impossible.

> - Have you attempted these transformations and confirmed current syntax
> blocks them?

Of course I tried, How else do you think I could have
even come up with this stuff?

> 
> More importantly: Coccinelle provides mechanisms to handle non-standard
> macros (iterator declarations,

Iterators is exactly what I used. Did you read the
commit messages?

> custom isomorphisms, virtual rules,
> etc.). Have you exhausted all options for teaching Coccinelle about our
> existing macro syntax before concluding we need to modify the codebase
> itself?

"all options" would probably involev rewriting coccinelle. So no, I
haven't exhausted all options. I have spent quite a bit of time with
coccinelle and I'm not aware of any way to teach it about this kind of
non-standard syntax.

If you can pull some kind of rabbit out of your hat please do so,
and stick it into scripts/ so that other people can also use cocci
without spending a month reverse engineering the syntax.

> 
> It seems backwards to change ~2000 code locations to accommodate a tool

It doesn't really matter how many places need changing. It's all
done completely mechanically with sed, so entirely trivial.

> when the tool is designed to be configurable for exactly these situations.

It's designed to consume somewhat standard C. igt is not that.

> 
> Without concrete examples of problems being solved and evidence that
> Coccinelle-side solutions were explored, this looks like speculative
> refactoring with unclear ROI.

If you need to convince yourself then just try to do some kind of
trivial change over all of tests/ and see how far you can get
without this series and its scripts/iterators.cocci.

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 7/7] scripts/cocci: Add iterators.cocci
  2025-11-20 19:14 ` [PATCH i-g-t 7/7] scripts/cocci: Add iterators.cocci Ville Syrjala
@ 2025-11-24 21:49   ` Ville Syrjälä
  2025-11-24 22:40     ` Ville Syrjälä
  0 siblings, 1 reply; 29+ messages in thread
From: Ville Syrjälä @ 2025-11-24 21:49 UTC (permalink / raw)
  To: igt-dev

On Thu, Nov 20, 2025 at 09:14:15PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Coccinelle often chokes on magic iterator macros. We
> can lend it a hand by explicitly declaring those macros
> as iterators. Start collecting them in
> scripts/iterators.cocci which people can easily include
> in their cocci scripts.
> 
> The "struct dummy" is there because coccinelle doesn't
> like an empty script. Dunno if there's a cleaner way
> around that?
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  scripts/iterators.cocci | 53 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 53 insertions(+)
>  create mode 100644 scripts/iterators.cocci
> 
> diff --git a/scripts/iterators.cocci b/scripts/iterators.cocci
> new file mode 100644
> index 000000000000..90d3ae437a15
> --- /dev/null
> +++ b/scripts/iterators.cocci
> @@ -0,0 +1,53 @@
> +// SPDX-License-Identifier: MIT
> +//
> +// Use with
> +// #include "scripts/iterators.cocci"
> +// at the start of your cocci script
> +
> +@@
> +iterator name for_each_collection_data;
> +iterator name for_each_combination;
> +iterator name for_each_connected_output;
> +iterator name for_each_connector_mode;
> +iterator name for_each_ctx_engine;
> +iterator name for_each_disconnected_output;
> +iterator name for_each_format;
> +iterator name for_each_if;
> +iterator name for_each_output;
> +iterator name for_each_pipe;
> +iterator name for_each_pipe_static;
> +iterator name for_each_pipe_with_single_output;
> +iterator name for_each_pipe_with_valid_output;
> +iterator name for_each_plane_on_pipe;
> +iterator name for_each_prime_number;
> +iterator name for_each_sriov_enabled_vf;
> +iterator name for_each_sriov_num_vfsfor_each_sriov_vf;
> +iterator name for_each_sriov_num_vfs_in_rangefor_each_sriov_vf_in_range;
> +iterator name for_each_sriov_vf;
> +iterator name for_each_sriov_vf_in_range;
> +iterator name for_each_subset;
> +iterator name for_each_subset;
> +iterator name for_each_sysfs_gt_dirfd;
> +iterator name for_each_sysfs_gt_path;
> +iterator name for_each_sysfs_tile_dirfd;
> +iterator name for_each_tiling;
> +iterator name for_each_valid_output_on_pipe;
> +iterator name for_each_variation_nr;
> +iterator name for_each_variation_r;
> +iterator name igt_for_each_drm_client;
> +iterator name igt_list_for_each_entry;
> +iterator name igt_list_for_each_entry_reverse;
> +iterator name igt_list_for_each_entry_safe;
> +iterator name igt_list_for_each_entry_safe_reverse;
> +iterator name igt_dynamic;
> +iterator name igt_dynamic_f;
> +iterator name igt_fixture;
> +iterator name igt_fork;
> +iterator name igt_require;
> +iterator name igt_subtest;
> +iterator name igt_subtest_f;
> +iterator name igt_subtest_group;
> +iterator name igt_subtest_with_dynamic;
> +iterator name igt_subtest_with_dynamic_f;

Couple of other needed iterators I apparently forgot to include here:

+iterator name igt_until_timeout;
+iterator name igt_while_interruptible;

I should also check if cocci supports regexp with iterator names since
that could reduce this list quite a bit...

> +@@
> +struct dummy
> -- 
> 2.49.1

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 0/7] igt: Help out coccinelle
  2025-11-24 21:39   ` Ville Syrjälä
@ 2025-11-24 21:53     ` Peter Senna Tschudin
  0 siblings, 0 replies; 29+ messages in thread
From: Peter Senna Tschudin @ 2025-11-24 21:53 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

Hi Ville,

Thank you for the detailed responses. That clarifies the technical
situation significantly.

I apologize if my initial questions came across as dismissive of the
work you've done. It wasn't clear from the cover letter that you'd
already explored the Coccinelle configuration approaches.

Based on your explanation:
- Coccinelle can't parse our current macro syntax even with iterator
declarations
- You've invested time exploring Coccinelle-side solutions
- The mechanical changes are straightforward via sed
- This unblocks important work on the pipe vs. crtc cleanup

This approach makes sense to me.

Thank you,

Peter

On 11/24/2025 10:39 PM, Ville Syrjälä wrote:
> On Mon, Nov 24, 2025 at 07:12:12PM +0100, Peter Senna Tschudin wrote:
>> Hi Ville,
>>
>> I need to see the value proposition before supporting ~2000 lines of churn.
>>
>> - Can you share the specific Coccinelle scripts that require these changes?
> 
> It doesn't matter what you want to change or how. Any time cocci sees
> eg. igt_fixture or igt_main it barfs and gives up. So currently you
> can't do any kind change with coccinelle to most of tests/.
> 
>> - What transformations are you planning that can't work with the current
>> syntax?
> 
> We need to fix the massive pipe vs. crtc mess. And in general
> it would be nice to be able to use cocci over the igt codebase.
> Currently that is impossible.
> 
>> - Have you attempted these transformations and confirmed current syntax
>> blocks them?
> 
> Of course I tried, How else do you think I could have
> even come up with this stuff?
> 
>>
>> More importantly: Coccinelle provides mechanisms to handle non-standard
>> macros (iterator declarations,
> 
> Iterators is exactly what I used. Did you read the
> commit messages?
> 
>> custom isomorphisms, virtual rules,
>> etc.). Have you exhausted all options for teaching Coccinelle about our
>> existing macro syntax before concluding we need to modify the codebase
>> itself?
> 
> "all options" would probably involev rewriting coccinelle. So no, I
> haven't exhausted all options. I have spent quite a bit of time with
> coccinelle and I'm not aware of any way to teach it about this kind of
> non-standard syntax.
> 
> If you can pull some kind of rabbit out of your hat please do so,
> and stick it into scripts/ so that other people can also use cocci
> without spending a month reverse engineering the syntax.
> 
>>
>> It seems backwards to change ~2000 code locations to accommodate a tool
> 
> It doesn't really matter how many places need changing. It's all
> done completely mechanically with sed, so entirely trivial.
> 
>> when the tool is designed to be configurable for exactly these situations.
> 
> It's designed to consume somewhat standard C. igt is not that.
> 
>>
>> Without concrete examples of problems being solved and evidence that
>> Coccinelle-side solutions were explored, this looks like speculative
>> refactoring with unclear ROI.
> 
> If you need to convince yourself then just try to do some kind of
> trivial change over all of tests/ and see how far you can get
> without this series and its scripts/iterators.cocci.
> 


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 7/7] scripts/cocci: Add iterators.cocci
  2025-11-24 21:49   ` Ville Syrjälä
@ 2025-11-24 22:40     ` Ville Syrjälä
  2025-12-04 12:56       ` Hajda, Andrzej
  0 siblings, 1 reply; 29+ messages in thread
From: Ville Syrjälä @ 2025-11-24 22:40 UTC (permalink / raw)
  To: igt-dev

On Mon, Nov 24, 2025 at 11:49:40PM +0200, Ville Syrjälä wrote:
> On Thu, Nov 20, 2025 at 09:14:15PM +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Coccinelle often chokes on magic iterator macros. We
> > can lend it a hand by explicitly declaring those macros
> > as iterators. Start collecting them in
> > scripts/iterators.cocci which people can easily include
> > in their cocci scripts.
> > 
> > The "struct dummy" is there because coccinelle doesn't
> > like an empty script. Dunno if there's a cleaner way
> > around that?
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >  scripts/iterators.cocci | 53 +++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 53 insertions(+)
> >  create mode 100644 scripts/iterators.cocci
> > 
> > diff --git a/scripts/iterators.cocci b/scripts/iterators.cocci
> > new file mode 100644
> > index 000000000000..90d3ae437a15
> > --- /dev/null
> > +++ b/scripts/iterators.cocci
> > @@ -0,0 +1,53 @@
> > +// SPDX-License-Identifier: MIT
> > +//
> > +// Use with
> > +// #include "scripts/iterators.cocci"
> > +// at the start of your cocci script
> > +
> > +@@
> > +iterator name for_each_collection_data;
> > +iterator name for_each_combination;
> > +iterator name for_each_connected_output;
> > +iterator name for_each_connector_mode;
> > +iterator name for_each_ctx_engine;
> > +iterator name for_each_disconnected_output;
> > +iterator name for_each_format;
> > +iterator name for_each_if;
> > +iterator name for_each_output;
> > +iterator name for_each_pipe;
> > +iterator name for_each_pipe_static;
> > +iterator name for_each_pipe_with_single_output;
> > +iterator name for_each_pipe_with_valid_output;
> > +iterator name for_each_plane_on_pipe;
> > +iterator name for_each_prime_number;
> > +iterator name for_each_sriov_enabled_vf;
> > +iterator name for_each_sriov_num_vfsfor_each_sriov_vf;
> > +iterator name for_each_sriov_num_vfs_in_rangefor_each_sriov_vf_in_range;
> > +iterator name for_each_sriov_vf;
> > +iterator name for_each_sriov_vf_in_range;
> > +iterator name for_each_subset;
> > +iterator name for_each_subset;
> > +iterator name for_each_sysfs_gt_dirfd;
> > +iterator name for_each_sysfs_gt_path;
> > +iterator name for_each_sysfs_tile_dirfd;
> > +iterator name for_each_tiling;
> > +iterator name for_each_valid_output_on_pipe;
> > +iterator name for_each_variation_nr;
> > +iterator name for_each_variation_r;

> > +iterator name igt_for_each_drm_client;
> > +iterator name igt_list_for_each_entry;
> > +iterator name igt_list_for_each_entry_reverse;
> > +iterator name igt_list_for_each_entry_safe;
> > +iterator name igt_list_for_each_entry_safe_reverse;

And now that I think about it, I seem to recall cocci having
some kind of builtin heuristic for this...

Indeed, parsing_c/parsing_hacks.ml says:
let regexp_foreach = Str.regexp_case_fold
  ".*\\(for_?each\\|for_?all\\|iterate\\|loop\\|walk\\|scan\\|each\\|for\\)"

So I guess we don't actually need to declare any of the
iterators above. IIRC I generated that list with a simple
'grep for_each', more or less just in case.

> > +iterator name igt_dynamic;
> > +iterator name igt_dynamic_f;
> > +iterator name igt_fixture;
> > +iterator name igt_fork;
> > +iterator name igt_require;
> > +iterator name igt_subtest;
> > +iterator name igt_subtest_f;
> > +iterator name igt_subtest_group;
> > +iterator name igt_subtest_with_dynamic;
> > +iterator name igt_subtest_with_dynamic_f;
> 
> Couple of other needed iterators I apparently forgot to include here:
> 
> +iterator name igt_until_timeout;
> +iterator name igt_while_interruptible;

All of this stuff I had to add manually to actually make
cocci parse the code succesfully. And we can see none of it
will match that heuristic regexp.

> 
> I should also check if cocci supports regexp with iterator names since
> that could reduce this list quite a bit...

Doesn't seem to be the case. But at least I can reduce
the list due to the builtin heuristic.

> 
> > +@@
> > +struct dummy
> > -- 
> > 2.49.1
> 
> -- 
> Ville Syrjälä
> Intel

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* ✓ Xe.CI.BAT: success for igt: Help out coccinelle (rev2)
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (10 preceding siblings ...)
  2025-11-24 18:12 ` [PATCH i-g-t 0/7] " Peter Senna Tschudin
@ 2025-11-25  8:38 ` Patchwork
  2025-11-25  9:10 ` ✓ i915.CI.BAT: " Patchwork
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2025-11-25  8:38 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 4868 bytes --]

== Series Details ==

Series: igt: Help out coccinelle (rev2)
URL   : https://patchwork.freedesktop.org/series/157868/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_8637_BAT -> XEIGTPW_14107_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (12 -> 12)
------------------------------

  Additional (1): bat-dg2-oem2 
  Missing    (1): bat-pvc-2 

Known issues
------------

  Here are the changes found in XEIGTPW_14107_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-dg2-oem2:       NOTRUN -> [SKIP][1] ([Intel XE#623])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/bat-dg2-oem2/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-dg2-oem2:       NOTRUN -> [SKIP][2] ([Intel XE#455])
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/bat-dg2-oem2/igt@kms_dsc@dsc-basic.html

  * igt@kms_psr@psr-cursor-plane-move:
    - bat-dg2-oem2:       NOTRUN -> [SKIP][3] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +2 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/bat-dg2-oem2/igt@kms_psr@psr-cursor-plane-move.html

  * igt@sriov_basic@enable-vfs-autoprobe-off:
    - bat-dg2-oem2:       NOTRUN -> [SKIP][4] ([Intel XE#1091] / [Intel XE#2849]) +1 other test skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/bat-dg2-oem2/igt@sriov_basic@enable-vfs-autoprobe-off.html

  * igt@xe_exec_fault_mode@twice-bindexecqueue-userptr:
    - bat-dg2-oem2:       NOTRUN -> [SKIP][5] ([Intel XE#288]) +32 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/bat-dg2-oem2/igt@xe_exec_fault_mode@twice-bindexecqueue-userptr.html

  * igt@xe_huc_copy@huc_copy:
    - bat-dg2-oem2:       NOTRUN -> [SKIP][6] ([Intel XE#255])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/bat-dg2-oem2/igt@xe_huc_copy@huc_copy.html

  * igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
    - bat-dg2-oem2:       NOTRUN -> [SKIP][7] ([Intel XE#2229])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/bat-dg2-oem2/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html

  * igt@xe_pat@pat-index-xe2:
    - bat-dg2-oem2:       NOTRUN -> [SKIP][8] ([Intel XE#977])
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/bat-dg2-oem2/igt@xe_pat@pat-index-xe2.html

  * igt@xe_pat@pat-index-xehpc:
    - bat-dg2-oem2:       NOTRUN -> [SKIP][9] ([Intel XE#2838] / [Intel XE#979])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/bat-dg2-oem2/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pat@pat-index-xelpg:
    - bat-dg2-oem2:       NOTRUN -> [SKIP][10] ([Intel XE#979])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/bat-dg2-oem2/igt@xe_pat@pat-index-xelpg.html

  * igt@xe_sriov_flr@flr-vf1-clear:
    - bat-dg2-oem2:       NOTRUN -> [SKIP][11] ([Intel XE#3342])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/bat-dg2-oem2/igt@xe_sriov_flr@flr-vf1-clear.html

  * igt@xe_waitfence@abstime:
    - bat-dg2-oem2:       NOTRUN -> [TIMEOUT][12] ([Intel XE#6506])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/bat-dg2-oem2/igt@xe_waitfence@abstime.html

  
  [Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
  [Intel XE#255]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/255
  [Intel XE#2838]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2838
  [Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#623]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/623
  [Intel XE#6506]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6506
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
  [Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979


Build changes
-------------

  * IGT: IGT_8637 -> IGTPW_14107

  IGTPW_14107: 14107
  IGT_8637: 730ee3dfb26f8d7891fc240b0132a08c5bc7b949 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-4141-c701e79730169fab373fba7e759497d755fac592: c701e79730169fab373fba7e759497d755fac592

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/index.html

[-- Attachment #2: Type: text/html, Size: 5756 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* ✓ i915.CI.BAT: success for igt: Help out coccinelle (rev2)
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (11 preceding siblings ...)
  2025-11-25  8:38 ` ✓ Xe.CI.BAT: success for igt: Help out coccinelle (rev2) Patchwork
@ 2025-11-25  9:10 ` Patchwork
  2025-11-25 11:55 ` ✗ Xe.CI.Full: failure " Patchwork
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2025-11-25  9:10 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 4220 bytes --]

== Series Details ==

Series: igt: Help out coccinelle (rev2)
URL   : https://patchwork.freedesktop.org/series/157868/
State : success

== Summary ==

CI Bug Log - changes from IGT_8637 -> IGTPW_14107
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/index.html

Participating hosts (44 -> 44)
------------------------------

  No changes in participating hosts

Known issues
------------

  Here are the changes found in IGTPW_14107 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live:
    - bat-mtlp-8:         [PASS][1] -> [DMESG-FAIL][2] ([i915#12061]) +1 other test dmesg-fail
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/bat-mtlp-8/igt@i915_selftest@live.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/bat-mtlp-8/igt@i915_selftest@live.html

  * igt@i915_selftest@live@workarounds:
    - bat-twl-1:          [PASS][3] -> [ABORT][4] ([i915#14365]) +1 other test abort
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/bat-twl-1/igt@i915_selftest@live@workarounds.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/bat-twl-1/igt@i915_selftest@live@workarounds.html
    - bat-arls-5:         [PASS][5] -> [DMESG-FAIL][6] ([i915#12061]) +1 other test dmesg-fail
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/bat-arls-5/igt@i915_selftest@live@workarounds.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/bat-arls-5/igt@i915_selftest@live@workarounds.html
    - bat-dg2-9:          [PASS][7] -> [DMESG-FAIL][8] ([i915#12061]) +1 other test dmesg-fail
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/bat-dg2-9/igt@i915_selftest@live@workarounds.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/bat-dg2-9/igt@i915_selftest@live@workarounds.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@workarounds:
    - bat-mtlp-6:         [DMESG-FAIL][9] ([i915#12061]) -> [PASS][10] +1 other test pass
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/bat-mtlp-6/igt@i915_selftest@live@workarounds.html

  * igt@kms_flip@basic-flip-vs-wf_vblank:
    - bat-adlp-9:         [FAIL][11] ([i915#15318]) -> [PASS][12] +1 other test pass
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/bat-adlp-9/igt@kms_flip@basic-flip-vs-wf_vblank.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/bat-adlp-9/igt@kms_flip@basic-flip-vs-wf_vblank.html

  
#### Warnings ####

  * igt@i915_selftest@live:
    - bat-atsm-1:         [DMESG-FAIL][13] ([i915#12061] / [i915#13929]) -> [DMESG-FAIL][14] ([i915#12061] / [i915#14204])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/bat-atsm-1/igt@i915_selftest@live.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/bat-atsm-1/igt@i915_selftest@live.html

  * igt@i915_selftest@live@mman:
    - bat-atsm-1:         [DMESG-FAIL][15] ([i915#13929]) -> [DMESG-FAIL][16] ([i915#14204])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/bat-atsm-1/igt@i915_selftest@live@mman.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/bat-atsm-1/igt@i915_selftest@live@mman.html

  
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#13929]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13929
  [i915#14204]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14204
  [i915#14365]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14365
  [i915#15318]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15318


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_8637 -> IGTPW_14107

  CI-20190529: 20190529
  CI_DRM_17580: c701e79730169fab373fba7e759497d755fac592 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_14107: 14107
  IGT_8637: 730ee3dfb26f8d7891fc240b0132a08c5bc7b949 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/index.html

[-- Attachment #2: Type: text/html, Size: 5491 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* ✗ Xe.CI.Full: failure for igt: Help out coccinelle (rev2)
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (12 preceding siblings ...)
  2025-11-25  9:10 ` ✓ i915.CI.BAT: " Patchwork
@ 2025-11-25 11:55 ` Patchwork
  2025-11-25 13:44 ` [PATCH i-g-t 0/7] igt: Help out coccinelle Kamil Konieczny
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2025-11-25 11:55 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 77824 bytes --]

== Series Details ==

Series: igt: Help out coccinelle (rev2)
URL   : https://patchwork.freedesktop.org/series/157868/
State : failure

== Summary ==

CI Bug Log - changes from XEIGT_8637_FULL -> XEIGTPW_14107_FULL
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with XEIGTPW_14107_FULL absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in XEIGTPW_14107_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (4 -> 3)
------------------------------

  Missing    (1): shard-adlp 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in XEIGTPW_14107_FULL:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_async_flips@async-flip-with-page-flip-events-linear@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [FAIL][1] +4 other tests fail
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-1/igt@kms_async_flips@async-flip-with-page-flip-events-linear@pipe-b-edp-1.html

  * igt@kms_content_protection@dp-mst-suspend-resume:
    - shard-bmg:          NOTRUN -> [SKIP][2]
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@kms_content_protection@dp-mst-suspend-resume.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][3]
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-434/igt@kms_content_protection@dp-mst-suspend-resume.html
    - shard-lnl:          NOTRUN -> [SKIP][4]
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-5/igt@kms_content_protection@dp-mst-suspend-resume.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-bmg:          NOTRUN -> [FAIL][5]
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-8/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html

  * igt@kms_pipe_stress@stress-xrgb8888-xtiled:
    - shard-lnl:          [PASS][6] -> [DMESG-WARN][7]
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-lnl-7/igt@kms_pipe_stress@stress-xrgb8888-xtiled.html
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_pipe_stress@stress-xrgb8888-xtiled.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@kms_sharpness_filter@filter-suspend@pipe-c-edp-1-suspend}:
    - shard-lnl:          NOTRUN -> [INCOMPLETE][8]
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-1/igt@kms_sharpness_filter@filter-suspend@pipe-c-edp-1-suspend.html

  
Known issues
------------

  Here are the changes found in XEIGTPW_14107_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@intel_hwmon@hwmon-write:
    - shard-lnl:          NOTRUN -> [SKIP][9] ([Intel XE#1125])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-5/igt@intel_hwmon@hwmon-write.html

  * igt@kms_async_flips@async-flip-hang@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [FAIL][10] ([Intel XE#6676]) +4 other tests fail
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@kms_async_flips@async-flip-hang@pipe-a-edp-1.html

  * igt@kms_async_flips@async-flip-with-page-flip-events-linear@pipe-c-edp-1:
    - shard-lnl:          NOTRUN -> [FAIL][11] ([Intel XE#5993]) +1 other test fail
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-1/igt@kms_async_flips@async-flip-with-page-flip-events-linear@pipe-c-edp-1.html

  * igt@kms_async_flips@test-cursor:
    - shard-lnl:          NOTRUN -> [SKIP][12] ([Intel XE#664])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_async_flips@test-cursor.html

  * igt@kms_big_fb@linear-64bpp-rotate-270:
    - shard-bmg:          NOTRUN -> [SKIP][13] ([Intel XE#2327]) +3 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-5/igt@kms_big_fb@linear-64bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-90:
    - shard-dg2-set2:     NOTRUN -> [SKIP][14] ([Intel XE#316]) +1 other test skip
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-466/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html
    - shard-lnl:          NOTRUN -> [SKIP][15] ([Intel XE#1407]) +2 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - shard-bmg:          NOTRUN -> [SKIP][16] ([Intel XE#610])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][17] ([Intel XE#610])
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@kms_big_fb@y-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-lnl:          NOTRUN -> [SKIP][18] ([Intel XE#1124]) +9 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-4/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
    - shard-bmg:          NOTRUN -> [SKIP][19] ([Intel XE#1124]) +17 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
    - shard-dg2-set2:     NOTRUN -> [SKIP][20] ([Intel XE#1124]) +17 other tests skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-432/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-bmg:          NOTRUN -> [SKIP][21] ([Intel XE#2328])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@kms_big_fb@yf-tiled-addfb.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][22] ([Intel XE#619])
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-433/igt@kms_big_fb@yf-tiled-addfb.html

  * igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p:
    - shard-lnl:          NOTRUN -> [SKIP][23] ([Intel XE#2191])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-1/igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p:
    - shard-bmg:          NOTRUN -> [SKIP][24] ([Intel XE#2314] / [Intel XE#2894]) +3 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][25] ([Intel XE#2191]) +2 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-433/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html
    - shard-lnl:          NOTRUN -> [SKIP][26] ([Intel XE#1512]) +1 other test skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-3/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-2-displays-2560x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#367]) +2 other tests skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html

  * igt@kms_bw@linear-tiling-2-displays-3840x2160p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][28] ([Intel XE#367]) +3 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-432/igt@kms_bw@linear-tiling-2-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-3-displays-2160x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][29] ([Intel XE#367]) +1 other test skip
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_bw@linear-tiling-3-displays-2160x1440p.html

  * igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][30] ([Intel XE#787]) +118 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-6.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][31] ([Intel XE#455] / [Intel XE#787]) +33 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-464/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][32] ([Intel XE#3432]) +2 other tests skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
    - shard-lnl:          NOTRUN -> [SKIP][33] ([Intel XE#3432]) +2 other tests skip
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-4/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][34] ([Intel XE#2887]) +13 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#2887]) +18 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs@pipe-d-hdmi-a-3:
    - shard-bmg:          NOTRUN -> [SKIP][36] ([Intel XE#2652] / [Intel XE#787]) +4 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs@pipe-d-hdmi-a-3.html

  * igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][37] ([Intel XE#2669]) +3 other tests skip
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][38] ([Intel XE#2907]) +3 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-bmg:          NOTRUN -> [SKIP][39] ([Intel XE#2724])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@kms_cdclk@mode-transition-all-outputs.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][40] ([Intel XE#4418])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-432/igt@kms_cdclk@mode-transition-all-outputs.html
    - shard-lnl:          NOTRUN -> [SKIP][41] ([Intel XE#4418])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-4/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_chamelium_color@ctm-0-25:
    - shard-bmg:          NOTRUN -> [SKIP][42] ([Intel XE#2325]) +1 other test skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@kms_chamelium_color@ctm-0-25.html
    - shard-lnl:          NOTRUN -> [SKIP][43] ([Intel XE#306])
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-5/igt@kms_chamelium_color@ctm-0-25.html

  * igt@kms_chamelium_color@ctm-limited-range:
    - shard-dg2-set2:     NOTRUN -> [SKIP][44] ([Intel XE#306]) +2 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-435/igt@kms_chamelium_color@ctm-limited-range.html

  * igt@kms_chamelium_edid@dp-edid-change-during-hibernate:
    - shard-bmg:          NOTRUN -> [SKIP][45] ([Intel XE#2252]) +15 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html

  * igt@kms_chamelium_hpd@vga-hpd:
    - shard-dg2-set2:     NOTRUN -> [SKIP][46] ([Intel XE#373]) +16 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-464/igt@kms_chamelium_hpd@vga-hpd.html

  * igt@kms_chamelium_hpd@vga-hpd-enable-disable-mode:
    - shard-lnl:          NOTRUN -> [SKIP][47] ([Intel XE#373]) +13 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-4/igt@kms_chamelium_hpd@vga-hpd-enable-disable-mode.html

  * igt@kms_chamelium_sharpness_filter@filter-basic:
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#6507])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@kms_chamelium_sharpness_filter@filter-basic.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][49] ([Intel XE#6507])
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-434/igt@kms_chamelium_sharpness_filter@filter-basic.html
    - shard-lnl:          NOTRUN -> [SKIP][50] ([Intel XE#6507])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-5/igt@kms_chamelium_sharpness_filter@filter-basic.html

  * igt@kms_content_protection@content-type-change:
    - shard-bmg:          NOTRUN -> [SKIP][51] ([Intel XE#2341]) +2 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@kms_content_protection@content-type-change.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#2390]) +1 other test skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-5/igt@kms_content_protection@dp-mst-type-0.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][53] ([Intel XE#307]) +1 other test skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-466/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-lnl:          NOTRUN -> [SKIP][54] ([Intel XE#307]) +2 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-1/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@lic-type-0:
    - shard-lnl:          NOTRUN -> [SKIP][55] ([Intel XE#3278]) +1 other test skip
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@mei-interface:
    - shard-lnl:          NOTRUN -> [SKIP][56] ([Intel XE#1468])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-4/igt@kms_content_protection@mei-interface.html

  * igt@kms_cursor_crc@cursor-offscreen-256x85:
    - shard-bmg:          NOTRUN -> [SKIP][57] ([Intel XE#2320]) +5 other tests skip
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-8/igt@kms_cursor_crc@cursor-offscreen-256x85.html

  * igt@kms_cursor_crc@cursor-onscreen-512x512:
    - shard-dg2-set2:     NOTRUN -> [SKIP][58] ([Intel XE#308]) +1 other test skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-433/igt@kms_cursor_crc@cursor-onscreen-512x512.html
    - shard-bmg:          NOTRUN -> [SKIP][59] ([Intel XE#2321]) +1 other test skip
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@kms_cursor_crc@cursor-onscreen-512x512.html

  * igt@kms_cursor_crc@cursor-sliding-512x170:
    - shard-lnl:          NOTRUN -> [SKIP][60] ([Intel XE#2321])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-5/igt@kms_cursor_crc@cursor-sliding-512x170.html

  * igt@kms_cursor_crc@cursor-sliding-max-size:
    - shard-lnl:          NOTRUN -> [SKIP][61] ([Intel XE#1424]) +1 other test skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_cursor_crc@cursor-sliding-max-size.html

  * igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy:
    - shard-bmg:          [PASS][62] -> [SKIP][63] ([Intel XE#2291])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-7/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
    - shard-bmg:          NOTRUN -> [SKIP][64] ([Intel XE#2291]) +1 other test skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-2/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-lnl:          NOTRUN -> [SKIP][65] ([Intel XE#309]) +3 other tests skip
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-dg2-set2:     NOTRUN -> [SKIP][66] ([Intel XE#323])
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-434/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@single-move:
    - shard-dg2-set2:     [PASS][67] -> [DMESG-WARN][68] ([Intel XE#6363]) +1 other test dmesg-warn
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-dg2-435/igt@kms_cursor_legacy@single-move.html
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-433/igt@kms_cursor_legacy@single-move.html

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
    - shard-bmg:          NOTRUN -> [SKIP][69] ([Intel XE#1508])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][70] ([Intel XE#4494] / [i915#3804])
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-432/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-dg2-set2:     NOTRUN -> [SKIP][71] ([Intel XE#4354])
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-432/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_dp_link_training@non-uhbr-sst:
    - shard-lnl:          NOTRUN -> [SKIP][72] ([Intel XE#4354])
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-3/igt@kms_dp_link_training@non-uhbr-sst.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-lnl:          NOTRUN -> [SKIP][73] ([Intel XE#4294])
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-bmg:          NOTRUN -> [SKIP][74] ([Intel XE#4331])
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@kms_dp_linktrain_fallback@dsc-fallback.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][75] ([Intel XE#4331])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-433/igt@kms_dp_linktrain_fallback@dsc-fallback.html
    - shard-lnl:          NOTRUN -> [SKIP][76] ([Intel XE#4331])
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-3/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-dg2-set2:     NOTRUN -> [SKIP][77] ([Intel XE#455]) +30 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-433/igt@kms_dsc@dsc-with-bpc-formats.html
    - shard-lnl:          NOTRUN -> [SKIP][78] ([Intel XE#2244]) +1 other test skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-3/igt@kms_dsc@dsc-with-bpc-formats.html
    - shard-bmg:          NOTRUN -> [SKIP][79] ([Intel XE#2244])
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_fbcon_fbt@fbc:
    - shard-bmg:          NOTRUN -> [SKIP][80] ([Intel XE#4156])
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@kms_fbcon_fbt@fbc.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][81] ([Intel XE#776])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@kms_fbcon_fbt@psr-suspend.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][82] ([Intel XE#776]) +1 other test skip
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_feature_discovery@display-4x:
    - shard-dg2-set2:     NOTRUN -> [SKIP][83] ([Intel XE#1138])
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-434/igt@kms_feature_discovery@display-4x.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
    - shard-lnl:          NOTRUN -> [SKIP][84] ([Intel XE#1421]) +5 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
    - shard-bmg:          NOTRUN -> [SKIP][85] ([Intel XE#2316])
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-2/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html

  * igt@kms_flip@blocking-absolute-wf_vblank:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][86] ([Intel XE#3428]) +1 other test dmesg-warn
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@kms_flip@blocking-absolute-wf_vblank.html

  * igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][87] ([Intel XE#1397]) +1 other test skip
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-1/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][88] ([Intel XE#1401] / [Intel XE#1745]) +2 other tests skip
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][89] ([Intel XE#2293] / [Intel XE#2380]) +8 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-2/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][90] ([Intel XE#1401]) +2 other tests skip
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-7/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][91] ([Intel XE#2293]) +8 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][92] ([Intel XE#1397] / [Intel XE#1745]) +1 other test skip
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-7/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - shard-lnl:          NOTRUN -> [SKIP][93] ([Intel XE#352])
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-7/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-shrfb-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][94] ([Intel XE#6312]) +2 other tests skip
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-1/igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][95] ([Intel XE#651]) +11 other tests skip
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-7/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-onoff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][96] ([Intel XE#651]) +40 other tests skip
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-435/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][97] ([Intel XE#2311]) +39 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][98] ([Intel XE#4141]) +18 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][99] ([Intel XE#656]) +43 other tests skip
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-msflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][100] ([Intel XE#2312]) +8 other tests skip
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y:
    - shard-dg2-set2:     NOTRUN -> [SKIP][101] ([Intel XE#658])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html
    - shard-lnl:          NOTRUN -> [SKIP][102] ([Intel XE#1469]) +1 other test skip
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html
    - shard-bmg:          NOTRUN -> [SKIP][103] ([Intel XE#2352])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-wc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][104] ([Intel XE#6312]) +6 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary:
    - shard-bmg:          NOTRUN -> [SKIP][105] ([Intel XE#2313]) +34 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][106] ([Intel XE#653]) +36 other tests skip
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html

  * igt@kms_getfb@getfb-handle-closed:
    - shard-bmg:          [PASS][107] -> [DMESG-WARN][108] ([Intel XE#1727])
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-1/igt@kms_getfb@getfb-handle-closed.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-2/igt@kms_getfb@getfb-handle-closed.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-lnl:          NOTRUN -> [SKIP][109] ([Intel XE#1503])
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][110] ([Intel XE#2934])
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][111] ([Intel XE#2925])
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-dg2-set2:     NOTRUN -> [SKIP][112] ([Intel XE#2925] / [Intel XE#2927])
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-463/igt@kms_joiner@invalid-modeset-ultra-joiner.html
    - shard-bmg:          NOTRUN -> [SKIP][113] ([Intel XE#2927])
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-bmg:          NOTRUN -> [SKIP][114] ([Intel XE#2501])
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][115] ([Intel XE#356])
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-464/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-bmg:          NOTRUN -> [SKIP][116] ([Intel XE#2486])
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_pipe_stress@stress-xrgb8888-yftiled:
    - shard-bmg:          NOTRUN -> [SKIP][117] ([Intel XE#5624])
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-8/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html

  * igt@kms_plane_lowres@tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][118] ([Intel XE#2393])
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-5/igt@kms_plane_lowres@tiling-y.html

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-lnl:          NOTRUN -> [SKIP][119] ([Intel XE#4596])
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-4/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_multiple@tiling-x@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [FAIL][120] ([Intel XE#4658]) +3 other tests fail
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-1/igt@kms_plane_multiple@tiling-x@pipe-b-edp-1.html

  * igt@kms_plane_scaling@intel-max-src-size:
    - shard-lnl:          NOTRUN -> [SKIP][121] ([Intel XE#3307])
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@kms_plane_scaling@intel-max-src-size.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a:
    - shard-bmg:          NOTRUN -> [SKIP][122] ([Intel XE#2763]) +4 other tests skip
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75@pipe-a:
    - shard-lnl:          NOTRUN -> [SKIP][123] ([Intel XE#2763]) +7 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75@pipe-a.html

  * igt@kms_pm_backlight@fade:
    - shard-bmg:          NOTRUN -> [SKIP][124] ([Intel XE#870])
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@kms_pm_backlight@fade.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][125] ([Intel XE#870])
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-434/igt@kms_pm_backlight@fade.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][126] ([Intel XE#1129])
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-434/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-lnl:          NOTRUN -> [SKIP][127] ([Intel XE#3309])
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-4/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][128] ([Intel XE#2499])
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-8/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][129] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836])
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@kms_pm_rpm@modeset-lpsp.html

  * igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area:
    - shard-lnl:          NOTRUN -> [SKIP][130] ([Intel XE#1406] / [Intel XE#2893] / [Intel XE#4608]) +2 other tests skip
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][131] ([Intel XE#1406] / [Intel XE#4608]) +5 other tests skip
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area@pipe-b-edp-1.html

  * igt@kms_psr2_sf@pr-cursor-plane-update-sf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][132] ([Intel XE#1406] / [Intel XE#1489]) +13 other tests skip
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-466/igt@kms_psr2_sf@pr-cursor-plane-update-sf.html
    - shard-lnl:          NOTRUN -> [SKIP][133] ([Intel XE#1406] / [Intel XE#2893]) +5 other tests skip
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@kms_psr2_sf@pr-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
    - shard-bmg:          NOTRUN -> [SKIP][134] ([Intel XE#1406] / [Intel XE#1489]) +14 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html

  * igt@kms_psr@fbc-psr2-sprite-blt@edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][135] ([Intel XE#1406] / [Intel XE#4609]) +4 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_psr@fbc-psr2-sprite-blt@edp-1.html

  * igt@kms_psr@pr-primary-blt:
    - shard-lnl:          NOTRUN -> [SKIP][136] ([Intel XE#1406]) +8 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-4/igt@kms_psr@pr-primary-blt.html

  * igt@kms_psr@psr-cursor-plane-move:
    - shard-bmg:          NOTRUN -> [SKIP][137] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +18 other tests skip
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@kms_psr@psr-cursor-plane-move.html

  * igt@kms_psr@psr-dpms:
    - shard-dg2-set2:     NOTRUN -> [SKIP][138] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +19 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-466/igt@kms_psr@psr-dpms.html

  * igt@kms_psr@psr-suspend@edp-1:
    - shard-lnl:          NOTRUN -> [ABORT][139] ([Intel XE#2625] / [Intel XE#6675]) +1 other test abort
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-5/igt@kms_psr@psr-suspend@edp-1.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-bmg:          NOTRUN -> [SKIP][140] ([Intel XE#1406] / [Intel XE#2414])
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][141] ([Intel XE#1406] / [Intel XE#2939])
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@primary-rotation-90:
    - shard-bmg:          NOTRUN -> [SKIP][142] ([Intel XE#3414] / [Intel XE#3904]) +4 other tests skip
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-4/igt@kms_rotation_crc@primary-rotation-90.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-dg2-set2:     NOTRUN -> [SKIP][143] ([Intel XE#3414]) +3 other tests skip
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-464/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
    - shard-lnl:          NOTRUN -> [SKIP][144] ([Intel XE#3414] / [Intel XE#3904]) +5 other tests skip
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-7/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
    - shard-lnl:          NOTRUN -> [SKIP][145] ([Intel XE#1127])
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-5/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
    - shard-bmg:          NOTRUN -> [SKIP][146] ([Intel XE#2330])
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][147] ([Intel XE#1127])
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-434/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - shard-bmg:          NOTRUN -> [SKIP][148] ([Intel XE#1435])
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@kms_setmode@basic-clone-single-crtc.html
    - shard-lnl:          NOTRUN -> [SKIP][149] ([Intel XE#1435])
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-5/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@kms_sharpness_filter@invalid-filter-with-scaling-mode:
    - shard-bmg:          NOTRUN -> [SKIP][150] ([Intel XE#6503]) +6 other tests skip
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@kms_sharpness_filter@invalid-filter-with-scaling-mode.html

  * igt@kms_sharpness_filter@invalid-plane-with-filter:
    - shard-lnl:          [PASS][151] -> [DMESG-WARN][152] ([Intel XE#4537])
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-lnl-8/igt@kms_sharpness_filter@invalid-plane-with-filter.html
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-4/igt@kms_sharpness_filter@invalid-plane-with-filter.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-dg2-set2:     NOTRUN -> [FAIL][153] ([Intel XE#1729])
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-464/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_vblank@ts-continuation-suspend@pipe-c-edp-1:
    - shard-lnl:          [PASS][154] -> [ABORT][155] ([Intel XE#6675])
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-lnl-3/igt@kms_vblank@ts-continuation-suspend@pipe-c-edp-1.html
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-3/igt@kms_vblank@ts-continuation-suspend@pipe-c-edp-1.html

  * igt@kms_vrr@seamless-rr-switch-vrr:
    - shard-bmg:          NOTRUN -> [SKIP][156] ([Intel XE#1499])
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@kms_vrr@seamless-rr-switch-vrr.html
    - shard-lnl:          NOTRUN -> [SKIP][157] ([Intel XE#1499])
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-1/igt@kms_vrr@seamless-rr-switch-vrr.html

  * igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
    - shard-dg2-set2:     NOTRUN -> [SKIP][158] ([Intel XE#1091] / [Intel XE#2849])
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-434/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
    - shard-lnl:          NOTRUN -> [SKIP][159] ([Intel XE#1091] / [Intel XE#2849])
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-5/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html

  * igt@xe_compute@ccs-mode-basic:
    - shard-bmg:          NOTRUN -> [SKIP][160] ([Intel XE#6599])
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@xe_compute@ccs-mode-basic.html
    - shard-lnl:          NOTRUN -> [SKIP][161] ([Intel XE#1447])
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@xe_compute@ccs-mode-basic.html

  * igt@xe_compute_preempt@compute-threadgroup-preempt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][162] ([Intel XE#6360])
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-434/igt@xe_compute_preempt@compute-threadgroup-preempt.html

  * igt@xe_copy_basic@mem-copy-linear-0x3fff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][163] ([Intel XE#1123]) +1 other test skip
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@xe_copy_basic@mem-copy-linear-0x3fff.html

  * igt@xe_copy_basic@mem-set-linear-0xfffe:
    - shard-dg2-set2:     NOTRUN -> [SKIP][164] ([Intel XE#1126])
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-464/igt@xe_copy_basic@mem-set-linear-0xfffe.html

  * igt@xe_eu_stall@invalid-event-report-count:
    - shard-dg2-set2:     NOTRUN -> [SKIP][165] ([Intel XE#5626]) +2 other tests skip
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-464/igt@xe_eu_stall@invalid-event-report-count.html

  * igt@xe_eudebug@basic-connect:
    - shard-lnl:          NOTRUN -> [SKIP][166] ([Intel XE#4837]) +15 other tests skip
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@xe_eudebug@basic-connect.html

  * igt@xe_eudebug@vm-bind-clear-faultable:
    - shard-dg2-set2:     NOTRUN -> [SKIP][167] ([Intel XE#4837]) +14 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-433/igt@xe_eudebug@vm-bind-clear-faultable.html

  * igt@xe_eudebug_online@single-step:
    - shard-bmg:          NOTRUN -> [SKIP][168] ([Intel XE#4837]) +13 other tests skip
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@xe_eudebug_online@single-step.html

  * igt@xe_evict@evict-beng-cm-threads-small-multi-vm:
    - shard-lnl:          NOTRUN -> [SKIP][169] ([Intel XE#688]) +10 other tests skip
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@xe_evict@evict-beng-cm-threads-small-multi-vm.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-bind:
    - shard-bmg:          NOTRUN -> [SKIP][170] ([Intel XE#2322]) +10 other tests skip
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-bind.html

  * igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate:
    - shard-lnl:          NOTRUN -> [SKIP][171] ([Intel XE#1392]) +7 other tests skip
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-3/igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate.html

  * igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-rebind-prefetch:
    - shard-dg2-set2:     NOTRUN -> [SKIP][172] ([Intel XE#288]) +46 other tests skip
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-466/igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-rebind-prefetch.html

  * igt@xe_exec_mix_modes@exec-simple-batch-store-lr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][173] ([Intel XE#2360]) +1 other test skip
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-432/igt@xe_exec_mix_modes@exec-simple-batch-store-lr.html

  * igt@xe_exec_system_allocator@many-64k-mmap-huge-nomemset:
    - shard-bmg:          NOTRUN -> [SKIP][174] ([Intel XE#5007]) +1 other test skip
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@xe_exec_system_allocator@many-64k-mmap-huge-nomemset.html

  * igt@xe_exec_system_allocator@many-64k-mmap-mlock-nomemset:
    - shard-dg2-set2:     NOTRUN -> [SKIP][175] ([Intel XE#4915]) +489 other tests skip
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@xe_exec_system_allocator@many-64k-mmap-mlock-nomemset.html

  * igt@xe_exec_system_allocator@many-64k-mmap-new-huge-nomemset:
    - shard-lnl:          NOTRUN -> [SKIP][176] ([Intel XE#5007]) +3 other tests skip
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@xe_exec_system_allocator@many-64k-mmap-new-huge-nomemset.html

  * igt@xe_exec_system_allocator@once-large-malloc-prefetch-madvise:
    - shard-lnl:          NOTRUN -> [WARN][177] ([Intel XE#5786]) +1 other test warn
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@xe_exec_system_allocator@once-large-malloc-prefetch-madvise.html

  * igt@xe_exec_system_allocator@process-many-execqueues-mmap-new-huge:
    - shard-bmg:          NOTRUN -> [SKIP][178] ([Intel XE#4943]) +28 other tests skip
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@xe_exec_system_allocator@process-many-execqueues-mmap-new-huge.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-large-mmap-new-huge:
    - shard-lnl:          NOTRUN -> [SKIP][179] ([Intel XE#4943]) +30 other tests skip
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@xe_exec_system_allocator@threads-shared-vm-many-large-mmap-new-huge.html

  * igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add:
    - shard-bmg:          NOTRUN -> [SKIP][180] ([Intel XE#6281])
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-8/igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][181] ([Intel XE#6281])
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-464/igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add.html

  * igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv:
    - shard-dg2-set2:     [PASS][182] -> [DMESG-WARN][183] ([Intel XE#5893])
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-dg2-464/igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv.html
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv.html

  * igt@xe_gt_freq@freq_suspend:
    - shard-lnl:          NOTRUN -> [SKIP][184] ([Intel XE#584])
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@xe_gt_freq@freq_suspend.html

  * igt@xe_live_ktest@xe_eudebug:
    - shard-bmg:          NOTRUN -> [SKIP][185] ([Intel XE#2833])
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-5/igt@xe_live_ktest@xe_eudebug.html
    - shard-lnl:          NOTRUN -> [SKIP][186] ([Intel XE#2833])
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@xe_live_ktest@xe_eudebug.html

  * igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
    - shard-dg2-set2:     NOTRUN -> [SKIP][187] ([Intel XE#2229])
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-435/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
    - shard-lnl:          NOTRUN -> [SKIP][188] ([Intel XE#2229])
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-3/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html

  * igt@xe_module_load@many-reload:
    - shard-dg2-set2:     [PASS][189] -> [INCOMPLETE][190] ([Intel XE#4842])
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-dg2-435/igt@xe_module_load@many-reload.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@xe_module_load@many-reload.html

  * igt@xe_noexec_ping_pong@basic:
    - shard-lnl:          NOTRUN -> [SKIP][191] ([Intel XE#6259])
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@xe_noexec_ping_pong@basic.html

  * igt@xe_oa@buffer-size:
    - shard-dg2-set2:     NOTRUN -> [SKIP][192] ([Intel XE#6032])
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-432/igt@xe_oa@buffer-size.html

  * igt@xe_oa@non-zero-reason-all:
    - shard-dg2-set2:     NOTRUN -> [SKIP][193] ([Intel XE#6377])
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-433/igt@xe_oa@non-zero-reason-all.html

  * igt@xe_oa@oa-tlb-invalidate:
    - shard-bmg:          NOTRUN -> [SKIP][194] ([Intel XE#2248])
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-5/igt@xe_oa@oa-tlb-invalidate.html

  * igt@xe_oa@polling-small-buf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][195] ([Intel XE#3573]) +10 other tests skip
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@xe_oa@polling-small-buf.html

  * igt@xe_pat@pat-index-xe2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][196] ([Intel XE#977])
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@xe_pat@pat-index-xe2.html

  * igt@xe_peer2peer@write:
    - shard-bmg:          NOTRUN -> [SKIP][197] ([Intel XE#2427])
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-4/igt@xe_peer2peer@write.html

  * igt@xe_pm@d3cold-basic:
    - shard-lnl:          NOTRUN -> [SKIP][198] ([Intel XE#2284] / [Intel XE#366]) +1 other test skip
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-7/igt@xe_pm@d3cold-basic.html

  * igt@xe_pm@d3cold-basic-exec:
    - shard-dg2-set2:     NOTRUN -> [SKIP][199] ([Intel XE#2284] / [Intel XE#366]) +2 other tests skip
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@xe_pm@d3cold-basic-exec.html

  * igt@xe_pm@d3cold-mocs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][200] ([Intel XE#2284])
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-432/igt@xe_pm@d3cold-mocs.html

  * igt@xe_pm@s2idle-basic-exec:
    - shard-bmg:          NOTRUN -> [ABORT][201] ([Intel XE#6675]) +18 other tests abort
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@xe_pm@s2idle-basic-exec.html

  * igt@xe_pm@s2idle-d3cold-basic-exec:
    - shard-bmg:          NOTRUN -> [SKIP][202] ([Intel XE#2284]) +2 other tests skip
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@xe_pm@s2idle-d3cold-basic-exec.html

  * igt@xe_pm@s2idle-exec-after:
    - shard-dg2-set2:     NOTRUN -> [ABORT][203] ([Intel XE#6675]) +11 other tests abort
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-464/igt@xe_pm@s2idle-exec-after.html
    - shard-lnl:          NOTRUN -> [ABORT][204] ([Intel XE#6675]) +12 other tests abort
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-7/igt@xe_pm@s2idle-exec-after.html

  * igt@xe_pm@vram-d3cold-threshold:
    - shard-dg2-set2:     NOTRUN -> [SKIP][205] ([Intel XE#579])
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-435/igt@xe_pm@vram-d3cold-threshold.html
    - shard-lnl:          NOTRUN -> [SKIP][206] ([Intel XE#579])
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-3/igt@xe_pm@vram-d3cold-threshold.html
    - shard-bmg:          NOTRUN -> [SKIP][207] ([Intel XE#579])
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-4/igt@xe_pm@vram-d3cold-threshold.html

  * igt@xe_pmu@fn-engine-activity-sched-if-idle:
    - shard-lnl:          NOTRUN -> [SKIP][208] ([Intel XE#4650])
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-7/igt@xe_pmu@fn-engine-activity-sched-if-idle.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][209] ([Intel XE#4650])
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-464/igt@xe_pmu@fn-engine-activity-sched-if-idle.html

  * igt@xe_pmu@gt-c6-idle:
    - shard-dg2-set2:     [PASS][210] -> [FAIL][211] ([Intel XE#6366])
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-dg2-432/igt@xe_pmu@gt-c6-idle.html
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-434/igt@xe_pmu@gt-c6-idle.html

  * igt@xe_pxp@pxp-termination-key-update-post-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][212] ([Intel XE#4733]) +3 other tests skip
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-4/igt@xe_pxp@pxp-termination-key-update-post-suspend.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][213] ([Intel XE#4733]) +3 other tests skip
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-463/igt@xe_pxp@pxp-termination-key-update-post-suspend.html

  * igt@xe_query@multigpu-query-gt-list:
    - shard-bmg:          NOTRUN -> [SKIP][214] ([Intel XE#944]) +2 other tests skip
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@xe_query@multigpu-query-gt-list.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][215] ([Intel XE#944]) +2 other tests skip
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@xe_query@multigpu-query-gt-list.html
    - shard-lnl:          NOTRUN -> [SKIP][216] ([Intel XE#944])
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@xe_query@multigpu-query-gt-list.html

  * igt@xe_render_copy@render-stress-4-copies:
    - shard-dg2-set2:     NOTRUN -> [SKIP][217] ([Intel XE#4814])
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@xe_render_copy@render-stress-4-copies.html

  * igt@xe_sriov_auto_provisioning@fair-allocation:
    - shard-lnl:          NOTRUN -> [SKIP][218] ([Intel XE#4130]) +1 other test skip
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-2/igt@xe_sriov_auto_provisioning@fair-allocation.html

  * igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][219] ([Intel XE#4130]) +1 other test skip
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-432/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs.html

  * igt@xe_sriov_flr@flr-each-isolation:
    - shard-dg2-set2:     NOTRUN -> [SKIP][220] ([Intel XE#3342])
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-463/igt@xe_sriov_flr@flr-each-isolation.html
    - shard-lnl:          NOTRUN -> [SKIP][221] ([Intel XE#3342])
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-1/igt@xe_sriov_flr@flr-each-isolation.html

  * igt@xe_sriov_flr@flr-vfs-parallel:
    - shard-dg2-set2:     NOTRUN -> [SKIP][222] ([Intel XE#4273])
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-464/igt@xe_sriov_flr@flr-vfs-parallel.html
    - shard-lnl:          NOTRUN -> [SKIP][223] ([Intel XE#4273])
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-4/igt@xe_sriov_flr@flr-vfs-parallel.html

  * igt@xe_sriov_scheduling@nonpreempt-engine-resets:
    - shard-dg2-set2:     NOTRUN -> [SKIP][224] ([Intel XE#4351])
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-436/igt@xe_sriov_scheduling@nonpreempt-engine-resets.html

  * igt@xe_sriov_vram@vf-access-after-resize-down:
    - shard-dg2-set2:     NOTRUN -> [SKIP][225] ([Intel XE#6318])
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-dg2-463/igt@xe_sriov_vram@vf-access-after-resize-down.html
    - shard-lnl:          NOTRUN -> [SKIP][226] ([Intel XE#6376])
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-1/igt@xe_sriov_vram@vf-access-after-resize-down.html

  
#### Possible fixes ####

  * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset:
    - shard-bmg:          [SKIP][227] ([Intel XE#2316]) -> [PASS][228]
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-2/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_pm_dc@dc5-dpms:
    - shard-lnl:          [FAIL][229] ([Intel XE#718]) -> [PASS][230]
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-lnl-1/igt@kms_pm_dc@dc5-dpms.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_pm_dc@dc5-dpms.html

  * igt@kms_vblank@ts-continuation-suspend@pipe-a-edp-1:
    - shard-lnl:          [ABORT][231] ([Intel XE#6675]) -> [PASS][232]
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-lnl-3/igt@kms_vblank@ts-continuation-suspend@pipe-a-edp-1.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-3/igt@kms_vblank@ts-continuation-suspend@pipe-a-edp-1.html

  * igt@xe_module_load@load:
    - shard-bmg:          ([PASS][233], [PASS][234], [PASS][235], [PASS][236], [PASS][237], [PASS][238], [PASS][239], [PASS][240], [SKIP][241], [PASS][242], [PASS][243], [PASS][244], [PASS][245], [PASS][246], [PASS][247], [PASS][248], [PASS][249], [PASS][250], [PASS][251], [PASS][252], [PASS][253], [PASS][254], [PASS][255], [PASS][256]) ([Intel XE#2457]) -> ([PASS][257], [PASS][258], [PASS][259], [PASS][260], [PASS][261], [PASS][262], [PASS][263], [PASS][264], [PASS][265], [PASS][266], [PASS][267], [PASS][268], [PASS][269], [PASS][270], [PASS][271], [PASS][272], [PASS][273], [PASS][274], [PASS][275], [PASS][276], [PASS][277], [PASS][278], [PASS][279], [PASS][280], [PASS][281])
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-8/igt@xe_module_load@load.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-8/igt@xe_module_load@load.html
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-8/igt@xe_module_load@load.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-1/igt@xe_module_load@load.html
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-1/igt@xe_module_load@load.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-1/igt@xe_module_load@load.html
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-7/igt@xe_module_load@load.html
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-7/igt@xe_module_load@load.html
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-7/igt@xe_module_load@load.html
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-6/igt@xe_module_load@load.html
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-6/igt@xe_module_load@load.html
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-6/igt@xe_module_load@load.html
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-7/igt@xe_module_load@load.html
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-7/igt@xe_module_load@load.html
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-3/igt@xe_module_load@load.html
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-3/igt@xe_module_load@load.html
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-3/igt@xe_module_load@load.html
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-5/igt@xe_module_load@load.html
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-2/igt@xe_module_load@load.html
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-2/igt@xe_module_load@load.html
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-5/igt@xe_module_load@load.html
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-2/igt@xe_module_load@load.html
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-5/igt@xe_module_load@load.html
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-2/igt@xe_module_load@load.html
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-4/igt@xe_module_load@load.html
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@xe_module_load@load.html
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@xe_module_load@load.html
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@xe_module_load@load.html
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-5/igt@xe_module_load@load.html
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-5/igt@xe_module_load@load.html
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-5/igt@xe_module_load@load.html
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@xe_module_load@load.html
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-8/igt@xe_module_load@load.html
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@xe_module_load@load.html
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-2/igt@xe_module_load@load.html
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-2/igt@xe_module_load@load.html
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-4/igt@xe_module_load@load.html
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@xe_module_load@load.html
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@xe_module_load@load.html
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-1/igt@xe_module_load@load.html
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-4/igt@xe_module_load@load.html
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@xe_module_load@load.html
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@xe_module_load@load.html
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-8/igt@xe_module_load@load.html
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@xe_module_load@load.html
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@xe_module_load@load.html
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@xe_module_load@load.html
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@xe_module_load@load.html
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-3/igt@xe_module_load@load.html

  
#### Warnings ####

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-plflip-blt:
    - shard-bmg:          [SKIP][282] ([Intel XE#2312]) -> [SKIP][283] ([Intel XE#2311])
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-plflip-blt.html
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-draw-render:
    - shard-bmg:          [SKIP][284] ([Intel XE#2311]) -> [SKIP][285] ([Intel XE#2312]) +2 other tests skip
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-draw-render.html
   [285]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][286] ([Intel XE#4141]) -> [SKIP][287] ([Intel XE#2312])
   [286]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
   [287]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-blt:
    - shard-bmg:          [SKIP][288] ([Intel XE#2313]) -> [SKIP][289] ([Intel XE#2312]) +2 other tests skip
   [288]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-blt.html
   [289]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render:
    - shard-bmg:          [SKIP][290] ([Intel XE#2312]) -> [SKIP][291] ([Intel XE#2313])
   [290]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render.html
   [291]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render.html

  * igt@kms_psr@fbc-psr-suspend@edp-1:
    - shard-lnl:          [ABORT][292] ([Intel XE#2625]) -> [ABORT][293] ([Intel XE#2625] / [Intel XE#6675]) +1 other test abort
   [292]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8637/shard-lnl-7/igt@kms_psr@fbc-psr-suspend@edp-1.html
   [293]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/shard-lnl-8/igt@kms_psr@fbc-psr-suspend@edp-1.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
  [Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1125
  [Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
  [Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
  [Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
  [Intel XE#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
  [Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1447]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1447
  [Intel XE#1468]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1468
  [Intel XE#1469]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1469
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1508]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1508
  [Intel XE#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
  [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
  [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
  [Intel XE#2248]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2248
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
  [Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
  [Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2328
  [Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
  [Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
  [Intel XE#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
  [Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
  [Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2393]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2393
  [Intel XE#2414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2414
  [Intel XE#2427]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2427
  [Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
  [Intel XE#2486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2486
  [Intel XE#2499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2499
  [Intel XE#2501]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2501
  [Intel XE#2625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2625
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
  [Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2833]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2833
  [Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
  [Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
  [Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
  [Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
  [Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
  [Intel XE#2934]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2934
  [Intel XE#2939]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2939
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278
  [Intel XE#3307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3307
  [Intel XE#3309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3309
  [Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3428
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/352
  [Intel XE#356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/356
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
  [Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4156]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4156
  [Intel XE#4273]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4273
  [Intel XE#4294]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4294
  [Intel XE#4331]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4331
  [Intel XE#4351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4351
  [Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
  [Intel XE#4418]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4418
  [Intel XE#4494]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4494
  [Intel XE#4537]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4537
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
  [Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
  [Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
  [Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
  [Intel XE#4658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4658
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4814
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#4842]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4842
  [Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5007
  [Intel XE#5624]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5624
  [Intel XE#5626]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5626
  [Intel XE#5786]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5786
  [Intel XE#579]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/579
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#5893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5893
  [Intel XE#5993]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5993
  [Intel XE#6032]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6032
  [Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
  [Intel XE#619]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/619
  [Intel XE#6259]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6259
  [Intel XE#6281]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6281
  [Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
  [Intel XE#6318]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6318
  [Intel XE#6360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6360
  [Intel XE#6363]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6363
  [Intel XE#6366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6366
  [Intel XE#6376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6376
  [Intel XE#6377]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6377
  [Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
  [Intel XE#6507]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6507
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/658
  [Intel XE#6599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6599
  [Intel XE#664]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/664
  [Intel XE#6675]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6675
  [Intel XE#6676]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6676
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/776
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804


Build changes
-------------

  * IGT: IGT_8637 -> IGTPW_14107

  IGTPW_14107: 14107
  IGT_8637: 730ee3dfb26f8d7891fc240b0132a08c5bc7b949 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-4141-c701e79730169fab373fba7e759497d755fac592: c701e79730169fab373fba7e759497d755fac592

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14107/index.html

[-- Attachment #2: Type: text/html, Size: 90040 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 0/7] igt: Help out coccinelle
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (13 preceding siblings ...)
  2025-11-25 11:55 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-11-25 13:44 ` Kamil Konieczny
  2025-11-25 17:12   ` Ville Syrjälä
  2025-11-25 17:53 ` ✗ i915.CI.Full: failure for igt: Help out coccinelle (rev2) Patchwork
  2025-12-03 17:38 ` [PATCH i-g-t 0/7] igt: Help out coccinelle Kamil Konieczny
  16 siblings, 1 reply; 29+ messages in thread
From: Kamil Konieczny @ 2025-11-25 13:44 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: igt-dev, Peter Senna Tschudin, Jani Nikula

Hi Ville,
On 2025-11-20 at 21:14:08 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Coccinelle has trouble parsing a lot of the magic macros
> used throughout igt. Convert some of the macros to a form
> coccinelle understands, and provide a pre-made iterators.cocci
> script that people can include in their own scripts to help
> coccinelle with the iterator macros.
> 
> Ville Syrjälä (7):
>   igt: Make igt_fixture look like an iterator
>   igt: Make igt_subtest_group look like an iterator
>   igt: Make igt_main look more like a function
>   igt: Make igt_simple_main look more like a function
>   igt: Make igt_main*() look like normal function definition
>   igt: Make igt_simple_main*() look like normal function definition
>   scripts/cocci: Add iterators.cocci

All of those changes are mostly one-line sed modifications,
could they be just a part of bigger script to prepare
sources in some temporary place and then just run
cocinnelle over it? And moving those changes back into
igt source.

Or prepare changes in-place, do actual work and then reversing
sed changes in generated patches.

Regards,
Kamil

[cut]
>  472 files changed, 1930 insertions(+), 1875 deletions(-)
>  create mode 100644 scripts/iterators.cocci
> 
> -- 
> 2.49.1
> 

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 0/7] igt: Help out coccinelle
  2025-11-24 18:12 ` [PATCH i-g-t 0/7] " Peter Senna Tschudin
  2025-11-24 20:57   ` Jani Nikula
  2025-11-24 21:39   ` Ville Syrjälä
@ 2025-11-25 13:49   ` Kamil Konieczny
  2 siblings, 0 replies; 29+ messages in thread
From: Kamil Konieczny @ 2025-11-25 13:49 UTC (permalink / raw)
  To: Peter Senna Tschudin; +Cc: igt-dev, ville.syrjala

Hi Peter,
On 2025-11-24 at 19:12:12 +0100, Peter Senna Tschudin wrote:
> Hi Ville,
> 
> I need to see the value proposition before supporting ~2000 lines of churn.
> 
> - Can you share the specific Coccinelle scripts that require these changes?
> - What transformations are you planning that can't work with the current
> syntax?
> - Have you attempted these transformations and confirmed current syntax
> blocks them?
> 
> More importantly: Coccinelle provides mechanisms to handle non-standard
> macros (iterator declarations, custom isomorphisms, virtual rules,
> etc.). Have you exhausted all options for teaching Coccinelle about our
> existing macro syntax before concluding we need to modify the codebase
> itself?

I agree with Peter, can cocci learn to ignore igt_fixture and other
macros? Or handle them in proper way?

Regards,
Kamil

> 
> It seems backwards to change ~2000 code locations to accommodate a tool
> when the tool is designed to be configurable for exactly these situations.
> 
> Without concrete examples of problems being solved and evidence that
> Coccinelle-side solutions were explored, this looks like speculative
> refactoring with unclear ROI.
> 
> Thanks,
> 
> Peter
> 
> On 11/20/2025 8:14 PM, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Coccinelle has trouble parsing a lot of the magic macros
> > used throughout igt. Convert some of the macros to a form
> > coccinelle understands, and provide a pre-made iterators.cocci
> > script that people can include in their own scripts to help
> > coccinelle with the iterator macros.
> > 
> > Ville Syrjälä (7):
> >   igt: Make igt_fixture look like an iterator
> >   igt: Make igt_subtest_group look like an iterator
> >   igt: Make igt_main look more like a function
> >   igt: Make igt_simple_main look more like a function
> >   igt: Make igt_main*() look like normal function definition
> >   igt: Make igt_simple_main*() look like normal function definition
> >   scripts/cocci: Add iterators.cocci
> > 
[cut]

> >  472 files changed, 1930 insertions(+), 1875 deletions(-)
> >  create mode 100644 scripts/iterators.cocci
> > 
> 

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 0/7] igt: Help out coccinelle
  2025-11-25 13:44 ` [PATCH i-g-t 0/7] igt: Help out coccinelle Kamil Konieczny
@ 2025-11-25 17:12   ` Ville Syrjälä
  0 siblings, 0 replies; 29+ messages in thread
From: Ville Syrjälä @ 2025-11-25 17:12 UTC (permalink / raw)
  To: Kamil Konieczny, igt-dev, Peter Senna Tschudin, Jani Nikula

On Tue, Nov 25, 2025 at 02:44:27PM +0100, Kamil Konieczny wrote:
> Hi Ville,
> On 2025-11-20 at 21:14:08 +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Coccinelle has trouble parsing a lot of the magic macros
> > used throughout igt. Convert some of the macros to a form
> > coccinelle understands, and provide a pre-made iterators.cocci
> > script that people can include in their own scripts to help
> > coccinelle with the iterator macros.
> > 
> > Ville Syrjälä (7):
> >   igt: Make igt_fixture look like an iterator
> >   igt: Make igt_subtest_group look like an iterator
> >   igt: Make igt_main look more like a function
> >   igt: Make igt_simple_main look more like a function
> >   igt: Make igt_main*() look like normal function definition
> >   igt: Make igt_simple_main*() look like normal function definition
> >   scripts/cocci: Add iterators.cocci
> 
> All of those changes are mostly one-line sed modifications,
> could they be just a part of bigger script to prepare
> sources in some temporary place and then just run
> cocinnelle over it? And moving those changes back into
> igt source.
> 
> Or prepare changes in-place, do actual work and then reversing
> sed changes in generated patches.

Why on earth would we want to undo the sed changes? That would
just mean you have to redo and undo them every time you run
cocci.

The sane thing is to make the syntax closer to standard
C so that normal tools can parse it. And that is what this
series does.

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* ✗ i915.CI.Full: failure for igt: Help out coccinelle (rev2)
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (14 preceding siblings ...)
  2025-11-25 13:44 ` [PATCH i-g-t 0/7] igt: Help out coccinelle Kamil Konieczny
@ 2025-11-25 17:53 ` Patchwork
  2025-12-03 17:38 ` [PATCH i-g-t 0/7] igt: Help out coccinelle Kamil Konieczny
  16 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2025-11-25 17:53 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 168316 bytes --]

== Series Details ==

Series: igt: Help out coccinelle (rev2)
URL   : https://patchwork.freedesktop.org/series/157868/
State : failure

== Summary ==

CI Bug Log - changes from IGT_8637_full -> IGTPW_14107_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_14107_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_14107_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/index.html

Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_14107_full:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_module_load@load:
    - shard-dg2:          ([PASS][1], [PASS][2], [PASS][3], [PASS][4], [PASS][5], [PASS][6], [PASS][7], [PASS][8], [PASS][9], [PASS][10], [PASS][11], [PASS][12], [PASS][13], [PASS][14], [PASS][15], [PASS][16], [PASS][17], [PASS][18], [PASS][19], [PASS][20], [PASS][21], [PASS][22], [PASS][23], [PASS][24], [PASS][25]) -> ([FAIL][26], [PASS][27], [PASS][28], [PASS][29], [PASS][30], [PASS][31], [PASS][32], [PASS][33], [PASS][34], [PASS][35], [PASS][36], [PASS][37], [PASS][38], [PASS][39], [PASS][40], [PASS][41], [PASS][42], [PASS][43], [PASS][44], [PASS][45], [PASS][46], [PASS][47], [PASS][48], [PASS][49])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-1/igt@i915_module_load@load.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-5/igt@i915_module_load@load.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-5/igt@i915_module_load@load.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-8/igt@i915_module_load@load.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-8/igt@i915_module_load@load.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-5/igt@i915_module_load@load.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-6/igt@i915_module_load@load.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-6/igt@i915_module_load@load.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-4/igt@i915_module_load@load.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-11/igt@i915_module_load@load.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-4/igt@i915_module_load@load.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-7/igt@i915_module_load@load.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-8/igt@i915_module_load@load.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-4/igt@i915_module_load@load.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-3/igt@i915_module_load@load.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-11/igt@i915_module_load@load.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-3/igt@i915_module_load@load.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-7/igt@i915_module_load@load.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-11/igt@i915_module_load@load.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-3/igt@i915_module_load@load.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-3/igt@i915_module_load@load.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-1/igt@i915_module_load@load.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-1/igt@i915_module_load@load.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-3/igt@i915_module_load@load.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-7/igt@i915_module_load@load.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@i915_module_load@load.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@i915_module_load@load.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@i915_module_load@load.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-5/igt@i915_module_load@load.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@i915_module_load@load.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@i915_module_load@load.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@i915_module_load@load.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@i915_module_load@load.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-5/igt@i915_module_load@load.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@i915_module_load@load.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@i915_module_load@load.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@i915_module_load@load.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@i915_module_load@load.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@i915_module_load@load.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@i915_module_load@load.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@i915_module_load@load.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@i915_module_load@load.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@i915_module_load@load.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@i915_module_load@load.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@i915_module_load@load.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@i915_module_load@load.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@i915_module_load@load.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@i915_module_load@load.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@i915_module_load@load.html

  * igt@kms_async_flips@invalid-async-flip-atomic:
    - shard-mtlp:         NOTRUN -> [FAIL][50] +2 other tests fail
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@kms_async_flips@invalid-async-flip-atomic.html

  * igt@kms_content_protection@suspend-resume:
    - shard-dg1:          NOTRUN -> [SKIP][51]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-18/igt@kms_content_protection@suspend-resume.html
    - shard-tglu:         NOTRUN -> [SKIP][52]
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-8/igt@kms_content_protection@suspend-resume.html
    - shard-mtlp:         NOTRUN -> [SKIP][53]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_content_protection@suspend-resume.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b:
    - shard-snb:          [PASS][54] -> [INCOMPLETE][55]
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-snb1/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-snb1/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-mtlp:         [PASS][56] -> [FAIL][57]
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-mtlp-6/igt@kms_pm_dc@dc5-psr.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-8/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_prop_blob@blob-prop-validate:
    - shard-dg2:          NOTRUN -> [SKIP][58] +28 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_prop_blob@blob-prop-validate.html

  * igt@kms_vblank@query-forked-hang:
    - shard-dg2:          [PASS][59] -> [SKIP][60] +9 other tests skip
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-1/igt@kms_vblank@query-forked-hang.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_vblank@query-forked-hang.html

  
#### Warnings ####

  * igt@i915_drm_fdinfo@virtual-busy-hang:
    - shard-dg2:          [SKIP][61] ([i915#14118]) -> [SKIP][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-5/igt@i915_drm_fdinfo@virtual-busy-hang.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@i915_drm_fdinfo@virtual-busy-hang.html

  * igt@kms_chamelium_hpd@hdmi-hpd-storm:
    - shard-dg2:          [SKIP][63] ([i915#11151] / [i915#7828]) -> [SKIP][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-11/igt@kms_chamelium_hpd@hdmi-hpd-storm.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_chamelium_hpd@hdmi-hpd-storm.html

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-dg2:          [SKIP][65] ([i915#3555]) -> [SKIP][66] +1 other test skip
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-3/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
    - shard-dg2:          [SKIP][67] ([i915#13046] / [i915#5354]) -> [SKIP][68] +1 other test skip
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-1/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html

  * igt@kms_flip@2x-nonexisting-fb-interruptible:
    - shard-dg2:          [SKIP][69] ([i915#9934]) -> [SKIP][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-3/igt@kms_flip@2x-nonexisting-fb-interruptible.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_flip@2x-nonexisting-fb-interruptible.html

  * igt@sriov_basic@enable-vfs-bind-unbind-each:
    - shard-dg2:          [SKIP][71] ([i915#9917]) -> [SKIP][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-4/igt@sriov_basic@enable-vfs-bind-unbind-each.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@sriov_basic@enable-vfs-bind-unbind-each.html

  
Known issues
------------

  Here are the changes found in IGTPW_14107_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@blit-reloc-purge-cache:
    - shard-dg1:          NOTRUN -> [SKIP][73] ([i915#8411]) +2 other tests skip
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@api_intel_bb@blit-reloc-purge-cache.html

  * igt@api_intel_bb@crc32:
    - shard-rkl:          NOTRUN -> [SKIP][74] ([i915#6230])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-8/igt@api_intel_bb@crc32.html
    - shard-dg1:          NOTRUN -> [SKIP][75] ([i915#6230])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@api_intel_bb@crc32.html
    - shard-tglu:         NOTRUN -> [SKIP][76] ([i915#6230])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-4/igt@api_intel_bb@crc32.html

  * igt@api_intel_bb@object-reloc-keep-cache:
    - shard-rkl:          NOTRUN -> [SKIP][77] ([i915#8411]) +3 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@api_intel_bb@object-reloc-keep-cache.html

  * igt@api_intel_bb@object-reloc-purge-cache:
    - shard-mtlp:         NOTRUN -> [SKIP][78] ([i915#8411]) +2 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@api_intel_bb@object-reloc-purge-cache.html
    - shard-dg2:          NOTRUN -> [SKIP][79] ([i915#8411]) +2 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@api_intel_bb@object-reloc-purge-cache.html

  * igt@device_reset@unbind-cold-reset-rebind:
    - shard-tglu-1:       NOTRUN -> [SKIP][80] ([i915#11078])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@device_reset@unbind-cold-reset-rebind.html

  * igt@device_reset@unbind-reset-rebind:
    - shard-dg1:          NOTRUN -> [ABORT][81] ([i915#11814] / [i915#11815])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-15/igt@device_reset@unbind-reset-rebind.html

  * igt@gem_basic@multigpu-create-close:
    - shard-rkl:          NOTRUN -> [SKIP][82] ([i915#7697]) +2 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-8/igt@gem_basic@multigpu-create-close.html

  * igt@gem_caching@writes:
    - shard-mtlp:         NOTRUN -> [SKIP][83] ([i915#4873]) +1 other test skip
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@gem_caching@writes.html

  * igt@gem_ccs@block-copy-compressed:
    - shard-dg1:          NOTRUN -> [SKIP][84] ([i915#3555] / [i915#9323]) +1 other test skip
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@gem_ccs@block-copy-compressed.html

  * igt@gem_ccs@ctrl-surf-copy:
    - shard-tglu:         NOTRUN -> [SKIP][85] ([i915#3555] / [i915#9323]) +1 other test skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-4/igt@gem_ccs@ctrl-surf-copy.html
    - shard-mtlp:         NOTRUN -> [SKIP][86] ([i915#3555] / [i915#9323]) +2 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@gem_ccs@ctrl-surf-copy.html
    - shard-rkl:          NOTRUN -> [SKIP][87] ([i915#3555] / [i915#9323])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@gem_ccs@ctrl-surf-copy.html

  * igt@gem_ccs@large-ctrl-surf-copy:
    - shard-tglu-1:       NOTRUN -> [SKIP][88] ([i915#13008])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@gem_ccs@large-ctrl-surf-copy.html

  * igt@gem_close_race@multigpu-basic-process:
    - shard-tglu:         NOTRUN -> [SKIP][89] ([i915#7697]) +2 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-8/igt@gem_close_race@multigpu-basic-process.html
    - shard-mtlp:         NOTRUN -> [SKIP][90] ([i915#7697]) +1 other test skip
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@gem_close_race@multigpu-basic-process.html

  * igt@gem_close_race@multigpu-basic-threads:
    - shard-dg2:          NOTRUN -> [SKIP][91] ([i915#7697]) +2 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@gem_close_race@multigpu-basic-threads.html
    - shard-dg1:          NOTRUN -> [SKIP][92] ([i915#7697]) +1 other test skip
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@gem_close_race@multigpu-basic-threads.html

  * igt@gem_create@create-ext-cpu-access-sanity-check:
    - shard-tglu-1:       NOTRUN -> [SKIP][93] ([i915#6335])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@gem_create@create-ext-cpu-access-sanity-check.html

  * igt@gem_ctx_isolation@preservation-s3:
    - shard-dg1:          NOTRUN -> [ABORT][94] ([i915#15317] / [i915#4423]) +1 other test abort
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-14/igt@gem_ctx_isolation@preservation-s3.html

  * igt@gem_ctx_isolation@preservation-s3@rcs0:
    - shard-snb:          NOTRUN -> [ABORT][95] ([i915#15317]) +6 other tests abort
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-snb7/igt@gem_ctx_isolation@preservation-s3@rcs0.html
    - shard-glk:          NOTRUN -> [INCOMPLETE][96] ([i915#13356]) +2 other tests incomplete
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk9/igt@gem_ctx_isolation@preservation-s3@rcs0.html

  * igt@gem_ctx_persistence@engines-mixed-process:
    - shard-snb:          NOTRUN -> [SKIP][97] ([i915#1099]) +9 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-snb4/igt@gem_ctx_persistence@engines-mixed-process.html

  * igt@gem_ctx_persistence@heartbeat-close:
    - shard-mtlp:         NOTRUN -> [SKIP][98] ([i915#8555])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@gem_ctx_persistence@heartbeat-close.html

  * igt@gem_ctx_persistence@heartbeat-stop:
    - shard-dg1:          NOTRUN -> [SKIP][99] ([i915#8555])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@gem_ctx_persistence@heartbeat-stop.html
    - shard-dg2:          NOTRUN -> [SKIP][100] ([i915#8555])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@gem_ctx_persistence@heartbeat-stop.html

  * igt@gem_ctx_sseu@invalid-sseu:
    - shard-dg2:          NOTRUN -> [SKIP][101] ([i915#280])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@gem_ctx_sseu@invalid-sseu.html
    - shard-rkl:          NOTRUN -> [SKIP][102] ([i915#280])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@gem_ctx_sseu@invalid-sseu.html
    - shard-dg1:          NOTRUN -> [SKIP][103] ([i915#280])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@gem_ctx_sseu@invalid-sseu.html
    - shard-tglu:         NOTRUN -> [SKIP][104] ([i915#280])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-9/igt@gem_ctx_sseu@invalid-sseu.html
    - shard-mtlp:         NOTRUN -> [SKIP][105] ([i915#280])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@gem_ctx_sseu@invalid-sseu.html

  * igt@gem_eio@hibernate:
    - shard-tglu:         NOTRUN -> [ABORT][106] ([i915#15317] / [i915#7975])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-7/igt@gem_eio@hibernate.html
    - shard-mtlp:         NOTRUN -> [ABORT][107] ([i915#15317] / [i915#7975])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-5/igt@gem_eio@hibernate.html

  * igt@gem_eio@suspend:
    - shard-glk10:        NOTRUN -> [ABORT][108] ([i915#15317]) +2 other tests abort
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk10/igt@gem_eio@suspend.html

  * igt@gem_exec_balancer@bonded-pair:
    - shard-mtlp:         NOTRUN -> [SKIP][109] ([i915#4771])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@gem_exec_balancer@bonded-pair.html
    - shard-dg2:          NOTRUN -> [SKIP][110] ([i915#4771])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@gem_exec_balancer@bonded-pair.html
    - shard-dg1:          NOTRUN -> [SKIP][111] ([i915#4771])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-14/igt@gem_exec_balancer@bonded-pair.html

  * igt@gem_exec_balancer@invalid-bonds:
    - shard-dg2:          NOTRUN -> [SKIP][112] ([i915#4036])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@gem_exec_balancer@invalid-bonds.html
    - shard-dg1:          NOTRUN -> [SKIP][113] ([i915#4036])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-18/igt@gem_exec_balancer@invalid-bonds.html

  * igt@gem_exec_balancer@parallel:
    - shard-rkl:          NOTRUN -> [SKIP][114] ([i915#4525]) +2 other tests skip
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@gem_exec_balancer@parallel.html
    - shard-tglu:         NOTRUN -> [SKIP][115] ([i915#4525]) +1 other test skip
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-7/igt@gem_exec_balancer@parallel.html

  * igt@gem_exec_balancer@parallel-keep-in-fence:
    - shard-tglu-1:       NOTRUN -> [SKIP][116] ([i915#4525])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@gem_exec_balancer@parallel-keep-in-fence.html

  * igt@gem_exec_balancer@sliced:
    - shard-dg2:          NOTRUN -> [SKIP][117] ([i915#4812]) +1 other test skip
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@gem_exec_balancer@sliced.html
    - shard-mtlp:         NOTRUN -> [SKIP][118] ([i915#4812])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@gem_exec_balancer@sliced.html

  * igt@gem_exec_big@single:
    - shard-tglu:         NOTRUN -> [ABORT][119] ([i915#11713])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-2/igt@gem_exec_big@single.html

  * igt@gem_exec_capture@capture-recoverable:
    - shard-rkl:          NOTRUN -> [SKIP][120] ([i915#6344])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@gem_exec_capture@capture-recoverable.html

  * igt@gem_exec_fence@submit:
    - shard-dg1:          NOTRUN -> [SKIP][121] ([i915#4812]) +4 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@gem_exec_fence@submit.html

  * igt@gem_exec_flush@basic-batch-kernel-default-cmd:
    - shard-dg1:          NOTRUN -> [SKIP][122] ([i915#3539] / [i915#4852]) +1 other test skip
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-14/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html
    - shard-mtlp:         NOTRUN -> [SKIP][123] ([i915#3711])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html

  * igt@gem_exec_flush@basic-uc-prw-default:
    - shard-dg1:          NOTRUN -> [SKIP][124] ([i915#3539])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@gem_exec_flush@basic-uc-prw-default.html
    - shard-dg2:          NOTRUN -> [SKIP][125] ([i915#3539])
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@gem_exec_flush@basic-uc-prw-default.html

  * igt@gem_exec_flush@basic-wb-prw-default:
    - shard-dg2:          NOTRUN -> [SKIP][126] ([i915#3539] / [i915#4852]) +2 other tests skip
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@gem_exec_flush@basic-wb-prw-default.html

  * igt@gem_exec_params@rsvd2-dirt:
    - shard-mtlp:         NOTRUN -> [SKIP][127] ([i915#5107])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-4/igt@gem_exec_params@rsvd2-dirt.html

  * igt@gem_exec_reloc@basic-active:
    - shard-rkl:          NOTRUN -> [SKIP][128] ([i915#3281]) +8 other tests skip
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@gem_exec_reloc@basic-active.html

  * igt@gem_exec_reloc@basic-gtt-cpu-noreloc:
    - shard-mtlp:         NOTRUN -> [SKIP][129] ([i915#3281]) +18 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-8/igt@gem_exec_reloc@basic-gtt-cpu-noreloc.html

  * igt@gem_exec_reloc@basic-softpin:
    - shard-rkl:          NOTRUN -> [SKIP][130] ([i915#14544] / [i915#3281]) +2 other tests skip
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@gem_exec_reloc@basic-softpin.html

  * igt@gem_exec_reloc@basic-wc-cpu-noreloc:
    - shard-dg1:          NOTRUN -> [SKIP][131] ([i915#3281]) +15 other tests skip
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@gem_exec_reloc@basic-wc-cpu-noreloc.html

  * igt@gem_exec_reloc@basic-write-read-active:
    - shard-dg2:          NOTRUN -> [SKIP][132] ([i915#3281]) +15 other tests skip
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@gem_exec_reloc@basic-write-read-active.html

  * igt@gem_exec_schedule@reorder-wide:
    - shard-dg2:          NOTRUN -> [SKIP][133] ([i915#4537] / [i915#4812]) +3 other tests skip
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@gem_exec_schedule@reorder-wide.html

  * igt@gem_exec_schedule@semaphore-power:
    - shard-rkl:          NOTRUN -> [SKIP][134] ([i915#7276])
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@gem_exec_schedule@semaphore-power.html
    - shard-mtlp:         NOTRUN -> [SKIP][135] ([i915#4537] / [i915#4812]) +1 other test skip
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@gem_exec_schedule@semaphore-power.html

  * igt@gem_exec_schedule@smoketest:
    - shard-dg2:          [PASS][136] -> [SKIP][137] ([i915#2575]) +8 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-7/igt@gem_exec_schedule@smoketest.html
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@gem_exec_schedule@smoketest.html

  * igt@gem_exec_suspend@basic-s3:
    - shard-rkl:          [PASS][138] -> [ABORT][139] ([i915#15317]) +2 other tests abort
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-7/igt@gem_exec_suspend@basic-s3.html
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@gem_exec_suspend@basic-s3.html

  * igt@gem_exec_suspend@basic-s4-devices@lmem0:
    - shard-dg2:          [PASS][140] -> [ABORT][141] ([i915#15317] / [i915#7975])
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-5/igt@gem_exec_suspend@basic-s4-devices@lmem0.html
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@gem_exec_suspend@basic-s4-devices@lmem0.html

  * igt@gem_exec_suspend@basic-s4-devices@smem:
    - shard-dg1:          [PASS][142] -> [ABORT][143] ([i915#15317] / [i915#7975])
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg1-15/igt@gem_exec_suspend@basic-s4-devices@smem.html
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@gem_exec_suspend@basic-s4-devices@smem.html

  * igt@gem_fenced_exec_thrash@no-spare-fences:
    - shard-dg1:          NOTRUN -> [SKIP][144] ([i915#4860]) +1 other test skip
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@gem_fenced_exec_thrash@no-spare-fences.html
    - shard-mtlp:         NOTRUN -> [SKIP][145] ([i915#4860]) +2 other tests skip
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@gem_fenced_exec_thrash@no-spare-fences.html
    - shard-dg2:          NOTRUN -> [SKIP][146] ([i915#4860]) +1 other test skip
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@gem_fenced_exec_thrash@no-spare-fences.html

  * igt@gem_huc_copy@huc-copy:
    - shard-tglu:         NOTRUN -> [SKIP][147] ([i915#2190])
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-2/igt@gem_huc_copy@huc-copy.html
    - shard-glk:          NOTRUN -> [SKIP][148] ([i915#2190])
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk6/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@heavy-verify-multi-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][149] ([i915#4613]) +5 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-7/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html
    - shard-mtlp:         NOTRUN -> [SKIP][150] ([i915#4613]) +6 other tests skip
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html

  * igt@gem_lmem_swapping@parallel-random-verify:
    - shard-rkl:          NOTRUN -> [SKIP][151] ([i915#4613]) +4 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@gem_lmem_swapping@parallel-random-verify.html

  * igt@gem_lmem_swapping@verify-ccs:
    - shard-glk:          NOTRUN -> [SKIP][152] ([i915#4613]) +4 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk3/igt@gem_lmem_swapping@verify-ccs.html

  * igt@gem_lmem_swapping@verify-random-ccs:
    - shard-dg1:          NOTRUN -> [SKIP][153] ([i915#12193]) +1 other test skip
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@gem_lmem_swapping@verify-random-ccs.html

  * igt@gem_lmem_swapping@verify-random-ccs@lmem0:
    - shard-dg1:          NOTRUN -> [SKIP][154] ([i915#4565]) +1 other test skip
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@gem_lmem_swapping@verify-random-ccs@lmem0.html

  * igt@gem_mmap@bad-object:
    - shard-dg1:          NOTRUN -> [SKIP][155] ([i915#4083]) +7 other tests skip
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@gem_mmap@bad-object.html

  * igt@gem_mmap_gtt@hang:
    - shard-dg2:          NOTRUN -> [SKIP][156] ([i915#4077]) +21 other tests skip
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@gem_mmap_gtt@hang.html

  * igt@gem_mmap_wc@bad-offset:
    - shard-mtlp:         NOTRUN -> [SKIP][157] ([i915#4083]) +7 other tests skip
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@gem_mmap_wc@bad-offset.html

  * igt@gem_mmap_wc@bad-size:
    - shard-dg2:          NOTRUN -> [SKIP][158] ([i915#4083]) +7 other tests skip
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-5/igt@gem_mmap_wc@bad-size.html

  * igt@gem_partial_pwrite_pread@reads-snoop:
    - shard-dg1:          NOTRUN -> [SKIP][159] ([i915#3282]) +5 other tests skip
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@gem_partial_pwrite_pread@reads-snoop.html

  * igt@gem_pread@snoop:
    - shard-dg2:          NOTRUN -> [SKIP][160] ([i915#3282]) +7 other tests skip
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-5/igt@gem_pread@snoop.html
    - shard-rkl:          NOTRUN -> [SKIP][161] ([i915#3282]) +6 other tests skip
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@gem_pread@snoop.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-glk10:        NOTRUN -> [WARN][162] ([i915#14702] / [i915#2658])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk10/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_pxp@hw-rejects-pxp-buffer:
    - shard-rkl:          NOTRUN -> [SKIP][163] ([i915#13717]) +1 other test skip
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@gem_pxp@hw-rejects-pxp-buffer.html
    - shard-tglu:         NOTRUN -> [SKIP][164] ([i915#13398]) +1 other test skip
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-9/igt@gem_pxp@hw-rejects-pxp-buffer.html
    - shard-mtlp:         NOTRUN -> [SKIP][165] ([i915#13398])
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-4/igt@gem_pxp@hw-rejects-pxp-buffer.html

  * igt@gem_pxp@verify-pxp-execution-after-suspend-resume:
    - shard-dg2:          NOTRUN -> [SKIP][166] ([i915#4270]) +4 other tests skip
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html
    - shard-dg1:          NOTRUN -> [SKIP][167] ([i915#4270]) +3 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html

  * igt@gem_readwrite@new-obj:
    - shard-mtlp:         NOTRUN -> [SKIP][168] ([i915#3282]) +4 other tests skip
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-4/igt@gem_readwrite@new-obj.html

  * igt@gem_render_copy@x-tiled-to-vebox-yf-tiled:
    - shard-dg2:          NOTRUN -> [SKIP][169] ([i915#2575] / [i915#5190])
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html

  * igt@gem_render_copy@y-tiled-to-vebox-linear:
    - shard-dg2:          NOTRUN -> [SKIP][170] ([i915#5190] / [i915#8428]) +8 other tests skip
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-5/igt@gem_render_copy@y-tiled-to-vebox-linear.html

  * igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled:
    - shard-mtlp:         NOTRUN -> [SKIP][171] ([i915#8428]) +11 other tests skip
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled.html

  * igt@gem_set_tiling_vs_gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][172] ([i915#4079]) +2 other tests skip
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@gem_set_tiling_vs_gtt.html

  * igt@gem_softpin@evict-snoop:
    - shard-dg2:          NOTRUN -> [SKIP][173] ([i915#4885])
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@gem_softpin@evict-snoop.html

  * igt@gem_tiled_pread_pwrite:
    - shard-dg1:          NOTRUN -> [SKIP][174] ([i915#4079]) +1 other test skip
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-18/igt@gem_tiled_pread_pwrite.html
    - shard-dg2:          NOTRUN -> [SKIP][175] ([i915#4079]) +1 other test skip
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@gem_tiled_pread_pwrite.html

  * igt@gem_tiling_max_stride:
    - shard-mtlp:         NOTRUN -> [SKIP][176] ([i915#4077]) +19 other tests skip
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@gem_tiling_max_stride.html

  * igt@gem_userptr_blits@coherency-sync:
    - shard-tglu-1:       NOTRUN -> [SKIP][177] ([i915#3297]) +1 other test skip
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@gem_userptr_blits@coherency-sync.html

  * igt@gem_userptr_blits@create-destroy-unsync:
    - shard-dg2:          NOTRUN -> [SKIP][178] ([i915#2575]) +22 other tests skip
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@gem_userptr_blits@create-destroy-unsync.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-rkl:          NOTRUN -> [SKIP][179] ([i915#3297]) +1 other test skip
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@gem_userptr_blits@dmabuf-unsync.html
    - shard-dg1:          NOTRUN -> [SKIP][180] ([i915#3297]) +2 other tests skip
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@gem_userptr_blits@forbidden-operations:
    - shard-dg1:          NOTRUN -> [SKIP][181] ([i915#3282] / [i915#3297])
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@gem_userptr_blits@forbidden-operations.html
    - shard-mtlp:         NOTRUN -> [SKIP][182] ([i915#3282] / [i915#3297])
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@gem_userptr_blits@forbidden-operations.html
    - shard-dg2:          NOTRUN -> [SKIP][183] ([i915#3282] / [i915#3297])
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@gem_userptr_blits@forbidden-operations.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap:
    - shard-dg1:          NOTRUN -> [SKIP][184] ([i915#3297] / [i915#4880]) +1 other test skip
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-18/igt@gem_userptr_blits@map-fixed-invalidate-overlap.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy:
    - shard-dg2:          NOTRUN -> [SKIP][185] ([i915#3297] / [i915#4880]) +1 other test skip
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html

  * igt@gem_userptr_blits@readonly-unsync:
    - shard-dg2:          NOTRUN -> [SKIP][186] ([i915#3297]) +2 other tests skip
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@gem_userptr_blits@readonly-unsync.html

  * igt@gem_userptr_blits@relocations:
    - shard-dg1:          NOTRUN -> [SKIP][187] ([i915#3281] / [i915#3297])
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@gem_userptr_blits@relocations.html

  * igt@gem_userptr_blits@unsync-overlap:
    - shard-mtlp:         NOTRUN -> [SKIP][188] ([i915#3297]) +3 other tests skip
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@gem_userptr_blits@unsync-overlap.html

  * igt@gem_userptr_blits@unsync-unmap-cycles:
    - shard-tglu:         NOTRUN -> [SKIP][189] ([i915#3297]) +2 other tests skip
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-4/igt@gem_userptr_blits@unsync-unmap-cycles.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-mtlp:         NOTRUN -> [SKIP][190] ([i915#2856]) +7 other tests skip
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@gen9_exec_parse@allowed-single.html
    - shard-tglu-1:       NOTRUN -> [SKIP][191] ([i915#2527] / [i915#2856])
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@gen9_exec_parse@allowed-single.html

  * igt@gen9_exec_parse@bb-chained:
    - shard-rkl:          NOTRUN -> [SKIP][192] ([i915#2527]) +5 other tests skip
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@gen9_exec_parse@bb-chained.html

  * igt@gen9_exec_parse@bb-large:
    - shard-tglu:         NOTRUN -> [SKIP][193] ([i915#2527] / [i915#2856]) +4 other tests skip
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-8/igt@gen9_exec_parse@bb-large.html

  * igt@gen9_exec_parse@bb-start-cmd:
    - shard-dg1:          NOTRUN -> [SKIP][194] ([i915#2527]) +6 other tests skip
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@gen9_exec_parse@bb-start-cmd.html

  * igt@gen9_exec_parse@bb-start-far:
    - shard-dg2:          NOTRUN -> [SKIP][195] ([i915#2856]) +7 other tests skip
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@gen9_exec_parse@bb-start-far.html

  * igt@i915_drm_fdinfo@all-busy-idle-check-all:
    - shard-dg2:          NOTRUN -> [SKIP][196] ([i915#14123])
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@i915_drm_fdinfo@all-busy-idle-check-all.html
    - shard-dg1:          NOTRUN -> [SKIP][197] ([i915#14123])
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-18/igt@i915_drm_fdinfo@all-busy-idle-check-all.html

  * igt@i915_drm_fdinfo@busy-idle-check-all@rcs0:
    - shard-mtlp:         NOTRUN -> [SKIP][198] ([i915#11527]) +6 other tests skip
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-4/igt@i915_drm_fdinfo@busy-idle-check-all@rcs0.html

  * igt@i915_drm_fdinfo@busy-idle-check-all@vcs1:
    - shard-dg1:          NOTRUN -> [SKIP][199] ([i915#11527]) +5 other tests skip
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-15/igt@i915_drm_fdinfo@busy-idle-check-all@vcs1.html

  * igt@i915_drm_fdinfo@virtual-busy-hang-all:
    - shard-dg2:          NOTRUN -> [SKIP][200] ([i915#14118])
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@i915_drm_fdinfo@virtual-busy-hang-all.html

  * igt@i915_fb_tiling@basic-x-tiling:
    - shard-dg2:          NOTRUN -> [SKIP][201] ([i915#13786])
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@i915_fb_tiling@basic-x-tiling.html

  * igt@i915_module_load@resize-bar:
    - shard-dg2:          [PASS][202] -> [DMESG-WARN][203] ([i915#14545])
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-8/igt@i915_module_load@resize-bar.html
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-5/igt@i915_module_load@resize-bar.html
    - shard-rkl:          NOTRUN -> [SKIP][204] ([i915#6412])
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@i915_module_load@resize-bar.html

  * igt@i915_pm_freq_api@freq-basic-api:
    - shard-tglu:         NOTRUN -> [SKIP][205] ([i915#8399]) +1 other test skip
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-2/igt@i915_pm_freq_api@freq-basic-api.html

  * igt@i915_pm_freq_api@freq-suspend:
    - shard-rkl:          NOTRUN -> [SKIP][206] ([i915#8399]) +1 other test skip
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@i915_pm_freq_api@freq-suspend.html
    - shard-dg1:          NOTRUN -> [ABORT][207] ([i915#15317]) +7 other tests abort
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-15/igt@i915_pm_freq_api@freq-suspend.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-tglu:         NOTRUN -> [WARN][208] ([i915#13790] / [i915#2681]) +1 other test warn
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-4/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-glk:          NOTRUN -> [INCOMPLETE][209] ([i915#13356] / [i915#15172])
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk3/igt@i915_pm_rpm@system-suspend-execbuf.html

  * igt@i915_pm_rps@basic-api:
    - shard-dg1:          NOTRUN -> [SKIP][210] ([i915#11681] / [i915#6621]) +1 other test skip
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-14/igt@i915_pm_rps@basic-api.html
    - shard-dg2:          NOTRUN -> [SKIP][211] ([i915#11681] / [i915#6621])
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@i915_pm_rps@basic-api.html

  * igt@i915_pm_rps@min-max-config-idle:
    - shard-mtlp:         NOTRUN -> [SKIP][212] ([i915#11681] / [i915#6621]) +1 other test skip
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-8/igt@i915_pm_rps@min-max-config-idle.html

  * igt@i915_pm_rps@thresholds:
    - shard-mtlp:         NOTRUN -> [SKIP][213] ([i915#11681]) +1 other test skip
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-4/igt@i915_pm_rps@thresholds.html

  * igt@i915_query@test-query-geometry-subslices:
    - shard-rkl:          NOTRUN -> [SKIP][214] ([i915#5723])
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@i915_query@test-query-geometry-subslices.html
    - shard-dg1:          NOTRUN -> [SKIP][215] ([i915#5723])
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@i915_query@test-query-geometry-subslices.html
    - shard-tglu:         NOTRUN -> [SKIP][216] ([i915#5723])
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-6/igt@i915_query@test-query-geometry-subslices.html

  * igt@i915_suspend@debugfs-reader:
    - shard-rkl:          NOTRUN -> [ABORT][217] ([i915#15317]) +8 other tests abort
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@i915_suspend@debugfs-reader.html

  * igt@kms_addfb_basic@bo-too-small-due-to-tiling:
    - shard-dg1:          NOTRUN -> [SKIP][218] ([i915#4212]) +1 other test skip
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html
    - shard-mtlp:         NOTRUN -> [SKIP][219] ([i915#4212]) +3 other tests skip
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html
    - shard-dg2:          NOTRUN -> [SKIP][220] ([i915#4212])
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-mtlp:         NOTRUN -> [SKIP][221] ([i915#12454] / [i915#12712])
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * igt@kms_async_flips@async-flip-hang@pipe-a-edp-1:
    - shard-mtlp:         NOTRUN -> [FAIL][222] ([i915#15313]) +8 other tests fail
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_async_flips@async-flip-hang@pipe-a-edp-1.html

  * igt@kms_async_flips@test-cursor:
    - shard-mtlp:         NOTRUN -> [SKIP][223] ([i915#10333])
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_async_flips@test-cursor.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-0:
    - shard-rkl:          NOTRUN -> [SKIP][224] ([i915#14544] / [i915#5286])
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_big_fb@4-tiled-16bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-addfb:
    - shard-rkl:          NOTRUN -> [SKIP][225] ([i915#5286]) +5 other tests skip
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_big_fb@4-tiled-addfb.html
    - shard-tglu-1:       NOTRUN -> [SKIP][226] ([i915#5286])
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_big_fb@4-tiled-addfb.html
    - shard-dg1:          NOTRUN -> [SKIP][227] ([i915#5286])
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-17/igt@kms_big_fb@4-tiled-addfb.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-tglu:         NOTRUN -> [SKIP][228] ([i915#5286]) +8 other tests skip
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-7/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-dg1:          NOTRUN -> [SKIP][229] ([i915#4538] / [i915#5286]) +7 other tests skip
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@linear-64bpp-rotate-270:
    - shard-mtlp:         NOTRUN -> [SKIP][230] +34 other tests skip
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_big_fb@linear-64bpp-rotate-270.html

  * igt@kms_big_fb@linear-64bpp-rotate-90:
    - shard-rkl:          NOTRUN -> [SKIP][231] ([i915#3638]) +5 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_big_fb@linear-64bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-dg2:          [PASS][232] -> [SKIP][233] +2 other tests skip
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-7/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-90:
    - shard-dg1:          NOTRUN -> [SKIP][234] ([i915#3638]) +5 other tests skip
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-14/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - shard-dg2:          NOTRUN -> [SKIP][235] ([i915#5190]) +2 other tests skip
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
    - shard-mtlp:         NOTRUN -> [SKIP][236] ([i915#6187])
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_big_fb@y-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-0:
    - shard-dg2:          NOTRUN -> [SKIP][237] ([i915#4538] / [i915#5190]) +17 other tests skip
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-dg1:          NOTRUN -> [SKIP][238] ([i915#4538]) +10 other tests skip
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-17/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_ccs@bad-aux-stride-yf-tiled-ccs@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][239] ([i915#6095]) +41 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_ccs@bad-aux-stride-yf-tiled-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][240] ([i915#10307] / [i915#10434] / [i915#6095]) +2 other tests skip
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][241] ([i915#12313]) +4 other tests skip
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-9/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
    - shard-mtlp:         NOTRUN -> [SKIP][242] ([i915#12313]) +2 other tests skip
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-4/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html

  * igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][243] ([i915#14544] / [i915#6095]) +9 other tests skip
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][244] ([i915#10307] / [i915#6095]) +107 other tests skip
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-a-hdmi-a-3.html

  * igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-c-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][245] ([i915#6095]) +104 other tests skip
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-3/igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-c-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-c-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][246] ([i915#6095]) +89 other tests skip
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-c-edp-1.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][247] ([i915#14098] / [i915#14544] / [i915#6095]) +8 other tests skip
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][248] ([i915#14098] / [i915#6095]) +34 other tests skip
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][249] ([i915#6095]) +8 other tests skip
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-3.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [SKIP][250] ([i915#6095]) +119 other tests skip
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-3.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-a-hdmi-a-1:
    - shard-tglu:         [PASS][251] -> [ABORT][252] ([i915#15317])
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-tglu-8/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-a-hdmi-a-1.html
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-6/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-a-hdmi-a-1.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-1:
    - shard-tglu-1:       NOTRUN -> [SKIP][253] ([i915#6095]) +39 other tests skip
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-1.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][254] ([i915#12313]) +4 other tests skip
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
    - shard-dg1:          NOTRUN -> [SKIP][255] ([i915#12313]) +2 other tests skip
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-18/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
    - shard-dg2:          NOTRUN -> [SKIP][256] ([i915#12313])
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-5/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-1:
    - shard-glk10:        NOTRUN -> [SKIP][257] +156 other tests skip
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk10/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-1.html

  * igt@kms_cdclk@mode-transition:
    - shard-mtlp:         NOTRUN -> [SKIP][258] ([i915#13781]) +4 other tests skip
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@kms_cdclk@mode-transition.html
    - shard-rkl:          NOTRUN -> [SKIP][259] ([i915#14544] / [i915#3742])
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_cdclk@mode-transition.html
    - shard-tglu:         NOTRUN -> [SKIP][260] ([i915#3742])
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-6/igt@kms_cdclk@mode-transition.html

  * igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][261] ([i915#13781]) +4 other tests skip
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-3.html

  * igt@kms_cdclk@plane-scaling:
    - shard-dg1:          NOTRUN -> [SKIP][262] ([i915#3742]) +1 other test skip
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@kms_cdclk@plane-scaling.html

  * igt@kms_cdclk@plane-scaling@pipe-b-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][263] ([i915#13783]) +4 other tests skip
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@kms_cdclk@plane-scaling@pipe-b-hdmi-a-3.html

  * igt@kms_cdclk@plane-scaling@pipe-c-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][264] ([i915#13783]) +4 other tests skip
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_cdclk@plane-scaling@pipe-c-edp-1.html

  * igt@kms_chamelium_audio@dp-audio:
    - shard-tglu:         NOTRUN -> [SKIP][265] ([i915#11151] / [i915#7828]) +12 other tests skip
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-2/igt@kms_chamelium_audio@dp-audio.html

  * igt@kms_chamelium_audio@hdmi-audio:
    - shard-dg2:          NOTRUN -> [SKIP][266] ([i915#11151] / [i915#7828]) +13 other tests skip
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@kms_chamelium_audio@hdmi-audio.html

  * igt@kms_chamelium_color@ctm-0-50:
    - shard-dg1:          NOTRUN -> [SKIP][267] +57 other tests skip
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_chamelium_color@ctm-0-50.html

  * igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
    - shard-rkl:          NOTRUN -> [SKIP][268] ([i915#11151] / [i915#14544] / [i915#7828]) +2 other tests skip
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium_frames@dp-crc-fast:
    - shard-tglu-1:       NOTRUN -> [SKIP][269] ([i915#11151] / [i915#7828])
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_chamelium_frames@dp-crc-fast.html

  * igt@kms_chamelium_frames@dp-crc-single:
    - shard-dg1:          NOTRUN -> [SKIP][270] ([i915#11151] / [i915#7828]) +11 other tests skip
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@kms_chamelium_frames@dp-crc-single.html

  * igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][271] ([i915#11151] / [i915#7828]) +12 other tests skip
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-5/igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode.html

  * igt@kms_chamelium_hpd@hdmi-hpd-fast:
    - shard-rkl:          NOTRUN -> [SKIP][272] ([i915#11151] / [i915#7828]) +9 other tests skip
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@kms_chamelium_hpd@hdmi-hpd-fast.html

  * igt@kms_chamelium_sharpness_filter@filter-basic:
    - shard-dg2:          NOTRUN -> [SKIP][273] ([i915#15238])
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@kms_chamelium_sharpness_filter@filter-basic.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-tglu:         NOTRUN -> [SKIP][274] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424])
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-9/igt@kms_content_protection@atomic-dpms.html
    - shard-dg2:          NOTRUN -> [SKIP][275] ([i915#7118] / [i915#9424])
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@kms_content_protection@atomic-dpms.html
    - shard-rkl:          NOTRUN -> [SKIP][276] ([i915#7118] / [i915#9424])
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@kms_content_protection@atomic-dpms.html
    - shard-dg1:          NOTRUN -> [SKIP][277] ([i915#7116] / [i915#9424])
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-rkl:          NOTRUN -> [SKIP][278] ([i915#14544] / [i915#3116])
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_content_protection@dp-mst-type-1.html
    - shard-dg1:          NOTRUN -> [SKIP][279] ([i915#3299])
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@kms_content_protection@dp-mst-type-1.html
    - shard-tglu:         NOTRUN -> [SKIP][280] ([i915#3116] / [i915#3299])
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-5/igt@kms_content_protection@dp-mst-type-1.html
    - shard-dg2:          NOTRUN -> [SKIP][281] ([i915#3299])
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@lic-type-0:
    - shard-tglu:         NOTRUN -> [SKIP][282] ([i915#6944] / [i915#9424])
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-4/igt@kms_content_protection@lic-type-0.html
    - shard-mtlp:         NOTRUN -> [SKIP][283] ([i915#6944] / [i915#9424]) +1 other test skip
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@kms_content_protection@lic-type-0.html
    - shard-dg1:          NOTRUN -> [SKIP][284] ([i915#9424])
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-14/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg2:          NOTRUN -> [SKIP][285] ([i915#9424]) +1 other test skip
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@kms_content_protection@mei-interface.html
    - shard-rkl:          NOTRUN -> [SKIP][286] ([i915#9424]) +1 other test skip
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_content_protection@mei-interface.html
    - shard-tglu-1:       NOTRUN -> [SKIP][287] ([i915#6944] / [i915#9424])
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_content_protection@mei-interface.html
    - shard-dg1:          NOTRUN -> [SKIP][288] ([i915#9433])
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_content_protection@mei-interface.html
    - shard-mtlp:         NOTRUN -> [SKIP][289] ([i915#8063] / [i915#9433])
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@kms_content_protection@mei-interface.html

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-rkl:          NOTRUN -> [SKIP][290] ([i915#13049]) +1 other test skip
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_crc@cursor-offscreen-64x21:
    - shard-mtlp:         NOTRUN -> [SKIP][291] ([i915#8814]) +3 other tests skip
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@kms_cursor_crc@cursor-offscreen-64x21.html

  * igt@kms_cursor_crc@cursor-onscreen-32x10:
    - shard-mtlp:         NOTRUN -> [SKIP][292] ([i915#3555] / [i915#8814]) +2 other tests skip
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-4/igt@kms_cursor_crc@cursor-onscreen-32x10.html
    - shard-rkl:          NOTRUN -> [SKIP][293] ([i915#3555]) +4 other tests skip
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-8/igt@kms_cursor_crc@cursor-onscreen-32x10.html

  * igt@kms_cursor_crc@cursor-onscreen-32x32:
    - shard-rkl:          NOTRUN -> [SKIP][294] ([i915#14544] / [i915#3555])
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-32x32.html

  * igt@kms_cursor_crc@cursor-onscreen-512x512:
    - shard-mtlp:         NOTRUN -> [SKIP][295] ([i915#13049]) +3 other tests skip
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_cursor_crc@cursor-onscreen-512x512.html
    - shard-dg2:          NOTRUN -> [SKIP][296] ([i915#13049]) +1 other test skip
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@kms_cursor_crc@cursor-onscreen-512x512.html
    - shard-dg1:          NOTRUN -> [SKIP][297] ([i915#13049]) +1 other test skip
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@kms_cursor_crc@cursor-onscreen-512x512.html

  * igt@kms_cursor_crc@cursor-random-256x85:
    - shard-rkl:          NOTRUN -> [FAIL][298] ([i915#13566]) +1 other test fail
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_cursor_crc@cursor-random-256x85.html
    - shard-tglu-1:       NOTRUN -> [FAIL][299] ([i915#13566]) +1 other test fail
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_cursor_crc@cursor-random-256x85.html

  * igt@kms_cursor_crc@cursor-random-32x10:
    - shard-tglu:         NOTRUN -> [SKIP][300] ([i915#3555]) +8 other tests skip
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-4/igt@kms_cursor_crc@cursor-random-32x10.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x512:
    - shard-tglu:         NOTRUN -> [SKIP][301] ([i915#13049]) +2 other tests skip
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-9/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html

  * igt@kms_cursor_crc@cursor-sliding-32x10:
    - shard-dg2:          NOTRUN -> [SKIP][302] ([i915#3555]) +7 other tests skip
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-5/igt@kms_cursor_crc@cursor-sliding-32x10.html

  * igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1:
    - shard-tglu-1:       NOTRUN -> [ABORT][303] ([i915#15317]) +3 other tests abort
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - shard-mtlp:         NOTRUN -> [SKIP][304] ([i915#4213]) +2 other tests skip
   [304]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
    - shard-rkl:          NOTRUN -> [SKIP][305] ([i915#4103])
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
    - shard-dg1:          NOTRUN -> [SKIP][306] ([i915#4103] / [i915#4213])
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-15/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
    - shard-tglu:         NOTRUN -> [SKIP][307] ([i915#4103]) +1 other test skip
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions:
    - shard-mtlp:         NOTRUN -> [SKIP][308] ([i915#9809]) +5 other tests skip
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-legacy:
    - shard-dg2:          NOTRUN -> [SKIP][309] ([i915#13046] / [i915#5354]) +5 other tests skip
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html

  * igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
    - shard-rkl:          NOTRUN -> [SKIP][310] ([i915#9067])
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
    - shard-dg1:          NOTRUN -> [SKIP][311] ([i915#9067])
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
    - shard-tglu:         NOTRUN -> [SKIP][312] ([i915#9067])
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-7/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-dg2:          NOTRUN -> [SKIP][313] ([i915#4103] / [i915#4213]) +1 other test skip
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-5/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-dg2:          NOTRUN -> [SKIP][314] ([i915#9833])
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
    - shard-rkl:          NOTRUN -> [SKIP][315] ([i915#9723])
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
    - shard-dg1:          NOTRUN -> [SKIP][316] ([i915#9723])
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
    - shard-tglu:         NOTRUN -> [SKIP][317] ([i915#9723])
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-10/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
    - shard-mtlp:         NOTRUN -> [SKIP][318] ([i915#9833])
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc:
    - shard-rkl:          NOTRUN -> [SKIP][319] ([i915#3555] / [i915#3804])
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][320] ([i915#3804])
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html

  * igt@kms_dp_link_training@uhbr-mst:
    - shard-mtlp:         NOTRUN -> [SKIP][321] ([i915#13749]) +1 other test skip
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@kms_dp_link_training@uhbr-mst.html
    - shard-dg2:          NOTRUN -> [SKIP][322] ([i915#13748])
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@kms_dp_link_training@uhbr-mst.html
    - shard-rkl:          NOTRUN -> [SKIP][323] ([i915#13748])
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_dp_link_training@uhbr-mst.html
    - shard-dg1:          NOTRUN -> [SKIP][324] ([i915#13748])
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_dp_link_training@uhbr-mst.html

  * igt@kms_dp_link_training@uhbr-sst:
    - shard-tglu-1:       NOTRUN -> [SKIP][325] ([i915#13748]) +1 other test skip
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_dp_link_training@uhbr-sst.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-dg2:          NOTRUN -> [SKIP][326] ([i915#13707])
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@kms_dp_linktrain_fallback@dp-fallback.html
    - shard-dg1:          NOTRUN -> [SKIP][327] ([i915#13707])
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@kms_dp_linktrain_fallback@dp-fallback.html
    - shard-tglu:         NOTRUN -> [SKIP][328] ([i915#13707])
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-10/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_draw_crc@draw-method-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][329] ([i915#8812])
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@kms_draw_crc@draw-method-mmap-gtt.html
    - shard-dg2:          NOTRUN -> [SKIP][330] ([i915#8812])
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@kms_draw_crc@draw-method-mmap-gtt.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-dg2:          NOTRUN -> [SKIP][331] ([i915#3840] / [i915#9688])
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@kms_dsc@dsc-fractional-bpp.html
    - shard-rkl:          NOTRUN -> [SKIP][332] ([i915#3840])
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@kms_dsc@dsc-fractional-bpp.html
    - shard-dg1:          NOTRUN -> [SKIP][333] ([i915#3840])
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@kms_dsc@dsc-fractional-bpp.html
    - shard-tglu:         NOTRUN -> [SKIP][334] ([i915#3840])
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-3/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_dsc@dsc-with-output-formats-with-bpc:
    - shard-mtlp:         NOTRUN -> [SKIP][335] ([i915#3555] / [i915#3840] / [i915#9053])
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
    - shard-rkl:          NOTRUN -> [SKIP][336] ([i915#3840] / [i915#9053])
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
    - shard-dg1:          NOTRUN -> [SKIP][337] ([i915#3840] / [i915#9053])
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
    - shard-tglu:         NOTRUN -> [SKIP][338] ([i915#3840] / [i915#9053])
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-6/igt@kms_dsc@dsc-with-output-formats-with-bpc.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-tglu-1:       NOTRUN -> [SKIP][339] ([i915#3469])
   [339]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_feature_discovery@psr2:
    - shard-dg1:          NOTRUN -> [SKIP][340] ([i915#658])
   [340]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-14/igt@kms_feature_discovery@psr2.html
    - shard-tglu:         NOTRUN -> [SKIP][341] ([i915#658])
   [341]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-2/igt@kms_feature_discovery@psr2.html
    - shard-dg2:          NOTRUN -> [SKIP][342] ([i915#658])
   [342]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@kms_feature_discovery@psr2.html
    - shard-rkl:          NOTRUN -> [SKIP][343] ([i915#658])
   [343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-busy-flip:
    - shard-rkl:          NOTRUN -> [SKIP][344] ([i915#14544] / [i915#9934]) +1 other test skip
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_flip@2x-busy-flip.html

  * igt@kms_flip@2x-dpms-vs-vblank-race:
    - shard-mtlp:         NOTRUN -> [SKIP][345] ([i915#3637] / [i915#9934]) +12 other tests skip
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@kms_flip@2x-dpms-vs-vblank-race.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
    - shard-tglu:         NOTRUN -> [SKIP][346] ([i915#3637] / [i915#9934]) +11 other tests skip
   [346]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-3/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible:
    - shard-rkl:          NOTRUN -> [SKIP][347] ([i915#9934]) +7 other tests skip
   [347]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html

  * igt@kms_flip@2x-modeset-vs-vblank-race:
    - shard-dg2:          NOTRUN -> [SKIP][348] ([i915#9934]) +12 other tests skip
   [348]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_flip@2x-modeset-vs-vblank-race.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-dg1:          NOTRUN -> [SKIP][349] ([i915#9934]) +9 other tests skip
   [349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_flip@2x-wf_vblank-ts-check-interruptible:
    - shard-tglu-1:       NOTRUN -> [SKIP][350] ([i915#3637] / [i915#9934]) +3 other tests skip
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling:
    - shard-mtlp:         NOTRUN -> [SKIP][351] ([i915#3555] / [i915#8810] / [i915#8813]) +4 other tests skip
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][352] ([i915#8810] / [i915#8813])
   [352]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling:
    - shard-tglu:         NOTRUN -> [SKIP][353] ([i915#2672] / [i915#3555]) +6 other tests skip
   [353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-3/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling.html
    - shard-dg2:          NOTRUN -> [SKIP][354] ([i915#2672] / [i915#3555]) +4 other tests skip
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
    - shard-dg1:          NOTRUN -> [SKIP][355] ([i915#2587] / [i915#2672] / [i915#3555]) +3 other tests skip
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
    - shard-tglu:         NOTRUN -> [SKIP][356] ([i915#2587] / [i915#2672] / [i915#3555]) +2 other tests skip
   [356]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-9/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling:
    - shard-dg2:          NOTRUN -> [SKIP][357] ([i915#2672] / [i915#3555] / [i915#5190]) +7 other tests skip
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][358] ([i915#2672]) +12 other tests skip
   [358]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-valid-mode:
    - shard-tglu:         NOTRUN -> [SKIP][359] ([i915#2587] / [i915#2672]) +9 other tests skip
   [359]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-10/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling:
    - shard-rkl:          NOTRUN -> [SKIP][360] ([i915#14544] / [i915#2672] / [i915#3555]) +1 other test skip
   [360]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode:
    - shard-rkl:          NOTRUN -> [SKIP][361] ([i915#14544] / [i915#2672]) +1 other test skip
   [361]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][362] ([i915#2672] / [i915#8813]) +7 other tests skip
   [362]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling:
    - shard-dg1:          NOTRUN -> [SKIP][363] ([i915#2672] / [i915#3555]) +6 other tests skip
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling:
    - shard-rkl:          NOTRUN -> [SKIP][364] ([i915#2672] / [i915#3555]) +9 other tests skip
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html
    - shard-tglu-1:       NOTRUN -> [SKIP][365] ([i915#2672] / [i915#3555]) +3 other tests skip
   [365]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-rkl:          NOTRUN -> [SKIP][366] ([i915#2672]) +9 other tests skip
   [366]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html
    - shard-tglu-1:       NOTRUN -> [SKIP][367] ([i915#2587] / [i915#2672]) +3 other tests skip
   [367]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html
    - shard-dg1:          NOTRUN -> [SKIP][368] ([i915#2587] / [i915#2672]) +10 other tests skip
   [368]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-17/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
    - shard-mtlp:         NOTRUN -> [SKIP][369] ([i915#2672] / [i915#3555] / [i915#8813]) +17 other tests skip
   [369]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][370] ([i915#15104]) +1 other test skip
   [370]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-18/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][371] ([i915#8708]) +22 other tests skip
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-rte:
    - shard-dg2:          NOTRUN -> [SKIP][372] ([i915#5354]) +44 other tests skip
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-2p-rte.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-cpu:
    - shard-rkl:          NOTRUN -> [SKIP][373] ([i915#14544] / [i915#1825]) +5 other tests skip
   [373]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-4:
    - shard-rkl:          NOTRUN -> [SKIP][374] ([i915#5439])
   [374]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
    - shard-dg1:          NOTRUN -> [SKIP][375] ([i915#5439])
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
    - shard-tglu:         NOTRUN -> [SKIP][376] ([i915#5439])
   [376]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-7/igt@kms_frontbuffer_tracking@fbc-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][377] ([i915#15104])
   [377]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][378] ([i915#15102] / [i915#3023]) +19 other tests skip
   [378]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][379] +24 other tests skip
   [379]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-render:
    - shard-tglu:         NOTRUN -> [SKIP][380] +93 other tests skip
   [380]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-9/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
    - shard-tglu-1:       NOTRUN -> [SKIP][381] +19 other tests skip
   [381]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
    - shard-dg2:          NOTRUN -> [SKIP][382] ([i915#10055])
   [382]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
    - shard-mtlp:         NOTRUN -> [SKIP][383] ([i915#10055])
   [383]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html

  * igt@kms_frontbuffer_tracking@pipe-fbc-rte:
    - shard-rkl:          NOTRUN -> [SKIP][384] ([i915#9766])
   [384]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
    - shard-dg1:          NOTRUN -> [SKIP][385] ([i915#9766])
   [385]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
    - shard-tglu:         NOTRUN -> [SKIP][386] ([i915#9766])
   [386]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-6/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-blt:
    - shard-dg2:          NOTRUN -> [SKIP][387] ([i915#15102]) +5 other tests skip
   [387]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-cpu:
    - shard-dg1:          NOTRUN -> [SKIP][388] ([i915#15102]) +3 other tests skip
   [388]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-cpu.html
    - shard-rkl:          NOTRUN -> [SKIP][389] ([i915#14544] / [i915#15102])
   [389]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][390] ([i915#15102]) +3 other tests skip
   [390]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-wc:
    - shard-dg2:          NOTRUN -> [SKIP][391] ([i915#15104]) +1 other test skip
   [391]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-dg1:          NOTRUN -> [SKIP][392] ([i915#8708]) +23 other tests skip
   [392]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-blt:
    - shard-dg2:          NOTRUN -> [SKIP][393] +38 other tests skip
   [393]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render:
    - shard-dg1:          NOTRUN -> [SKIP][394] ([i915#15102] / [i915#3458]) +20 other tests skip
   [394]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt:
    - shard-tglu-1:       NOTRUN -> [SKIP][395] ([i915#15102]) +10 other tests skip
   [395]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt:
    - shard-dg2:          NOTRUN -> [SKIP][396] ([i915#15102] / [i915#3458]) +19 other tests skip
   [396]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-pgflip-blt:
    - shard-mtlp:         NOTRUN -> [SKIP][397] ([i915#1825]) +46 other tests skip
   [397]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-4/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu:
    - shard-snb:          NOTRUN -> [SKIP][398] +479 other tests skip
   [398]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-snb5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-plflip-blt:
    - shard-rkl:          NOTRUN -> [SKIP][399] ([i915#1825]) +43 other tests skip
   [399]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][400] ([i915#8708]) +13 other tests skip
   [400]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-8/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-render:
    - shard-rkl:          NOTRUN -> [SKIP][401] ([i915#14544] / [i915#15102] / [i915#3023]) +4 other tests skip
   [401]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary:
    - shard-tglu:         NOTRUN -> [SKIP][402] ([i915#15102]) +33 other tests skip
   [402]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-8/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-mtlp:         NOTRUN -> [SKIP][403] ([i915#12713])
   [403]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@kms_hdr@brightness-with-hdr.html
    - shard-dg2:          NOTRUN -> [SKIP][404] ([i915#12713])
   [404]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@kms_hdr@brightness-with-hdr.html
    - shard-rkl:          NOTRUN -> [SKIP][405] ([i915#12713])
   [405]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_hdr@brightness-with-hdr.html
    - shard-tglu-1:       NOTRUN -> [SKIP][406] ([i915#12713])
   [406]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_hdr@brightness-with-hdr.html
    - shard-dg1:          NOTRUN -> [SKIP][407] ([i915#12713])
   [407]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_hdr@static-swap:
    - shard-dg1:          NOTRUN -> [SKIP][408] ([i915#3555] / [i915#8228]) +2 other tests skip
   [408]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@kms_hdr@static-swap.html
    - shard-tglu:         NOTRUN -> [SKIP][409] ([i915#3555] / [i915#8228]) +2 other tests skip
   [409]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-9/igt@kms_hdr@static-swap.html
    - shard-mtlp:         NOTRUN -> [SKIP][410] ([i915#12713] / [i915#3555] / [i915#8228]) +1 other test skip
   [410]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_hdr@static-swap.html

  * igt@kms_hdr@static-toggle:
    - shard-dg2:          NOTRUN -> [SKIP][411] ([i915#3555] / [i915#8228]) +2 other tests skip
   [411]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@kms_hdr@static-toggle.html
    - shard-rkl:          NOTRUN -> [SKIP][412] ([i915#3555] / [i915#8228]) +1 other test skip
   [412]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@kms_hdr@static-toggle.html

  * igt@kms_joiner@basic-big-joiner:
    - shard-rkl:          NOTRUN -> [SKIP][413] ([i915#10656])
   [413]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@kms_joiner@basic-big-joiner.html
    - shard-dg1:          NOTRUN -> [SKIP][414] ([i915#10656])
   [414]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-18/igt@kms_joiner@basic-big-joiner.html
    - shard-tglu:         NOTRUN -> [SKIP][415] ([i915#10656])
   [415]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-8/igt@kms_joiner@basic-big-joiner.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-dg2:          NOTRUN -> [SKIP][416] ([i915#10656]) +1 other test skip
   [416]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
    - shard-rkl:          NOTRUN -> [SKIP][417] ([i915#12394])
   [417]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
    - shard-dg1:          NOTRUN -> [SKIP][418] ([i915#12394])
   [418]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-14/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
    - shard-tglu:         NOTRUN -> [SKIP][419] ([i915#12394])
   [419]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-4/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
    - shard-mtlp:         NOTRUN -> [SKIP][420] ([i915#10656])
   [420]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_pipe_stress@stress-xrgb8888-4tiled:
    - shard-rkl:          NOTRUN -> [SKIP][421] ([i915#14712]) +1 other test skip
   [421]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@kms_pipe_stress@stress-xrgb8888-4tiled.html
    - shard-dg1:          NOTRUN -> [SKIP][422] ([i915#14712]) +1 other test skip
   [422]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-18/igt@kms_pipe_stress@stress-xrgb8888-4tiled.html

  * igt@kms_pipe_stress@stress-xrgb8888-yftiled:
    - shard-tglu:         NOTRUN -> [SKIP][423] ([i915#14712]) +1 other test skip
   [423]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-4/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
    - shard-mtlp:         NOTRUN -> [SKIP][424] ([i915#14712])
   [424]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-7/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
    - shard-dg2:          NOTRUN -> [SKIP][425] ([i915#14712])
   [425]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b:
    - shard-mtlp:         NOTRUN -> [INCOMPLETE][426] ([i915#13026])
   [426]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-8/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b.html

  * igt@kms_plane_lowres@tiling-none:
    - shard-mtlp:         NOTRUN -> [SKIP][427] ([i915#11614] / [i915#3582]) +1 other test skip
   [427]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_plane_lowres@tiling-none.html

  * igt@kms_plane_lowres@tiling-none@pipe-b-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][428] ([i915#10226] / [i915#11614] / [i915#3582]) +2 other tests skip
   [428]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_plane_lowres@tiling-none@pipe-b-edp-1.html

  * igt@kms_plane_lowres@tiling-y:
    - shard-mtlp:         NOTRUN -> [SKIP][429] ([i915#3555] / [i915#8821])
   [429]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@kms_plane_lowres@tiling-y.html
    - shard-dg2:          NOTRUN -> [SKIP][430] ([i915#8821])
   [430]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@kms_plane_lowres@tiling-y.html

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-dg2:          NOTRUN -> [SKIP][431] ([i915#13958]) +1 other test skip
   [431]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@kms_plane_multiple@2x-tiling-4.html
    - shard-rkl:          NOTRUN -> [SKIP][432] ([i915#13958])
   [432]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@kms_plane_multiple@2x-tiling-4.html
    - shard-tglu:         NOTRUN -> [SKIP][433] ([i915#13958]) +1 other test skip
   [433]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-3/igt@kms_plane_multiple@2x-tiling-4.html
    - shard-mtlp:         NOTRUN -> [SKIP][434] ([i915#13958])
   [434]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-dg1:          NOTRUN -> [SKIP][435] ([i915#13958]) +1 other test skip
   [435]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_plane_scaling@invalid-parameters:
    - shard-dg2:          NOTRUN -> [SKIP][436] ([i915#9423])
   [436]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_plane_scaling@invalid-parameters.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-a:
    - shard-dg1:          NOTRUN -> [SKIP][437] ([i915#12247]) +13 other tests skip
   [437]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-14/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-a.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b:
    - shard-tglu:         NOTRUN -> [SKIP][438] ([i915#12247]) +13 other tests skip
   [438]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-4/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation:
    - shard-glk:          NOTRUN -> [SKIP][439] +451 other tests skip
   [439]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk3/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c:
    - shard-rkl:          NOTRUN -> [SKIP][440] ([i915#12247]) +7 other tests skip
   [440]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c.html

  * igt@kms_plane_scaling@planes-upscale-20x20:
    - shard-dg2:          [PASS][441] -> [SKIP][442] ([i915#9423])
   [441]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-11/igt@kms_plane_scaling@planes-upscale-20x20.html
   [442]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_plane_scaling@planes-upscale-20x20.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75:
    - shard-mtlp:         NOTRUN -> [SKIP][443] ([i915#12247] / [i915#3555] / [i915#6953]) +1 other test skip
   [443]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75@pipe-a:
    - shard-mtlp:         NOTRUN -> [SKIP][444] ([i915#12247]) +9 other tests skip
   [444]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75@pipe-a.html

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][445] ([i915#5354]) +1 other test skip
   [445]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@kms_pm_backlight@fade-with-dpms.html
    - shard-dg1:          NOTRUN -> [SKIP][446] ([i915#5354])
   [446]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@kms_pm_backlight@fade-with-dpms.html
    - shard-tglu:         NOTRUN -> [SKIP][447] ([i915#9812]) +1 other test skip
   [447]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-3/igt@kms_pm_backlight@fade-with-dpms.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-mtlp:         [PASS][448] -> [ABORT][449] ([i915#15317]) +2 other tests abort
   [448]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-mtlp-3/igt@kms_pm_backlight@fade-with-suspend.html
   [449]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-mtlp:         NOTRUN -> [SKIP][450] ([i915#9292])
   [450]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_dc@dc5-dpms-negative:
    - shard-mtlp:         NOTRUN -> [SKIP][451] ([i915#13441])
   [451]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_pm_dc@dc5-dpms-negative.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-mtlp:         NOTRUN -> [SKIP][452] ([i915#3828])
   [452]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_pm_dc@dc5-retention-flops.html
    - shard-dg2:          NOTRUN -> [SKIP][453] ([i915#3828])
   [453]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@kms_pm_dc@dc5-retention-flops.html
    - shard-rkl:          NOTRUN -> [SKIP][454] ([i915#3828])
   [454]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@kms_pm_dc@dc5-retention-flops.html
    - shard-dg1:          NOTRUN -> [SKIP][455] ([i915#3828])
   [455]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@kms_pm_dc@dc5-retention-flops.html
    - shard-tglu:         NOTRUN -> [SKIP][456] ([i915#3828])
   [456]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-9/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-tglu-1:       NOTRUN -> [FAIL][457] ([i915#9295])
   [457]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_rpm@cursor:
    - shard-dg1:          NOTRUN -> [SKIP][458] ([i915#4077]) +18 other tests skip
   [458]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-17/igt@kms_pm_rpm@cursor.html

  * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
    - shard-dg1:          NOTRUN -> [SKIP][459] ([i915#15073])
   [459]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_pm_rpm@dpms-non-lpsp:
    - shard-tglu:         NOTRUN -> [SKIP][460] ([i915#15073]) +1 other test skip
   [460]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-4/igt@kms_pm_rpm@dpms-non-lpsp.html
    - shard-rkl:          NOTRUN -> [SKIP][461] ([i915#15073])
   [461]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-8/igt@kms_pm_rpm@dpms-non-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-mtlp:         NOTRUN -> [SKIP][462] ([i915#15073]) +2 other tests skip
   [462]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-8/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-dg2:          NOTRUN -> [SKIP][463] ([i915#15073]) +2 other tests skip
   [463]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_pm_rpm@system-suspend-idle:
    - shard-tglu:         NOTRUN -> [ABORT][464] ([i915#15317]) +6 other tests abort
   [464]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-4/igt@kms_pm_rpm@system-suspend-idle.html
    - shard-glk:          NOTRUN -> [ABORT][465] ([i915#15317]) +2 other tests abort
   [465]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk6/igt@kms_pm_rpm@system-suspend-idle.html
    - shard-mtlp:         NOTRUN -> [ABORT][466] ([i915#15317]) +10 other tests abort
   [466]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-8/igt@kms_pm_rpm@system-suspend-idle.html

  * igt@kms_pm_rpm@system-suspend-modeset:
    - shard-dg2:          NOTRUN -> [ABORT][467] ([i915#10553] / [i915#15317])
   [467]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@kms_pm_rpm@system-suspend-modeset.html

  * igt@kms_prime@basic-crc-hybrid:
    - shard-dg2:          NOTRUN -> [SKIP][468] ([i915#6524] / [i915#6805])
   [468]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@kms_prime@basic-crc-hybrid.html
    - shard-dg1:          NOTRUN -> [SKIP][469] ([i915#6524])
   [469]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@kms_prime@basic-crc-hybrid.html
    - shard-mtlp:         NOTRUN -> [SKIP][470] ([i915#6524])
   [470]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_prime@basic-crc-hybrid.html

  * igt@kms_prime@basic-modeset-hybrid:
    - shard-tglu-1:       NOTRUN -> [SKIP][471] ([i915#6524])
   [471]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_prime@basic-modeset-hybrid.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-sf:
    - shard-rkl:          NOTRUN -> [SKIP][472] ([i915#11520] / [i915#14544]) +2 other tests skip
   [472]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf:
    - shard-tglu:         NOTRUN -> [SKIP][473] ([i915#11520]) +14 other tests skip
   [473]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-3/igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area:
    - shard-glk:          NOTRUN -> [SKIP][474] ([i915#11520]) +13 other tests skip
   [474]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk1/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
    - shard-dg2:          NOTRUN -> [SKIP][475] ([i915#11520]) +11 other tests skip
   [475]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf:
    - shard-rkl:          NOTRUN -> [SKIP][476] ([i915#11520]) +7 other tests skip
   [476]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area:
    - shard-glk10:        NOTRUN -> [SKIP][477] ([i915#11520]) +1 other test skip
   [477]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk10/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area@pipe-a-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][478] ([i915#9808]) +2 other tests skip
   [478]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area@pipe-a-edp-1.html

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-sf:
    - shard-mtlp:         NOTRUN -> [SKIP][479] ([i915#12316]) +11 other tests skip
   [479]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-sf.html
    - shard-tglu-1:       NOTRUN -> [SKIP][480] ([i915#11520])
   [480]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
    - shard-dg1:          NOTRUN -> [SKIP][481] ([i915#11520]) +10 other tests skip
   [481]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb:
    - shard-snb:          NOTRUN -> [SKIP][482] ([i915#11520]) +14 other tests skip
   [482]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-snb1/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-mtlp:         NOTRUN -> [SKIP][483] ([i915#4348]) +1 other test skip
   [483]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_psr2_su@frontbuffer-xrgb8888.html
    - shard-tglu:         NOTRUN -> [SKIP][484] ([i915#9683])
   [484]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-9/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-dg2:          NOTRUN -> [SKIP][485] ([i915#9683]) +1 other test skip
   [485]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@kms_psr2_su@page_flip-p010.html
    - shard-rkl:          NOTRUN -> [SKIP][486] ([i915#9683]) +1 other test skip
   [486]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_psr2_su@page_flip-p010.html
    - shard-tglu-1:       NOTRUN -> [SKIP][487] ([i915#9683])
   [487]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_psr2_su@page_flip-p010.html
    - shard-dg1:          NOTRUN -> [SKIP][488] ([i915#9683]) +1 other test skip
   [488]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_psr2_su@page_flip-p010.html

  * igt@kms_psr@fbc-pr-cursor-render:
    - shard-mtlp:         NOTRUN -> [SKIP][489] ([i915#9688]) +30 other tests skip
   [489]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_psr@fbc-pr-cursor-render.html

  * igt@kms_psr@pr-primary-render:
    - shard-rkl:          NOTRUN -> [SKIP][490] ([i915#1072] / [i915#14544] / [i915#9732])
   [490]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_psr@pr-primary-render.html

  * igt@kms_psr@psr-sprite-mmap-cpu:
    - shard-dg1:          NOTRUN -> [SKIP][491] ([i915#1072] / [i915#9732]) +24 other tests skip
   [491]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@kms_psr@psr-sprite-mmap-cpu.html

  * igt@kms_psr@psr2-cursor-blt:
    - shard-dg2:          NOTRUN -> [SKIP][492] ([i915#1072] / [i915#9732]) +26 other tests skip
   [492]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-5/igt@kms_psr@psr2-cursor-blt.html

  * igt@kms_psr@psr2-cursor-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][493] ([i915#1072] / [i915#9732]) +22 other tests skip
   [493]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_psr@psr2-cursor-mmap-gtt.html
    - shard-tglu-1:       NOTRUN -> [SKIP][494] ([i915#9732]) +6 other tests skip
   [494]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_psr@psr2-cursor-mmap-gtt.html

  * igt@kms_psr@psr2-primary-render:
    - shard-tglu:         NOTRUN -> [SKIP][495] ([i915#9732]) +25 other tests skip
   [495]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-2/igt@kms_psr@psr2-primary-render.html

  * igt@kms_rotation_crc@exhaust-fences:
    - shard-dg1:          NOTRUN -> [SKIP][496] ([i915#4884])
   [496]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@kms_rotation_crc@exhaust-fences.html
    - shard-mtlp:         NOTRUN -> [SKIP][497] ([i915#4235])
   [497]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_rotation_crc@exhaust-fences.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-rkl:          NOTRUN -> [SKIP][498] ([i915#14544] / [i915#5289])
   [498]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-dg1:          NOTRUN -> [SKIP][499] ([i915#5289]) +2 other tests skip
   [499]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-16/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-tglu:         NOTRUN -> [SKIP][500] ([i915#5289]) +1 other test skip
   [500]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-10/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-mtlp:         NOTRUN -> [SKIP][501] ([i915#5289])
   [501]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
    - shard-rkl:          NOTRUN -> [SKIP][502] ([i915#5289]) +1 other test skip
   [502]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
    - shard-mtlp:         NOTRUN -> [SKIP][503] ([i915#12755]) +1 other test skip
   [503]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
    - shard-dg2:          NOTRUN -> [SKIP][504] ([i915#12755] / [i915#5190])
   [504]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
    - shard-tglu-1:       NOTRUN -> [SKIP][505] ([i915#5289])
   [505]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html

  * igt@kms_scaling_modes@scaling-mode-center:
    - shard-tglu-1:       NOTRUN -> [SKIP][506] ([i915#3555]) +1 other test skip
   [506]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_scaling_modes@scaling-mode-center.html
    - shard-dg1:          NOTRUN -> [SKIP][507] ([i915#3555]) +7 other tests skip
   [507]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_scaling_modes@scaling-mode-center.html

  * igt@kms_selftest@drm_framebuffer:
    - shard-dg1:          NOTRUN -> [ABORT][508] ([i915#13179]) +1 other test abort
   [508]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-14/igt@kms_selftest@drm_framebuffer.html
    - shard-snb:          NOTRUN -> [ABORT][509] ([i915#13179]) +1 other test abort
   [509]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-snb4/igt@kms_selftest@drm_framebuffer.html
    - shard-tglu:         NOTRUN -> [ABORT][510] ([i915#13179]) +1 other test abort
   [510]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-6/igt@kms_selftest@drm_framebuffer.html

  * igt@kms_selftest@drm_framebuffer@drm_test_framebuffer_free:
    - shard-dg2:          NOTRUN -> [ABORT][511] ([i915#13179]) +1 other test abort
   [511]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@kms_selftest@drm_framebuffer@drm_test_framebuffer_free.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-mtlp:         NOTRUN -> [SKIP][512] ([i915#3555] / [i915#8809]) +1 other test skip
   [512]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@kms_sharpness_filter@filter-basic:
    - shard-dg2:          NOTRUN -> [SKIP][513] ([i915#15232]) +2 other tests skip
   [513]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@kms_sharpness_filter@filter-basic.html
    - shard-rkl:          NOTRUN -> [SKIP][514] ([i915#15232]) +3 other tests skip
   [514]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_sharpness_filter@filter-basic.html
    - shard-tglu-1:       NOTRUN -> [SKIP][515] ([i915#15232]) +1 other test skip
   [515]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_sharpness_filter@filter-basic.html
    - shard-dg1:          NOTRUN -> [SKIP][516] ([i915#15232]) +2 other tests skip
   [516]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-17/igt@kms_sharpness_filter@filter-basic.html

  * igt@kms_sharpness_filter@filter-suspend:
    - shard-tglu:         NOTRUN -> [SKIP][517] ([i915#15232]) +2 other tests skip
   [517]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-7/igt@kms_sharpness_filter@filter-suspend.html

  * igt@kms_sharpness_filter@invalid-filter-with-scaler:
    - shard-mtlp:         NOTRUN -> [SKIP][518] ([i915#15232]) +4 other tests skip
   [518]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-4/igt@kms_sharpness_filter@invalid-filter-with-scaler.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-dg1:          NOTRUN -> [SKIP][519] ([i915#8623])
   [519]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@kms_tiled_display@basic-test-pattern.html
    - shard-tglu:         NOTRUN -> [SKIP][520] ([i915#8623])
   [520]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-4/igt@kms_tiled_display@basic-test-pattern.html
    - shard-glk:          NOTRUN -> [FAIL][521] ([i915#10959])
   [521]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk6/igt@kms_tiled_display@basic-test-pattern.html
    - shard-mtlp:         NOTRUN -> [SKIP][522] ([i915#8623])
   [522]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-5/igt@kms_tiled_display@basic-test-pattern.html
    - shard-dg2:          NOTRUN -> [SKIP][523] ([i915#8623])
   [523]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@kms_tiled_display@basic-test-pattern.html
    - shard-rkl:          NOTRUN -> [SKIP][524] ([i915#8623])
   [524]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-8/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_vblank@ts-continuation-dpms-suspend:
    - shard-dg2:          NOTRUN -> [ABORT][525] ([i915#15317]) +12 other tests abort
   [525]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@kms_vblank@ts-continuation-dpms-suspend.html

  * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-c-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [INCOMPLETE][526] ([i915#12276])
   [526]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-c-hdmi-a-1.html

  * igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2:
    - shard-glk:          NOTRUN -> [INCOMPLETE][527] ([i915#12276])
   [527]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk1/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html

  * igt@kms_vrr@flip-basic:
    - shard-dg2:          NOTRUN -> [SKIP][528] ([i915#15243] / [i915#3555]) +1 other test skip
   [528]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@kms_vrr@flip-basic.html
    - shard-rkl:          NOTRUN -> [SKIP][529] ([i915#15243] / [i915#3555])
   [529]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@kms_vrr@flip-basic.html
    - shard-mtlp:         NOTRUN -> [SKIP][530] ([i915#3555] / [i915#8808])
   [530]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-6/igt@kms_vrr@flip-basic.html

  * igt@kms_vrr@negative-basic:
    - shard-rkl:          NOTRUN -> [SKIP][531] ([i915#3555] / [i915#9906])
   [531]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_vrr@negative-basic.html
    - shard-tglu:         NOTRUN -> [SKIP][532] ([i915#3555] / [i915#9906])
   [532]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-9/igt@kms_vrr@negative-basic.html

  * igt@kms_vrr@seamless-rr-switch-drrs:
    - shard-rkl:          NOTRUN -> [SKIP][533] ([i915#9906])
   [533]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_vrr@seamless-rr-switch-drrs.html
    - shard-tglu-1:       NOTRUN -> [SKIP][534] ([i915#9906])
   [534]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-1/igt@kms_vrr@seamless-rr-switch-drrs.html
    - shard-dg1:          NOTRUN -> [SKIP][535] ([i915#9906])
   [535]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_vrr@seamless-rr-switch-drrs.html
    - shard-mtlp:         NOTRUN -> [SKIP][536] ([i915#8808] / [i915#9906])
   [536]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@kms_vrr@seamless-rr-switch-drrs.html
    - shard-dg2:          NOTRUN -> [SKIP][537] ([i915#9906])
   [537]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@kms_vrr@seamless-rr-switch-drrs.html

  * igt@kms_writeback@writeback-check-output:
    - shard-mtlp:         NOTRUN -> [SKIP][538] ([i915#2437])
   [538]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-5/igt@kms_writeback@writeback-check-output.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-dg1:          NOTRUN -> [SKIP][539] ([i915#2437])
   [539]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-12/igt@kms_writeback@writeback-invalid-parameters.html
    - shard-tglu:         NOTRUN -> [SKIP][540] ([i915#2437]) +1 other test skip
   [540]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-7/igt@kms_writeback@writeback-invalid-parameters.html
    - shard-dg2:          NOTRUN -> [SKIP][541] ([i915#2437])
   [541]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_writeback@writeback-invalid-parameters.html
    - shard-rkl:          NOTRUN -> [SKIP][542] ([i915#2437])
   [542]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-glk:          NOTRUN -> [SKIP][543] ([i915#2437]) +1 other test skip
   [543]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk1/igt@kms_writeback@writeback-pixel-formats.html

  * igt@perf@gen8-unprivileged-single-ctx-counters:
    - shard-dg2:          NOTRUN -> [SKIP][544] ([i915#2436])
   [544]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@perf@gen8-unprivileged-single-ctx-counters.html

  * igt@perf@global-sseu-config-invalid:
    - shard-dg2:          NOTRUN -> [SKIP][545] ([i915#7387])
   [545]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@perf@global-sseu-config-invalid.html

  * igt@perf@mi-rpc:
    - shard-dg2:          NOTRUN -> [SKIP][546] ([i915#2434])
   [546]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@perf@mi-rpc.html

  * igt@perf@per-context-mode-unprivileged:
    - shard-rkl:          NOTRUN -> [SKIP][547] ([i915#2435])
   [547]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-8/igt@perf@per-context-mode-unprivileged.html
    - shard-dg1:          NOTRUN -> [SKIP][548] ([i915#2433])
   [548]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@perf@per-context-mode-unprivileged.html

  * igt@perf_pmu@busy-double-start:
    - shard-mtlp:         NOTRUN -> [FAIL][549] ([i915#4349]) +2 other tests fail
   [549]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-4/igt@perf_pmu@busy-double-start.html

  * igt@perf_pmu@frequency@gt0:
    - shard-dg2:          NOTRUN -> [FAIL][550] ([i915#12549] / [i915#6806]) +1 other test fail
   [550]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@perf_pmu@frequency@gt0.html
    - shard-dg1:          NOTRUN -> [FAIL][551] ([i915#12549] / [i915#6806]) +1 other test fail
   [551]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-17/igt@perf_pmu@frequency@gt0.html

  * igt@perf_pmu@rc6-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][552] ([i915#13356] / [i915#14242])
   [552]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-glk5/igt@perf_pmu@rc6-suspend.html

  * igt@prime_vgem@basic-write:
    - shard-rkl:          NOTRUN -> [SKIP][553] ([i915#3291] / [i915#3708])
   [553]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@prime_vgem@basic-write.html

  * igt@prime_vgem@fence-flip-hang:
    - shard-dg1:          NOTRUN -> [SKIP][554] ([i915#3708])
   [554]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-13/igt@prime_vgem@fence-flip-hang.html
    - shard-mtlp:         NOTRUN -> [SKIP][555] ([i915#3708])
   [555]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@prime_vgem@fence-flip-hang.html
    - shard-dg2:          NOTRUN -> [SKIP][556] ([i915#3708]) +1 other test skip
   [556]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-8/igt@prime_vgem@fence-flip-hang.html

  * igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-6:
    - shard-mtlp:         NOTRUN -> [FAIL][557] ([i915#12910]) +9 other tests fail
   [557]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-8/igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-6.html

  * igt@tools_test@sysfs_l3_parity:
    - shard-rkl:          NOTRUN -> [SKIP][558] ([i915#14544]) +6 other tests skip
   [558]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@tools_test@sysfs_l3_parity.html
    - shard-dg1:          NOTRUN -> [SKIP][559] ([i915#4818])
   [559]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@tools_test@sysfs_l3_parity.html
    - shard-dg2:          NOTRUN -> [SKIP][560] ([i915#4818])
   [560]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@tools_test@sysfs_l3_parity.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s3@smem:
    - shard-dg2:          [ABORT][561] ([i915#15317]) -> [PASS][562]
   [561]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-4/igt@gem_exec_suspend@basic-s3@smem.html
   [562]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-1/igt@gem_exec_suspend@basic-s3@smem.html

  * igt@gem_exec_suspend@basic-s4-devices@lmem0:
    - shard-dg1:          [ABORT][563] ([i915#15317] / [i915#7975]) -> [PASS][564]
   [563]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg1-15/igt@gem_exec_suspend@basic-s4-devices@lmem0.html
   [564]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg1-19/igt@gem_exec_suspend@basic-s4-devices@lmem0.html

  * igt@gem_exec_suspend@basic-s4-devices@smem:
    - shard-dg2:          [ABORT][565] ([i915#15317] / [i915#7975]) -> [PASS][566]
   [565]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-5/igt@gem_exec_suspend@basic-s4-devices@smem.html
   [566]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@gem_exec_suspend@basic-s4-devices@smem.html

  * igt@i915_pm_rps@waitboost:
    - shard-mtlp:         [FAIL][567] ([i915#8346]) -> [PASS][568]
   [567]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-mtlp-4/igt@i915_pm_rps@waitboost.html
   [568]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-3/igt@i915_pm_rps@waitboost.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-0:
    - shard-mtlp:         [FAIL][569] ([i915#5138]) -> [PASS][570]
   [569]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-mtlp-8/igt@kms_big_fb@x-tiled-16bpp-rotate-0.html
   [570]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-2/igt@kms_big_fb@x-tiled-16bpp-rotate-0.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-1:
    - shard-tglu:         [ABORT][571] ([i915#15317]) -> [PASS][572]
   [571]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-tglu-8/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-1.html
   [572]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-6/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-1.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-mtlp:         [ABORT][573] ([i915#15317]) -> [PASS][574] +1 other test pass
   [573]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-mtlp-8/igt@kms_fbcon_fbt@fbc-suspend.html
   [574]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-8/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-rkl:          [SKIP][575] ([i915#15073]) -> [PASS][576]
   [575]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-8/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
   [576]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_pm_rpm@system-suspend-modeset:
    - shard-tglu:         [ABORT][577] ([i915#10553] / [i915#15317]) -> [PASS][578]
   [577]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-tglu-5/igt@kms_pm_rpm@system-suspend-modeset.html
   [578]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-tglu-7/igt@kms_pm_rpm@system-suspend-modeset.html
    - shard-mtlp:         [ABORT][579] ([i915#10553] / [i915#15317]) -> [PASS][580]
   [579]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-mtlp-7/igt@kms_pm_rpm@system-suspend-modeset.html
   [580]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-mtlp-5/igt@kms_pm_rpm@system-suspend-modeset.html

  * igt@perf_pmu@busy-double-start@vcs1:
    - shard-dg2:          [FAIL][581] ([i915#4349]) -> [PASS][582] +1 other test pass
   [581]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-11/igt@perf_pmu@busy-double-start@vcs1.html
   [582]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-6/igt@perf_pmu@busy-double-start@vcs1.html

  
#### Warnings ####

  * igt@gem_exec_balancer@bonded-false-hang:
    - shard-dg2:          [SKIP][583] ([i915#4812]) -> [SKIP][584] ([i915#2575])
   [583]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-6/igt@gem_exec_balancer@bonded-false-hang.html
   [584]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@gem_exec_balancer@bonded-false-hang.html

  * igt@gem_exec_reloc@basic-gtt-read-active:
    - shard-rkl:          [SKIP][585] ([i915#14544] / [i915#3281]) -> [SKIP][586] ([i915#3281]) +1 other test skip
   [585]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-read-active.html
   [586]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@gem_exec_reloc@basic-gtt-read-active.html

  * igt@gem_exec_reloc@basic-wc-read-noreloc:
    - shard-rkl:          [SKIP][587] ([i915#3281]) -> [SKIP][588] ([i915#14544] / [i915#3281]) +1 other test skip
   [587]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-5/igt@gem_exec_reloc@basic-wc-read-noreloc.html
   [588]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@gem_exec_reloc@basic-wc-read-noreloc.html

  * igt@gem_partial_pwrite_pread@writes-after-reads:
    - shard-rkl:          [SKIP][589] ([i915#14544] / [i915#3282]) -> [SKIP][590] ([i915#3282]) +1 other test skip
   [589]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@gem_partial_pwrite_pread@writes-after-reads.html
   [590]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@gem_partial_pwrite_pread@writes-after-reads.html

  * igt@gem_partial_pwrite_pread@writes-after-reads-snoop:
    - shard-rkl:          [SKIP][591] ([i915#3282]) -> [SKIP][592] ([i915#14544] / [i915#3282])
   [591]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-8/igt@gem_partial_pwrite_pread@writes-after-reads-snoop.html
   [592]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@gem_partial_pwrite_pread@writes-after-reads-snoop.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-dg2:          [SKIP][593] ([i915#3282]) -> [SKIP][594] ([i915#2575])
   [593]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-4/igt@gem_pwrite@basic-exhaustion.html
   [594]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled:
    - shard-dg2:          [SKIP][595] ([i915#5190] / [i915#8428]) -> [SKIP][596] ([i915#2575] / [i915#5190])
   [595]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-7/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled.html
   [596]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled.html

  * igt@gem_userptr_blits@unsync-unmap:
    - shard-rkl:          [SKIP][597] ([i915#14544] / [i915#3297]) -> [SKIP][598] ([i915#3297])
   [597]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@gem_userptr_blits@unsync-unmap.html
   [598]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@gem_userptr_blits@unsync-unmap.html

  * igt@gen9_exec_parse@batch-invalid-length:
    - shard-rkl:          [SKIP][599] ([i915#2527]) -> [SKIP][600] ([i915#14544] / [i915#2527]) +1 other test skip
   [599]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-2/igt@gen9_exec_parse@batch-invalid-length.html
   [600]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@gen9_exec_parse@batch-invalid-length.html

  * igt@i915_query@query-topology-coherent-slice-mask:
    - shard-dg2:          [SKIP][601] ([i915#6188]) -> [SKIP][602] ([i915#2575])
   [601]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-7/igt@i915_query@query-topology-coherent-slice-mask.html
   [602]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@i915_query@query-topology-coherent-slice-mask.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-180:
    - shard-rkl:          [SKIP][603] ([i915#14544] / [i915#5286]) -> [SKIP][604] ([i915#5286]) +1 other test skip
   [603]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_big_fb@4-tiled-16bpp-rotate-180.html
   [604]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_big_fb@4-tiled-16bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - shard-dg2:          [SKIP][605] ([i915#4538] / [i915#5190]) -> [SKIP][606] ([i915#5190])
   [605]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-1/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
   [606]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * igt@kms_ccs@bad-pixel-format-y-tiled-ccs:
    - shard-rkl:          [SKIP][607] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][608] ([i915#14098] / [i915#6095]) +4 other tests skip
   [607]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_ccs@bad-pixel-format-y-tiled-ccs.html
   [608]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_ccs@bad-pixel-format-y-tiled-ccs.html

  * igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs:
    - shard-dg2:          [SKIP][609] ([i915#10307] / [i915#6095]) -> [SKIP][610]
   [609]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-11/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs.html
   [610]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs:
    - shard-rkl:          [SKIP][611] ([i915#12313] / [i915#14544]) -> [SKIP][612] ([i915#12313])
   [611]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html
   [612]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-7/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-rkl:          [SKIP][613] ([i915#12805] / [i915#14544]) -> [SKIP][614] ([i915#12805])
   [613]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [614]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc:
    - shard-dg2:          [SKIP][615] ([i915#6095]) -> [SKIP][616]
   [615]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-4/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
   [616]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_ccs@random-ccs-data-y-tiled-ccs:
    - shard-rkl:          [SKIP][617] ([i915#14098] / [i915#6095]) -> [SKIP][618] ([i915#14098] / [i915#14544] / [i915#6095])
   [617]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-8/igt@kms_ccs@random-ccs-data-y-tiled-ccs.html
   [618]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_ccs@random-ccs-data-y-tiled-ccs.html

  * igt@kms_ccs@random-ccs-data-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          [SKIP][619] ([i915#14544] / [i915#6095]) -> [SKIP][620] ([i915#6095]) +3 other tests skip
   [619]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_ccs@random-ccs-data-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2.html
   [620]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_ccs@random-ccs-data-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-rkl:          [SKIP][621] ([i915#3116]) -> [SKIP][622] ([i915#14544] / [i915#3116])
   [621]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-4/igt@kms_content_protection@dp-mst-lic-type-1.html
   [622]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@legacy:
    - shard-dg2:          [FAIL][623] ([i915#7173]) -> [SKIP][624] ([i915#7118] / [i915#9424])
   [623]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-11/igt@kms_content_protection@legacy.html
   [624]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-3/igt@kms_content_protection@legacy.html

  * igt@kms_cursor_crc@cursor-random-512x512:
    - shard-rkl:          [SKIP][625] ([i915#13049]) -> [SKIP][626] ([i915#13049] / [i915#14544]) +1 other test skip
   [625]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-5/igt@kms_cursor_crc@cursor-random-512x512.html
   [626]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_cursor_crc@cursor-random-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x10:
    - shard-rkl:          [SKIP][627] ([i915#14544] / [i915#3555]) -> [SKIP][628] ([i915#3555])
   [627]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
   [628]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html

  * igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-2:
    - shard-rkl:          [INCOMPLETE][629] ([i915#12358] / [i915#14152]) -> [ABORT][630] ([i915#15317]) +1 other test abort
   [629]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-3/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-2.html
   [630]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-2.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
    - shard-rkl:          [SKIP][631] -> [SKIP][632] ([i915#14544]) +5 other tests skip
   [631]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-3/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
   [632]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - shard-rkl:          [SKIP][633] ([i915#14544] / [i915#4103]) -> [SKIP][634] ([i915#4103])
   [633]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
   [634]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_dp_link_training@uhbr-sst:
    - shard-rkl:          [SKIP][635] ([i915#13748] / [i915#14544]) -> [SKIP][636] ([i915#13748])
   [635]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_dp_link_training@uhbr-sst.html
   [636]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_dp_link_training@uhbr-sst.html

  * igt@kms_dsc@dsc-with-output-formats:
    - shard-rkl:          [SKIP][637] ([i915#3555] / [i915#3840]) -> [SKIP][638] ([i915#14544] / [i915#3555] / [i915#3840])
   [637]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-7/igt@kms_dsc@dsc-with-output-formats.html
   [638]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_dsc@dsc-with-output-formats.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-rkl:          [SKIP][639] ([i915#14544] / [i915#3955]) -> [SKIP][640] ([i915#3955])
   [639]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_fbcon_fbt@psr-suspend.html
   [640]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_feature_discovery@display-4x:
    - shard-rkl:          [SKIP][641] ([i915#14544] / [i915#1839]) -> [SKIP][642] ([i915#1839])
   [641]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_feature_discovery@display-4x.html
   [642]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_feature_discovery@display-4x.html

  * igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible:
    - shard-rkl:          [SKIP][643] ([i915#9934]) -> [SKIP][644] ([i915#14544] / [i915#9934])
   [643]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-3/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html
   [644]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html

  * igt@kms_flip@2x-flip-vs-panning-interruptible:
    - shard-rkl:          [SKIP][645] ([i915#14544] / [i915#9934]) -> [SKIP][646] ([i915#9934])
   [645]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_flip@2x-flip-vs-panning-interruptible.html
   [646]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_flip@2x-flip-vs-panning-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
    - shard-rkl:          [SKIP][647] ([i915#14544] / [i915#2672] / [i915#3555]) -> [SKIP][648] ([i915#2672] / [i915#3555])
   [647]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html
   [648]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode:
    - shard-rkl:          [SKIP][649] ([i915#14544] / [i915#2672]) -> [SKIP][650] ([i915#2672])
   [649]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode.html
   [650]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
    - shard-rkl:          [SKIP][651] ([i915#2672] / [i915#3555]) -> [SKIP][652] ([i915#14544] / [i915#2672] / [i915#3555])
   [651]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-5/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html
   [652]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode:
    - shard-rkl:          [SKIP][653] ([i915#2672]) -> [SKIP][654] ([i915#14544] / [i915#2672])
   [653]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-5/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode.html
   [654]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render:
    - shard-rkl:          [SKIP][655] ([i915#14544] / [i915#15102]) -> [SKIP][656] ([i915#15102])
   [655]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render.html
   [656]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-dg2:          [SKIP][657] ([i915#15102] / [i915#3458]) -> [SKIP][658] +2 other tests skip
   [657]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
   [658]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt:
    - shard-rkl:          [SKIP][659] ([i915#15102] / [i915#3023]) -> [SKIP][660] ([i915#14544] / [i915#15102] / [i915#3023]) +3 other tests skip
   [659]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt.html
   [660]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt:
    - shard-dg2:          [SKIP][661] ([i915#10433] / [i915#15102] / [i915#3458]) -> [SKIP][662] ([i915#15102] / [i915#3458])
   [661]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html
   [662]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-mmap-wc:
    - shard-dg2:          [SKIP][663] ([i915#8708]) -> [SKIP][664] +2 other tests skip
   [663]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-11/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-mmap-wc.html
   [664]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
    - shard-rkl:          [SKIP][665] ([i915#1825]) -> [SKIP][666] ([i915#14544] / [i915#1825]) +2 other tests skip
   [665]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html
   [666]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
    - shard-rkl:          [SKIP][667] ([i915#14544] / [i915#1825]) -> [SKIP][668] ([i915#1825]) +4 other tests skip
   [667]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
   [668]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-dg2:          [SKIP][669] ([i915#15102] / [i915#3458]) -> [SKIP][670] ([i915#10433] / [i915#15102] / [i915#3458])
   [669]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
   [670]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt:
    - shard-rkl:          [SKIP][671] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][672] ([i915#15102] / [i915#3023]) +2 other tests skip
   [671]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html
   [672]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-msflip-blt:
    - shard-dg2:          [SKIP][673] ([i915#5354]) -> [SKIP][674] +2 other tests skip
   [673]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-msflip-blt.html
   [674]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-msflip-blt.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-dg2:          [SKIP][675] ([i915#9685]) -> [SKIP][676]
   [675]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-11/igt@kms_pm_dc@dc3co-vpb-simulation.html
   [676]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_pm_dc@dc3co-vpb-simulation.html
    - shard-rkl:          [SKIP][677] ([i915#14544] / [i915#9685]) -> [SKIP][678] ([i915#9685])
   [677]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_pm_dc@dc3co-vpb-simulation.html
   [678]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-rkl:          [SKIP][679] ([i915#11520]) -> [SKIP][680] ([i915#11520] / [i915#14544]) +2 other tests skip
   [679]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-7/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf.html
   [680]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf:
    - shard-rkl:          [SKIP][681] ([i915#11520] / [i915#14544]) -> [SKIP][682] ([i915#11520]) +1 other test skip
   [681]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html
   [682]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-4/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html

  * igt@kms_psr@fbc-pr-cursor-mmap-gtt:
    - shard-dg2:          [SKIP][683] ([i915#1072] / [i915#9732]) -> [SKIP][684] +2 other tests skip
   [683]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-dg2-4/igt@kms_psr@fbc-pr-cursor-mmap-gtt.html
   [684]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-dg2-11/igt@kms_psr@fbc-pr-cursor-mmap-gtt.html

  * igt@kms_psr@fbc-psr-basic:
    - shard-rkl:          [SKIP][685] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][686] ([i915#1072] / [i915#9732]) +4 other tests skip
   [685]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@kms_psr@fbc-psr-basic.html
   [686]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@kms_psr@fbc-psr-basic.html

  * igt@kms_psr@psr2-dpms:
    - shard-rkl:          [SKIP][687] ([i915#1072] / [i915#9732]) -> [SKIP][688] ([i915#1072] / [i915#14544] / [i915#9732])
   [687]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-4/igt@kms_psr@psr2-dpms.html
   [688]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_psr@psr2-dpms.html

  * igt@kms_sharpness_filter@filter-toggle:
    - shard-rkl:          [SKIP][689] ([i915#15232]) -> [SKIP][690] ([i915#14544] / [i915#15232])
   [689]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-7/igt@kms_sharpness_filter@filter-toggle.html
   [690]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_sharpness_filter@filter-toggle.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-rkl:          [SKIP][691] ([i915#2437]) -> [SKIP][692] ([i915#14544] / [i915#2437])
   [691]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-3/igt@kms_writeback@writeback-fb-id.html
   [692]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@kms_writeback@writeback-fb-id.html

  * igt@perf@gen8-unprivileged-single-ctx-counters:
    - shard-rkl:          [SKIP][693] ([i915#2436]) -> [SKIP][694] ([i915#14544] / [i915#2436])
   [693]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-5/igt@perf@gen8-unprivileged-single-ctx-counters.html
   [694]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@perf@gen8-unprivileged-single-ctx-counters.html

  * igt@prime_vgem@fence-read-hang:
    - shard-rkl:          [SKIP][695] ([i915#3708]) -> [SKIP][696] ([i915#14544] / [i915#3708])
   [695]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-2/igt@prime_vgem@fence-read-hang.html
   [696]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-6/igt@prime_vgem@fence-read-hang.html

  * igt@sriov_basic@bind-unbind-vf:
    - shard-rkl:          [SKIP][697] ([i915#14544] / [i915#9917]) -> [SKIP][698] ([i915#9917])
   [697]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8637/shard-rkl-6/igt@sriov_basic@bind-unbind-vf.html
   [698]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/shard-rkl-2/igt@sriov_basic@bind-unbind-vf.html

  
  [i915#10055]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10055
  [i915#10226]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10226
  [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
  [i915#10333]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10333
  [i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
  [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
  [i915#10553]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10553
  [i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#10959]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10959
  [i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
  [i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
  [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
  [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
  [i915#11527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11527
  [i915#11614]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11614
  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
  [i915#11713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11713
  [i915#11814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11814
  [i915#11815]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11815
  [i915#12193]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12193
  [i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247
  [i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
  [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
  [i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
  [i915#12358]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12358
  [i915#12394]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12394
  [i915#12454]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12454
  [i915#12549]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12549
  [i915#12712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12712
  [i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
  [i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
  [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
  [i915#12910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12910
  [i915#13008]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13008
  [i915#13026]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13026
  [i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
  [i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
  [i915#13179]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13179
  [i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
  [i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398
  [i915#13441]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13441
  [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
  [i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
  [i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
  [i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
  [i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
  [i915#13781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13781
  [i915#13783]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13783
  [i915#13786]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13786
  [i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790
  [i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
  [i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
  [i915#14118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14118
  [i915#14123]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14123
  [i915#14152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14152
  [i915#14242]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14242
  [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
  [i915#14545]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14545
  [i915#14702]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14702
  [i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712
  [i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
  [i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
  [i915#15104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15104
  [i915#15172]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15172
  [i915#15232]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15232
  [i915#15238]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15238
  [i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
  [i915#15313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15313
  [i915#15317]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15317
  [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
  [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
  [i915#2433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2433
  [i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
  [i915#2435]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2435
  [i915#2436]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2436
  [i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575
  [i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681
  [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
  [i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
  [i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
  [i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
  [i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
  [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3582
  [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3711]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3711
  [i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
  [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
  [i915#3955]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3955
  [i915#4036]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4036
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
  [i915#4235]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4235
  [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
  [i915#4348]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4348
  [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
  [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
  [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
  [i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537
  [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4565
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
  [i915#4818]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4818
  [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
  [i915#4873]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4873
  [i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880
  [i915#4884]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4884
  [i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
  [i915#5107]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5107
  [i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
  [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
  [i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
  [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
  [i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
  [i915#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [i915#6187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6187
  [i915#6188]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6188
  [i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230
  [i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
  [i915#6344]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6344
  [i915#6412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6412
  [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
  [i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
  [i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805
  [i915#6806]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6806
  [i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
  [i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
  [i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
  [i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
  [i915#7276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7276
  [i915#7387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7387
  [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
  [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
  [i915#7975]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7975
  [i915#8063]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8063
  [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
  [i915#8346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8346
  [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
  [i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
  [i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
  [i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
  [i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#8808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8808
  [i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809
  [i915#8810]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8810
  [i915#8812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8812
  [i915#8813]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8813
  [i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
  [i915#8821]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8821
  [i915#9053]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9053
  [i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
  [i915#9292]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9292
  [i915#9295]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9295
  [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
  [i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
  [i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
  [i915#9433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9433
  [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
  [i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
  [i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
  [i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
  [i915#9808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9808
  [i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
  [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
  [i915#9833]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9833
  [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
  [i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
  [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_8637 -> IGTPW_14107

  CI-20190529: 20190529
  CI_DRM_17580: c701e79730169fab373fba7e759497d755fac592 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_14107: 14107
  IGT_8637: 730ee3dfb26f8d7891fc240b0132a08c5bc7b949 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14107/index.html

[-- Attachment #2: Type: text/html, Size: 226736 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 1/7] igt: Make igt_fixture look like an iterator
  2025-11-20 19:14 ` [PATCH i-g-t 1/7] igt: Make igt_fixture look like an iterator Ville Syrjala
@ 2025-12-03 17:26   ` Kamil Konieczny
  0 siblings, 0 replies; 29+ messages in thread
From: Kamil Konieczny @ 2025-12-03 17:26 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: igt-dev

Hi Ville,
On 2025-11-20 at 21:14:09 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Turn igt_fixture into igt_fixture(). This allows coccinelle
> to parse it when given a helping hand with the
> 'iterator name igt_fixture' directive.
> 
> Conversion done via:
> $ find -type f -name \*.[ch] -exec sed -i 's/\([^_]\)igt_fixture/\1igt_fixture()/g' {} +
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

I could ack this series but before merging please add at least one,
non-trivial patch which makes actual change with cocci.

Regards,
Kamil

[cut]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 0/7] igt: Help out coccinelle
  2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
                   ` (15 preceding siblings ...)
  2025-11-25 17:53 ` ✗ i915.CI.Full: failure for igt: Help out coccinelle (rev2) Patchwork
@ 2025-12-03 17:38 ` Kamil Konieczny
  16 siblings, 0 replies; 29+ messages in thread
From: Kamil Konieczny @ 2025-12-03 17:38 UTC (permalink / raw)
  To: Ville Syrjala
  Cc: igt-dev, Swati Sharma, jani.nikula, Karthik B S, Andrzej Hajda

Hi Ville,
On 2025-11-20 at 21:14:08 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Coccinelle has trouble parsing a lot of the magic macros
> used throughout igt. Convert some of the macros to a form
> coccinelle understands, and provide a pre-made iterators.cocci
> script that people can include in their own scripts to help
> coccinelle with the iterator macros.
> 
> Ville Syrjälä (7):
>   igt: Make igt_fixture look like an iterator
>   igt: Make igt_subtest_group look like an iterator
>   igt: Make igt_main look more like a function
>   igt: Make igt_simple_main look more like a function
>   igt: Make igt_main*() look like normal function definition
>   igt: Make igt_simple_main*() look like normal function definition
>   scripts/cocci: Add iterators.cocci

I just now see your change in tests/kms_color.c in
https://patchwork.freedesktop.org/patch/689933/?series=157930&rev=1

so yes, it looks usefull so for this series
Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

+cc Swati, Jani, Karthik, Andrzej

Regards,
Kamil 

> 
>  benchmarks/gem_userptr_benchmark.c            |   6 +-
>  benchmarks/kms_fb_stress.c                    |   2 +-
>  lib/igt_aux.c                                 |   6 +-
>  lib/igt_core.c                                |  42 ++--
>  lib/igt_core.h                                |  42 ++--
>  lib/igt_dir.c                                 |   8 +-
>  lib/igt_gt.c                                  |   2 +-
>  lib/igt_kmod.c                                |  12 +-
>  lib/igt_types.h                               |   2 +-
>  lib/intel_batchbuffer.c                       |   2 +-
>  lib/tests/bad_subtest_type.c                  |   2 +-
>  lib/tests/i915_perf_data_alignment.c          |   2 +-
>  lib/tests/igt_abort.c                         |   2 +-
>  lib/tests/igt_assert.c                        |   2 +-
>  lib/tests/igt_audio.c                         |   8 +-
>  lib/tests/igt_can_fail.c                      |   4 +-
>  lib/tests/igt_can_fail_simple.c               |   2 +-
>  lib/tests/igt_describe.c                      |   8 +-
>  lib/tests/igt_edid.c                          |   2 +-
>  lib/tests/igt_exit_handler.c                  |   2 +-
>  lib/tests/igt_facts.c                         |   2 +-
>  lib/tests/igt_hook.c                          |   6 +-
>  lib/tests/igt_ktap_parser.c                   |   2 +-
>  lib/tests/igt_nesting.c                       |  16 +-
>  lib/tests/igt_runnercomms_packets.c           |   2 +-
>  lib/tests/igt_simple_test_subtests.c          |   2 +-
>  lib/tests/igt_simulation.c                    |   2 +-
>  lib/tests/igt_stats.c                         |   2 +-
>  lib/tests/igt_subtest_group.c                 |  18 +-
>  lib/tests/igt_timeout.c                       |   2 +-
>  lib/tests/igt_types.c                         |  22 +--
>  runner/resultgen.c                            |   2 +-
>  runner/runner_json_tests.c                    |   2 +-
>  runner/runner_kmemleak_test.c                 |  10 +-
>  runner/runner_tests.c                         | 184 +++++++++---------
>  runner/testdata/abort-dynamic.c               |   2 +-
>  runner/testdata/abort-fixture.c               |   4 +-
>  runner/testdata/abort-simple.c                |   2 +-
>  runner/testdata/abort.c                       |   2 +-
>  runner/testdata/dynamic.c                     |   2 +-
>  runner/testdata/no-subtests.c                 |   2 +-
>  runner/testdata/skippers.c                    |   4 +-
>  runner/testdata/successtest.c                 |   2 +-
>  scripts/iterators.cocci                       |  53 +++++
>  tests/amdgpu/amd_abm.c                        |   6 +-
>  tests/amdgpu/amd_assr.c                       |   6 +-
>  tests/amdgpu/amd_basic.c                      |   6 +-
>  tests/amdgpu/amd_basic_ex.c                   |   6 +-
>  tests/amdgpu/amd_basic_multi_gpu.c            |   6 +-
>  tests/amdgpu/amd_bo.c                         |   6 +-
>  tests/amdgpu/amd_bypass.c                     |   6 +-
>  tests/amdgpu/amd_color.c                      |   6 +-
>  tests/amdgpu/amd_cp_dma_misc.c                |   6 +-
>  tests/amdgpu/amd_cs_nop.c                     |   6 +-
>  tests/amdgpu/amd_deadlock.c                   |   6 +-
>  tests/amdgpu/amd_dispatch.c                   |   6 +-
>  tests/amdgpu/amd_dp_dsc.c                     |   6 +-
>  tests/amdgpu/amd_freesync_video_mode.c        |   6 +-
>  tests/amdgpu/amd_fuzzing.c                    |   6 +-
>  tests/amdgpu/amd_gang_cs.c                    |   6 +-
>  tests/amdgpu/amd_hotplug.c                    |   6 +-
>  tests/amdgpu/amd_ilr.c                        |   6 +-
>  tests/amdgpu/amd_info.c                       |   6 +-
>  tests/amdgpu/amd_jpeg_dec.c                   |   6 +-
>  tests/amdgpu/amd_jpeg_queue.c                 |   6 +-
>  tests/amdgpu/amd_link_settings.c              |   6 +-
>  tests/amdgpu/amd_mall.c                       |   6 +-
>  tests/amdgpu/amd_max_bpc.c                    |   6 +-
>  tests/amdgpu/amd_mem_leak.c                   |   6 +-
>  tests/amdgpu/amd_mode_switch.c                |   6 +-
>  tests/amdgpu/amd_module_load.c                |   4 +-
>  tests/amdgpu/amd_multidisplay_modeset.c       |   6 +-
>  tests/amdgpu/amd_odm.c                        |   6 +-
>  tests/amdgpu/amd_pci_unplug.c                 |   6 +-
>  tests/amdgpu/amd_plane.c                      |   6 +-
>  tests/amdgpu/amd_prime.c                      |   6 +-
>  tests/amdgpu/amd_psr.c                        |   6 +-
>  tests/amdgpu/amd_pstate.c                     |   6 +-
>  tests/amdgpu/amd_queue_reset.c                |   6 +-
>  tests/amdgpu/amd_ras.c                        |   6 +-
>  tests/amdgpu/amd_replay.c                     |   6 +-
>  tests/amdgpu/amd_security.c                   |   6 +-
>  tests/amdgpu/amd_subvp.c                      |   6 +-
>  tests/amdgpu/amd_syncobj.c                    |   6 +-
>  tests/amdgpu/amd_uvd_dec.c                    |   6 +-
>  tests/amdgpu/amd_uvd_enc.c                    |   6 +-
>  tests/amdgpu/amd_vce_enc.c                    |   6 +-
>  tests/amdgpu/amd_vcn.c                        |   6 +-
>  tests/amdgpu/amd_vcn_queue.c                  |   6 +-
>  tests/amdgpu/amd_vm.c                         |   6 +-
>  tests/amdgpu/amd_vpe.c                        |   6 +-
>  tests/amdgpu/amd_vrr_range.c                  |   6 +-
>  tests/chamelium/kms_chamelium_audio.c         |  14 +-
>  tests/chamelium/kms_chamelium_color.c         |   8 +-
>  tests/chamelium/kms_chamelium_edid.c          |  18 +-
>  tests/chamelium/kms_chamelium_frames.c        |  18 +-
>  tests/chamelium/kms_chamelium_hpd.c           |  22 +--
>  .../kms_chamelium_sharpness_filter.c          |   6 +-
>  tests/core_auth.c                             |   6 +-
>  tests/core_debugfs.c                          |   6 +-
>  tests/core_getclient.c                        |   6 +-
>  tests/core_getstats.c                         |   6 +-
>  tests/core_getversion.c                       |   6 +-
>  tests/core_hotunplug.c                        |  52 ++---
>  tests/core_setmaster.c                        |  10 +-
>  tests/core_setmaster_vs_auth.c                |   2 +-
>  tests/core_sysfs.c                            |   6 +-
>  tests/device_reset.c                          |   8 +-
>  tests/dmabuf.c                                |   2 +-
>  tests/dmabuf_sync_file.c                      |   6 +-
>  tests/drm_buddy.c                             |   2 +-
>  tests/drm_mm.c                                |   2 +-
>  tests/drm_read.c                              |   4 +-
>  tests/drm_virtgpu.c                           |   6 +-
>  tests/dumb_buffer.c                           |   6 +-
>  tests/fbdev.c                                 |  18 +-
>  tests/intel/api_intel_allocator.c             |   6 +-
>  tests/intel/api_intel_bb.c                    |   6 +-
>  tests/intel/gem_bad_reloc.c                   |   6 +-
>  tests/intel/gem_barrier_race.c                |   6 +-
>  tests/intel/gem_basic.c                       |   4 +-
>  tests/intel/gem_blits.c                       |   6 +-
>  tests/intel/gem_busy.c                        |  36 ++--
>  tests/intel/gem_caching.c                     |   6 +-
>  tests/intel/gem_ccs.c                         |   6 +-
>  tests/intel/gem_close.c                       |   4 +-
>  tests/intel/gem_close_race.c                  |   6 +-
>  tests/intel/gem_compute.c                     |   6 +-
>  tests/intel/gem_concurrent_all.c              |  52 ++---
>  tests/intel/gem_create.c                      |  10 +-
>  tests/intel/gem_cs_tlb.c                      |   6 +-
>  tests/intel/gem_ctx_bad_destroy.c             |   6 +-
>  tests/intel/gem_ctx_create.c                  |   6 +-
>  tests/intel/gem_ctx_engines.c                 |   6 +-
>  tests/intel/gem_ctx_exec.c                    |  12 +-
>  tests/intel/gem_ctx_freq.c                    |   6 +-
>  tests/intel/gem_ctx_isolation.c               |   8 +-
>  tests/intel/gem_ctx_param.c                   |  10 +-
>  tests/intel/gem_ctx_persistence.c             |  20 +-
>  tests/intel/gem_ctx_shared.c                  |  20 +-
>  tests/intel/gem_ctx_sseu.c                    |  10 +-
>  tests/intel/gem_ctx_switch.c                  |  18 +-
>  tests/intel/gem_eio.c                         |  18 +-
>  tests/intel/gem_evict_alignment.c             |   8 +-
>  tests/intel/gem_evict_everything.c            |  10 +-
>  tests/intel/gem_exec_alignment.c              |   4 +-
>  tests/intel/gem_exec_async.c                  |  12 +-
>  tests/intel/gem_exec_await.c                  |   6 +-
>  tests/intel/gem_exec_balancer.c               |  28 +--
>  tests/intel/gem_exec_basic.c                  |   6 +-
>  tests/intel/gem_exec_big.c                    |   6 +-
>  tests/intel/gem_exec_capture.c                |   6 +-
>  tests/intel/gem_exec_create.c                 |   6 +-
>  tests/intel/gem_exec_endless.c                |  10 +-
>  tests/intel/gem_exec_fair.c                   |   6 +-
>  tests/intel/gem_exec_fence.c                  |  50 ++---
>  tests/intel/gem_exec_flush.c                  |  10 +-
>  tests/intel/gem_exec_gttfill.c                |   8 +-
>  tests/intel/gem_exec_latency.c                |  14 +-
>  tests/intel/gem_exec_lut_handle.c             |   2 +-
>  tests/intel/gem_exec_nop.c                    |  14 +-
>  tests/intel/gem_exec_parallel.c               |   6 +-
>  tests/intel/gem_exec_params.c                 |   6 +-
>  tests/intel/gem_exec_reloc.c                  |  18 +-
>  tests/intel/gem_exec_schedule.c               |  46 ++---
>  tests/intel/gem_exec_store.c                  |   6 +-
>  tests/intel/gem_exec_suspend.c                |   8 +-
>  tests/intel/gem_exec_whisper.c                |  10 +-
>  tests/intel/gem_exercise_blt.c                |   6 +-
>  tests/intel/gem_fd_exhaustion.c               |   2 +-
>  tests/intel/gem_fence_thrash.c                |   2 +-
>  tests/intel/gem_fence_upload.c                |   2 +-
>  tests/intel/gem_fenced_exec_thrash.c          |   6 +-
>  tests/intel/gem_flink_basic.c                 |   4 +-
>  tests/intel/gem_flink_race.c                  |   2 +-
>  tests/intel/gem_gpgpu_fill.c                  |   6 +-
>  tests/intel/gem_gtt_cpu_tlb.c                 |   2 +-
>  tests/intel/gem_gtt_hog.c                     |   2 +-
>  tests/intel/gem_gtt_speed.c                   |   2 +-
>  tests/intel/gem_huc_copy.c                    |   6 +-
>  tests/intel/gem_linear_blits.c                |  10 +-
>  tests/intel/gem_lmem_evict.c                  |   6 +-
>  tests/intel/gem_lmem_swapping.c               |   6 +-
>  tests/intel/gem_lut_handle.c                  |   2 +-
>  tests/intel/gem_madvise.c                     |   2 +-
>  tests/intel/gem_media_fill.c                  |   6 +-
>  tests/intel/gem_media_vme.c                   |   2 +-
>  tests/intel/gem_mmap.c                        |   6 +-
>  tests/intel/gem_mmap_gtt.c                    |   8 +-
>  tests/intel/gem_mmap_offset.c                 |   6 +-
>  tests/intel/gem_mmap_wc.c                     |  10 +-
>  tests/intel/gem_partial_pwrite_pread.c        |   8 +-
>  tests/intel/gem_pipe_control_store_loop.c     |   6 +-
>  tests/intel/gem_ppgtt.c                       |   6 +-
>  tests/intel/gem_pread.c                       |   6 +-
>  tests/intel/gem_pread_after_blit.c            |   8 +-
>  tests/intel/gem_pwrite.c                      |   8 +-
>  tests/intel/gem_pwrite_snooped.c              |   2 +-
>  tests/intel/gem_pxp.c                         |  16 +-
>  tests/intel/gem_read_read_speed.c             |   6 +-
>  tests/intel/gem_readwrite.c                   |   6 +-
>  tests/intel/gem_reg_read.c                    |   6 +-
>  tests/intel/gem_render_copy.c                 |   6 +-
>  tests/intel/gem_render_copy_redux.c           |   6 +-
>  tests/intel/gem_render_linear_blits.c         |   4 +-
>  tests/intel/gem_render_tiled_blits.c          |   4 +-
>  tests/intel/gem_request_retire.c              |   4 +-
>  tests/intel/gem_reset_stats.c                 |  12 +-
>  tests/intel/gem_ringfill.c                    |   6 +-
>  tests/intel/gem_set_tiling_vs_blt.c           |   6 +-
>  tests/intel/gem_set_tiling_vs_gtt.c           |   2 +-
>  tests/intel/gem_set_tiling_vs_pwrite.c        |   2 +-
>  tests/intel/gem_shrink.c                      |   4 +-
>  tests/intel/gem_softpin.c                     |  16 +-
>  tests/intel/gem_spin_batch.c                  |  12 +-
>  tests/intel/gem_streaming_writes.c            |   6 +-
>  tests/intel/gem_stress.c                      |   2 +-
>  tests/intel/gem_sync.c                        |  10 +-
>  tests/intel/gem_tiled_blits.c                 |  12 +-
>  tests/intel/gem_tiled_fence_blits.c           |  12 +-
>  tests/intel/gem_tiled_partial_pwrite_pread.c  |   6 +-
>  tests/intel/gem_tiled_pread_basic.c           |   2 +-
>  tests/intel/gem_tiled_pread_pwrite.c          |   2 +-
>  tests/intel/gem_tiled_swapping.c              |   6 +-
>  tests/intel/gem_tiled_wb.c                    |   2 +-
>  tests/intel/gem_tiled_wc.c                    |   2 +-
>  tests/intel/gem_tiling_max_stride.c           |   2 +-
>  tests/intel/gem_unfence_active_buffers.c      |   2 +-
>  tests/intel/gem_unref_active_buffers.c        |   2 +-
>  tests/intel/gem_userptr_blits.c               |  24 +--
>  tests/intel/gem_vm_create.c                   |  10 +-
>  tests/intel/gem_wait.c                        |  18 +-
>  tests/intel/gem_watchdog.c                    |   8 +-
>  tests/intel/gem_workarounds.c                 |  10 +-
>  tests/intel/gen3_mixed_blits.c                |   2 +-
>  tests/intel/gen3_render_linear_blits.c        |   2 +-
>  tests/intel/gen3_render_mixed_blits.c         |   2 +-
>  tests/intel/gen3_render_tiledx_blits.c        |   2 +-
>  tests/intel/gen3_render_tiledy_blits.c        |   2 +-
>  tests/intel/gen7_exec_parse.c                 |  12 +-
>  tests/intel/gen9_exec_parse.c                 |   6 +-
>  tests/intel/i915_drm_fdinfo.c                 |  12 +-
>  tests/intel/i915_fb_tiling.c                  |   6 +-
>  tests/intel/i915_getparams_basic.c            |   4 +-
>  tests/intel/i915_hangman.c                    |   8 +-
>  tests/intel/i915_module_load.c                |   2 +-
>  tests/intel/i915_pciid.c                      |   2 +-
>  tests/intel/i915_pm_freq_api.c                |   4 +-
>  tests/intel/i915_pm_freq_mult.c               |   6 +-
>  tests/intel/i915_pm_rc6_residency.c           |  12 +-
>  tests/intel/i915_pm_rpm.c                     |   6 +-
>  tests/intel/i915_pm_rps.c                     |   6 +-
>  tests/intel/i915_pm_sseu.c                    |   4 +-
>  tests/intel/i915_power.c                      |   6 +-
>  tests/intel/i915_query.c                      |  10 +-
>  tests/intel/i915_selftest.c                   |   2 +-
>  tests/intel/i915_suspend.c                    |   6 +-
>  tests/intel/intel_hwmon.c                     |   6 +-
>  tests/intel/kms_big_fb.c                      |  10 +-
>  tests/intel/kms_busy.c                        |  10 +-
>  tests/intel/kms_ccs.c                         |  10 +-
>  tests/intel/kms_cdclk.c                       |   6 +-
>  tests/intel/kms_dirtyfb.c                     |   6 +-
>  tests/intel/kms_dp_link_training.c            |   6 +-
>  tests/intel/kms_dp_linktrain_fallback.c       |   6 +-
>  tests/intel/kms_draw_crc.c                    |   6 +-
>  tests/intel/kms_dsc.c                         |   6 +-
>  tests/intel/kms_fb_coherency.c                |   6 +-
>  tests/intel/kms_fbc_dirty_rect.c              |   6 +-
>  tests/intel/kms_fbcon_fbt.c                   |   6 +-
>  tests/intel/kms_fence_pin_leak.c              |   2 +-
>  tests/intel/kms_flip_scaled_crc.c             |   6 +-
>  tests/intel/kms_flip_tiling.c                 |   6 +-
>  tests/intel/kms_frontbuffer_tracking.c        |  10 +-
>  tests/intel/kms_joiner.c                      |  22 +--
>  tests/intel/kms_legacy_colorkey.c             |   6 +-
>  tests/intel/kms_mmap_write_crc.c              |   6 +-
>  tests/intel/kms_pipe_b_c_ivb.c                |   6 +-
>  tests/intel/kms_pipe_stress.c                 |   6 +-
>  tests/intel/kms_pm_backlight.c                |   6 +-
>  tests/intel/kms_pm_dc.c                       |   6 +-
>  tests/intel/kms_pm_lpsp.c                     |   6 +-
>  tests/intel/kms_pm_rpm.c                      |   6 +-
>  tests/intel/kms_psr.c                         |   6 +-
>  tests/intel/kms_psr2_sf.c                     |   6 +-
>  tests/intel/kms_psr2_su.c                     |   6 +-
>  tests/intel/kms_psr_stress_test.c             |   6 +-
>  tests/intel/kms_pwrite_crc.c                  |   2 +-
>  tests/intel/perf.c                            |  14 +-
>  tests/intel/perf_pmu.c                        |  18 +-
>  tests/intel/prime_busy.c                      |  10 +-
>  tests/intel/prime_mmap.c                      |   6 +-
>  tests/intel/prime_mmap_coherency.c            |   6 +-
>  tests/intel/prime_mmap_kms.c                  |   6 +-
>  tests/intel/prime_self_import.c               |   2 +-
>  tests/intel/sysfs_defaults.c                  |   6 +-
>  tests/intel/sysfs_heartbeat_interval.c        |   6 +-
>  tests/intel/sysfs_preempt_timeout.c           |   6 +-
>  tests/intel/sysfs_timeslice_duration.c        |   6 +-
>  tests/intel/xe_ccs.c                          |   6 +-
>  tests/intel/xe_compute.c                      |   8 +-
>  tests/intel/xe_compute_preempt.c              |   6 +-
>  tests/intel/xe_configfs.c                     |   6 +-
>  tests/intel/xe_copy_basic.c                   |   6 +-
>  tests/intel/xe_create.c                       |   6 +-
>  tests/intel/xe_debugfs.c                      |   6 +-
>  tests/intel/xe_dma_buf_sync.c                 |   6 +-
>  tests/intel/xe_drm_fdinfo.c                   |   6 +-
>  tests/intel/xe_eu_stall.c                     |   6 +-
>  tests/intel/xe_eudebug.c                      |  14 +-
>  tests/intel/xe_eudebug_online.c               |  10 +-
>  tests/intel/xe_eudebug_sriov.c                |   6 +-
>  tests/intel/xe_evict.c                        |   6 +-
>  tests/intel/xe_evict_ccs.c                    |   8 +-
>  tests/intel/xe_exec_atomic.c                  |   6 +-
>  tests/intel/xe_exec_balancer.c                |   6 +-
>  tests/intel/xe_exec_basic.c                   |   6 +-
>  tests/intel/xe_exec_capture.c                 |   6 +-
>  tests/intel/xe_exec_compute_mode.c            |   6 +-
>  tests/intel/xe_exec_fault_mode.c              |   6 +-
>  tests/intel/xe_exec_mix_modes.c               |   6 +-
>  tests/intel/xe_exec_queue_property.c          |  10 +-
>  tests/intel/xe_exec_reset.c                   |   6 +-
>  tests/intel/xe_exec_sip.c                     |   6 +-
>  tests/intel/xe_exec_sip_eudebug.c             |  18 +-
>  tests/intel/xe_exec_store.c                   |   6 +-
>  tests/intel/xe_exec_system_allocator.c        |   6 +-
>  tests/intel/xe_exec_threads.c                 |   6 +-
>  tests/intel/xe_exercise_blt.c                 |   6 +-
>  tests/intel/xe_fault_injection.c              |   8 +-
>  tests/intel/xe_gpgpu_fill.c                   |   6 +-
>  tests/intel/xe_gt_freq.c                      |   6 +-
>  tests/intel/xe_huc_copy.c                     |   6 +-
>  tests/intel/xe_intel_bb.c                     |   6 +-
>  tests/intel/xe_live_ktest.c                   |   2 +-
>  tests/intel/xe_media_fill.c                   |   6 +-
>  tests/intel/xe_mmap.c                         |  10 +-
>  tests/intel/xe_module_load.c                  |   2 +-
>  tests/intel/xe_noexec_ping_pong.c             |   6 +-
>  tests/intel/xe_oa.c                           |  22 +--
>  tests/intel/xe_pat.c                          |   6 +-
>  tests/intel/xe_peer2peer.c                    |   6 +-
>  tests/intel/xe_pm.c                           |   8 +-
>  tests/intel/xe_pm_residency.c                 |   6 +-
>  tests/intel/xe_pmu.c                          |  26 +--
>  tests/intel/xe_prime_self_import.c            |   6 +-
>  tests/intel/xe_pxp.c                          |  14 +-
>  tests/intel/xe_query.c                        |   6 +-
>  tests/intel/xe_render_copy.c                  |   6 +-
>  tests/intel/xe_spin_batch.c                   |   6 +-
>  tests/intel/xe_sriov_auto_provisioning.c      |   6 +-
>  tests/intel/xe_sriov_flr.c                    |   6 +-
>  tests/intel/xe_sriov_scheduling.c             |   6 +-
>  tests/intel/xe_sriov_vram.c                   |   6 +-
>  tests/intel/xe_survivability.c                |   6 +-
>  tests/intel/xe_sysfs_defaults.c               |   6 +-
>  tests/intel/xe_sysfs_preempt_timeout.c        |   6 +-
>  tests/intel/xe_sysfs_scheduler.c              |   6 +-
>  tests/intel/xe_sysfs_timeslice_duration.c     |   6 +-
>  tests/intel/xe_tlb.c                          |   6 +-
>  tests/intel/xe_vm.c                           |   6 +-
>  tests/intel/xe_waitfence.c                    |   6 +-
>  tests/intel/xe_wedged.c                       |   6 +-
>  tests/kms_3d.c                                |   6 +-
>  tests/kms_addfb_basic.c                       |  68 +++----
>  tests/kms_async_flips.c                       |  10 +-
>  tests/kms_atomic.c                            |   6 +-
>  tests/kms_atomic_interruptible.c              |   6 +-
>  tests/kms_atomic_transition.c                 |   6 +-
>  tests/kms_bw.c                                |   6 +-
>  tests/kms_color.c                             |  12 +-
>  tests/kms_concurrent.c                        |   6 +-
>  tests/kms_content_protection.c                |  14 +-
>  tests/kms_cursor_crc.c                        |  24 +--
>  tests/kms_cursor_edge_walk.c                  |   8 +-
>  tests/kms_cursor_legacy.c                     |  40 ++--
>  tests/kms_debugfs.c                           |   6 +-
>  tests/kms_display_modes.c                     |   6 +-
>  tests/kms_dither.c                            |   6 +-
>  tests/kms_dp_aux_dev.c                        |   2 +-
>  tests/kms_feature_discovery.c                 |  12 +-
>  tests/kms_flip.c                              |   6 +-
>  tests/kms_flip_event_leak.c                   |   6 +-
>  tests/kms_force_connector_basic.c             |   6 +-
>  tests/kms_getfb.c                             |  30 +--
>  tests/kms_hdmi_inject.c                       |   6 +-
>  tests/kms_hdr.c                               |   6 +-
>  tests/kms_invalid_mode.c                      |   6 +-
>  tests/kms_lease.c                             |  12 +-
>  tests/kms_multipipe_modeset.c                 |   6 +-
>  tests/kms_panel_fitting.c                     |   8 +-
>  tests/kms_pipe_crc_basic.c                    |   6 +-
>  tests/kms_plane.c                             |   6 +-
>  tests/kms_plane_alpha_blend.c                 |   6 +-
>  tests/kms_plane_cursor.c                      |   6 +-
>  tests/kms_plane_lowres.c                      |   6 +-
>  tests/kms_plane_multiple.c                    |   6 +-
>  tests/kms_plane_scaling.c                     |  14 +-
>  tests/kms_prime.c                             |  18 +-
>  tests/kms_prop_blob.c                         |  10 +-
>  tests/kms_properties.c                        |  14 +-
>  tests/kms_rmfb.c                              |   6 +-
>  tests/kms_rotation_crc.c                      |   8 +-
>  tests/kms_scaling_modes.c                     |   6 +-
>  tests/kms_selftest.c                          |   2 +-
>  tests/kms_sequence.c                          |   6 +-
>  tests/kms_setmode.c                           |   6 +-
>  tests/kms_sharpness_filter.c                  |   6 +-
>  tests/kms_sysfs_edid_timing.c                 |   2 +-
>  tests/kms_tiled_display.c                     |   6 +-
>  tests/kms_tv_load_detect.c                    |   6 +-
>  tests/kms_universal_plane.c                   |   6 +-
>  tests/kms_vblank.c                            |   6 +-
>  tests/kms_vrr.c                               |  10 +-
>  tests/kms_writeback.c                         |   6 +-
>  tests/meta_test.c                             |   4 +-
>  tests/msm/msm_mapping.c                       |   6 +-
>  tests/msm/msm_recovery.c                      |   6 +-
>  tests/msm/msm_shrink.c                        |   6 +-
>  tests/msm/msm_submit.c                        |   6 +-
>  tests/msm/msm_submitoverhead.c                |   6 +-
>  tests/nouveau_crc.c                           |  10 +-
>  tests/panfrost/panfrost_gem_new.c             |   6 +-
>  tests/panfrost/panfrost_get_param.c           |   6 +-
>  tests/panfrost/panfrost_prime.c               |   6 +-
>  tests/panfrost/panfrost_submit.c              |   6 +-
>  tests/panthor/panthor_gem.c                   |   6 +-
>  tests/panthor/panthor_group.c                 |   6 +-
>  tests/panthor/panthor_query.c                 |   6 +-
>  tests/panthor/panthor_vm.c                    |   6 +-
>  tests/prime_nv_api.c                          |   6 +-
>  tests/prime_nv_pcopy.c                        |   6 +-
>  tests/prime_nv_test.c                         |   6 +-
>  tests/prime_udl.c                             |   2 +-
>  tests/prime_vgem.c                            |  24 +--
>  tests/sriov_basic.c                           |   6 +-
>  tests/sw_sync.c                               |   4 +-
>  tests/syncobj_basic.c                         |   6 +-
>  tests/syncobj_eventfd.c                       |   6 +-
>  tests/syncobj_timeline.c                      |   6 +-
>  tests/syncobj_wait.c                          |   6 +-
>  tests/template.c                              |   8 +-
>  tests/testdisplay.c                           |   2 +-
>  tests/tools_test.c                            |   4 +-
>  tests/v3d/v3d_create_bo.c                     |   6 +-
>  tests/v3d/v3d_get_bo_offset.c                 |   6 +-
>  tests/v3d/v3d_get_param.c                     |   6 +-
>  tests/v3d/v3d_job_submission.c                |   6 +-
>  tests/v3d/v3d_mmap.c                          |   6 +-
>  tests/v3d/v3d_perfmon.c                       |   6 +-
>  tests/v3d/v3d_submit_cl.c                     |   6 +-
>  tests/v3d/v3d_submit_csd.c                    |   6 +-
>  tests/v3d/v3d_wait_bo.c                       |   6 +-
>  tests/vc4/vc4_create_bo.c                     |   6 +-
>  tests/vc4/vc4_dmabuf_poll.c                   |   6 +-
>  tests/vc4/vc4_label_bo.c                      |   6 +-
>  tests/vc4/vc4_lookup_fail.c                   |   6 +-
>  tests/vc4/vc4_mmap.c                          |   6 +-
>  tests/vc4/vc4_perfmon.c                       |   6 +-
>  tests/vc4/vc4_purgeable_bo.c                  |   6 +-
>  tests/vc4/vc4_tiling.c                        |   6 +-
>  tests/vc4/vc4_wait_bo.c                       |   6 +-
>  tests/vc4/vc4_wait_seqno.c                    |   6 +-
>  tests/vgem_basic.c                            |  14 +-
>  tests/vgem_slow.c                             |   6 +-
>  tests/vkms/vkms_configfs.c                    |   6 +-
>  tests/vmwgfx/vmw_execution_buffer.c           |   6 +-
>  tests/vmwgfx/vmw_mob_stress.c                 |   6 +-
>  tests/vmwgfx/vmw_prime.c                      |  12 +-
>  tests/vmwgfx/vmw_ref_count.c                  |   6 +-
>  tests/vmwgfx/vmw_surface_copy.c               |   6 +-
>  tests/vmwgfx/vmw_tri.c                        |   6 +-
>  472 files changed, 1930 insertions(+), 1875 deletions(-)
>  create mode 100644 scripts/iterators.cocci
> 
> -- 
> 2.49.1
> 

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 7/7] scripts/cocci: Add iterators.cocci
  2025-11-24 22:40     ` Ville Syrjälä
@ 2025-12-04 12:56       ` Hajda, Andrzej
  2025-12-09 17:00         ` Ville Syrjälä
  0 siblings, 1 reply; 29+ messages in thread
From: Hajda, Andrzej @ 2025-12-04 12:56 UTC (permalink / raw)
  To: Ville Syrjälä, igt-dev

W dniu 24.11.2025 o 23:40, Ville Syrjälä pisze:
> On Mon, Nov 24, 2025 at 11:49:40PM +0200, Ville Syrjälä wrote:
>> On Thu, Nov 20, 2025 at 09:14:15PM +0200, Ville Syrjala wrote:
>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>
>>> Coccinelle often chokes on magic iterator macros. We
>>> can lend it a hand by explicitly declaring those macros
>>> as iterators. Start collecting them in
>>> scripts/iterators.cocci which people can easily include
>>> in their cocci scripts.
>>>
>>> The "struct dummy" is there because coccinelle doesn't
>>> like an empty script. Dunno if there's a cleaner way
>>> around that?
>>>
>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> ---
>>>   scripts/iterators.cocci | 53 +++++++++++++++++++++++++++++++++++++++++
>>>   1 file changed, 53 insertions(+)
>>>   create mode 100644 scripts/iterators.cocci
>>>
>>> diff --git a/scripts/iterators.cocci b/scripts/iterators.cocci
>>> new file mode 100644
>>> index 000000000000..90d3ae437a15
>>> --- /dev/null
>>> +++ b/scripts/iterators.cocci
>>> @@ -0,0 +1,53 @@
>>> +// SPDX-License-Identifier: MIT
>>> +//
>>> +// Use with
>>> +// #include "scripts/iterators.cocci"
>>> +// at the start of your cocci script
>>> +
>>> +@@
>>> +iterator name for_each_collection_data;
>>> +iterator name for_each_combination;
>>> +iterator name for_each_connected_output;
>>> +iterator name for_each_connector_mode;
>>> +iterator name for_each_ctx_engine;
>>> +iterator name for_each_disconnected_output;
>>> +iterator name for_each_format;
>>> +iterator name for_each_if;
>>> +iterator name for_each_output;
>>> +iterator name for_each_pipe;
>>> +iterator name for_each_pipe_static;
>>> +iterator name for_each_pipe_with_single_output;
>>> +iterator name for_each_pipe_with_valid_output;
>>> +iterator name for_each_plane_on_pipe;
>>> +iterator name for_each_prime_number;
>>> +iterator name for_each_sriov_enabled_vf;
>>> +iterator name for_each_sriov_num_vfsfor_each_sriov_vf;
>>> +iterator name for_each_sriov_num_vfs_in_rangefor_each_sriov_vf_in_range;
>>> +iterator name for_each_sriov_vf;
>>> +iterator name for_each_sriov_vf_in_range;
>>> +iterator name for_each_subset;
>>> +iterator name for_each_subset;
>>> +iterator name for_each_sysfs_gt_dirfd;
>>> +iterator name for_each_sysfs_gt_path;
>>> +iterator name for_each_sysfs_tile_dirfd;
>>> +iterator name for_each_tiling;
>>> +iterator name for_each_valid_output_on_pipe;
>>> +iterator name for_each_variation_nr;
>>> +iterator name for_each_variation_r;
> 
>>> +iterator name igt_for_each_drm_client;
>>> +iterator name igt_list_for_each_entry;
>>> +iterator name igt_list_for_each_entry_reverse;
>>> +iterator name igt_list_for_each_entry_safe;
>>> +iterator name igt_list_for_each_entry_safe_reverse;
> 
> And now that I think about it, I seem to recall cocci having
> some kind of builtin heuristic for this...
> 
> Indeed, parsing_c/parsing_hacks.ml says:
> let regexp_foreach = Str.regexp_case_fold
>    ".*\\(for_?each\\|for_?all\\|iterate\\|loop\\|walk\\|scan\\|each\\|for\\)"
> 
> So I guess we don't actually need to declare any of the
> iterators above. IIRC I generated that list with a simple
> 'grep for_each', more or less just in case.
> 
>>> +iterator name igt_dynamic;
>>> +iterator name igt_dynamic_f;
>>> +iterator name igt_fixture;
>>> +iterator name igt_fork;
>>> +iterator name igt_require;
>>> +iterator name igt_subtest;
>>> +iterator name igt_subtest_f;
>>> +iterator name igt_subtest_group;
>>> +iterator name igt_subtest_with_dynamic;
>>> +iterator name igt_subtest_with_dynamic_f;
>>
>> Couple of other needed iterators I apparently forgot to include here:
>>
>> +iterator name igt_until_timeout;
>> +iterator name igt_while_interruptible;
> 
> All of this stuff I had to add manually to actually make
> cocci parse the code succesfully. And we can see none of it
> will match that heuristic regexp.
> 
>>
>> I should also check if cocci supports regexp with iterator names since
>> that could reduce this list quite a bit...
> 
> Doesn't seem to be the case. But at least I can reduce
> the list due to the builtin heuristic.

Nice work. What cocci coverage in percents do you achieve with this?

I have asked once cocci author about the same issue some time ago, she 
proposed different solution [1] - to provide --macro-file-builtins with
defines for problematic macros.
Not sure which approach better solves IGT issues, defines seems for me 
more flexible, but I do not feel an expert in this area.

Anyway adding parenthesis to igt macros makes them look more 'c like' :)

Acked-by: Andrzej Hajda <andrzej.hajda@intel.com>

[1]: 
https://lore.kernel.org/cocci/4aed4763-9b3c-c21f-693a-e7d4281f8384@inria.fr/

Regards
Andrzej

> 
>>
>>> +@@
>>> +struct dummy
>>> -- 
>>> 2.49.1
>>
>> -- 
>> Ville Syrjälä
>> Intel
> 


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH i-g-t 7/7] scripts/cocci: Add iterators.cocci
  2025-12-04 12:56       ` Hajda, Andrzej
@ 2025-12-09 17:00         ` Ville Syrjälä
  0 siblings, 0 replies; 29+ messages in thread
From: Ville Syrjälä @ 2025-12-09 17:00 UTC (permalink / raw)
  To: Hajda, Andrzej; +Cc: igt-dev

On Thu, Dec 04, 2025 at 01:56:50PM +0100, Hajda, Andrzej wrote:
> W dniu 24.11.2025 o 23:40, Ville Syrjälä pisze:
> > On Mon, Nov 24, 2025 at 11:49:40PM +0200, Ville Syrjälä wrote:
> >> On Thu, Nov 20, 2025 at 09:14:15PM +0200, Ville Syrjala wrote:
> >>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>
> >>> Coccinelle often chokes on magic iterator macros. We
> >>> can lend it a hand by explicitly declaring those macros
> >>> as iterators. Start collecting them in
> >>> scripts/iterators.cocci which people can easily include
> >>> in their cocci scripts.
> >>>
> >>> The "struct dummy" is there because coccinelle doesn't
> >>> like an empty script. Dunno if there's a cleaner way
> >>> around that?
> >>>
> >>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>> ---
> >>>   scripts/iterators.cocci | 53 +++++++++++++++++++++++++++++++++++++++++
> >>>   1 file changed, 53 insertions(+)
> >>>   create mode 100644 scripts/iterators.cocci
> >>>
> >>> diff --git a/scripts/iterators.cocci b/scripts/iterators.cocci
> >>> new file mode 100644
> >>> index 000000000000..90d3ae437a15
> >>> --- /dev/null
> >>> +++ b/scripts/iterators.cocci
> >>> @@ -0,0 +1,53 @@
> >>> +// SPDX-License-Identifier: MIT
> >>> +//
> >>> +// Use with
> >>> +// #include "scripts/iterators.cocci"
> >>> +// at the start of your cocci script
> >>> +
> >>> +@@
> >>> +iterator name for_each_collection_data;
> >>> +iterator name for_each_combination;
> >>> +iterator name for_each_connected_output;
> >>> +iterator name for_each_connector_mode;
> >>> +iterator name for_each_ctx_engine;
> >>> +iterator name for_each_disconnected_output;
> >>> +iterator name for_each_format;
> >>> +iterator name for_each_if;
> >>> +iterator name for_each_output;
> >>> +iterator name for_each_pipe;
> >>> +iterator name for_each_pipe_static;
> >>> +iterator name for_each_pipe_with_single_output;
> >>> +iterator name for_each_pipe_with_valid_output;
> >>> +iterator name for_each_plane_on_pipe;
> >>> +iterator name for_each_prime_number;
> >>> +iterator name for_each_sriov_enabled_vf;
> >>> +iterator name for_each_sriov_num_vfsfor_each_sriov_vf;
> >>> +iterator name for_each_sriov_num_vfs_in_rangefor_each_sriov_vf_in_range;
> >>> +iterator name for_each_sriov_vf;
> >>> +iterator name for_each_sriov_vf_in_range;
> >>> +iterator name for_each_subset;
> >>> +iterator name for_each_subset;
> >>> +iterator name for_each_sysfs_gt_dirfd;
> >>> +iterator name for_each_sysfs_gt_path;
> >>> +iterator name for_each_sysfs_tile_dirfd;
> >>> +iterator name for_each_tiling;
> >>> +iterator name for_each_valid_output_on_pipe;
> >>> +iterator name for_each_variation_nr;
> >>> +iterator name for_each_variation_r;
> > 
> >>> +iterator name igt_for_each_drm_client;
> >>> +iterator name igt_list_for_each_entry;
> >>> +iterator name igt_list_for_each_entry_reverse;
> >>> +iterator name igt_list_for_each_entry_safe;
> >>> +iterator name igt_list_for_each_entry_safe_reverse;
> > 
> > And now that I think about it, I seem to recall cocci having
> > some kind of builtin heuristic for this...
> > 
> > Indeed, parsing_c/parsing_hacks.ml says:
> > let regexp_foreach = Str.regexp_case_fold
> >    ".*\\(for_?each\\|for_?all\\|iterate\\|loop\\|walk\\|scan\\|each\\|for\\)"
> > 
> > So I guess we don't actually need to declare any of the
> > iterators above. IIRC I generated that list with a simple
> > 'grep for_each', more or less just in case.
> > 
> >>> +iterator name igt_dynamic;
> >>> +iterator name igt_dynamic_f;
> >>> +iterator name igt_fixture;
> >>> +iterator name igt_fork;
> >>> +iterator name igt_require;
> >>> +iterator name igt_subtest;
> >>> +iterator name igt_subtest_f;
> >>> +iterator name igt_subtest_group;
> >>> +iterator name igt_subtest_with_dynamic;
> >>> +iterator name igt_subtest_with_dynamic_f;
> >>
> >> Couple of other needed iterators I apparently forgot to include here:
> >>
> >> +iterator name igt_until_timeout;
> >> +iterator name igt_while_interruptible;
> > 
> > All of this stuff I had to add manually to actually make
> > cocci parse the code succesfully. And we can see none of it
> > will match that heuristic regexp.
> > 
> >>
> >> I should also check if cocci supports regexp with iterator names since
> >> that could reduce this list quite a bit...
> > 
> > Doesn't seem to be the case. But at least I can reduce
> > the list due to the builtin heuristic.
> 
> Nice work. What cocci coverage in percents do you achieve with this?

Original was:
 NB total files = 1000; perfect = 479; pbs = 521; timeout = 0; =========> 47%
 nb good = 2725082,  nb passed = 6531 =========> 0.23% passed
 nb good = 2725082,  nb bad = 61818 =========> 97.79% good or passed

This is what I get after this stuff:
 NB total files = 1000; perfect = 522; pbs = 478; timeout = 0; =========> 52%
 nb good = 2728902,  nb passed = 6721 =========> 0.24% passed
 nb good = 2728902,  nb bad = 57989 =========> 97.92% good or passed

That's all pretty much due to the igt_main stuff because I couldn't
find any way to use the iterators.cocci script with --parse-c.

Using the macro based approach for the iterators I get:
 NB total files = 1000; perfect = 892; pbs = 108; timeout = 0; =========> 89%
 nb good = 2776744,  nb passed = 5443 =========> 0.19% passed
 nb good = 2776744,  nb bad = 10147 =========> 99.64% good or passed

So I guess that's about what one may now expect when using
iterators.cocci.

Anyways, this is all pushed now. Thanks for the acks.


PS.
For including the cocci scripts in the commit message I switched to
using the following format:
 #include "scripts/iterators.cocci"

blah
blah

Ie. just put one extra space before the '#' so that git doesn't
think it's a comment and strip it.

There is a way to change the comment character in git, but I'm not
sure it's a good idea if only some people do that. Someone else
grabbing those commits and doing an interactive rebase might get
bitten by it.

Cocci doesn't even seem to mind the extra space, so you can still
copy-paste the script from the commit message as is.

> 
> I have asked once cocci author about the same issue some time ago, she 
> proposed different solution [1] - to provide --macro-file-builtins with
> defines for problematic macros.
> Not sure which approach better solves IGT issues, defines seems for me 
> more flexible, but I do not feel an expert in this area.
> 
> Anyway adding parenthesis to igt macros makes them look more 'c like' :)
> 
> Acked-by: Andrzej Hajda <andrzej.hajda@intel.com>
> 
> [1]: 
> https://lore.kernel.org/cocci/4aed4763-9b3c-c21f-693a-e7d4281f8384@inria.fr/
> 
> Regards
> Andrzej
> 
> > 
> >>
> >>> +@@
> >>> +struct dummy
> >>> -- 
> >>> 2.49.1
> >>
> >> -- 
> >> Ville Syrjälä
> >> Intel
> > 

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2025-12-09 17:00 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-20 19:14 [PATCH i-g-t 0/7] igt: Help out coccinelle Ville Syrjala
2025-11-20 19:14 ` [PATCH i-g-t 1/7] igt: Make igt_fixture look like an iterator Ville Syrjala
2025-12-03 17:26   ` Kamil Konieczny
2025-11-20 19:14 ` [PATCH i-g-t 2/7] igt: Make igt_subtest_group " Ville Syrjala
2025-11-20 19:14 ` [PATCH i-g-t 3/7] igt: Make igt_main look more like a function Ville Syrjala
2025-11-20 19:14 ` [PATCH i-g-t 4/7] igt: Make igt_simple_main " Ville Syrjala
2025-11-20 19:14 ` [PATCH i-g-t 5/7] igt: Make igt_main*() look like normal function definition Ville Syrjala
2025-11-20 19:14 ` [PATCH i-g-t 6/7] igt: Make igt_simple_main*() " Ville Syrjala
2025-11-20 19:14 ` [PATCH i-g-t 7/7] scripts/cocci: Add iterators.cocci Ville Syrjala
2025-11-24 21:49   ` Ville Syrjälä
2025-11-24 22:40     ` Ville Syrjälä
2025-12-04 12:56       ` Hajda, Andrzej
2025-12-09 17:00         ` Ville Syrjälä
2025-11-20 19:51 ` ✓ Xe.CI.BAT: success for igt: Help out coccinelle Patchwork
2025-11-20 20:05 ` ✗ i915.CI.BAT: failure " Patchwork
2025-11-21  0:40 ` ✓ Xe.CI.Full: success " Patchwork
2025-11-24 18:12 ` [PATCH i-g-t 0/7] " Peter Senna Tschudin
2025-11-24 20:57   ` Jani Nikula
2025-11-24 21:37     ` Peter Senna Tschudin
2025-11-24 21:39   ` Ville Syrjälä
2025-11-24 21:53     ` Peter Senna Tschudin
2025-11-25 13:49   ` Kamil Konieczny
2025-11-25  8:38 ` ✓ Xe.CI.BAT: success for igt: Help out coccinelle (rev2) Patchwork
2025-11-25  9:10 ` ✓ i915.CI.BAT: " Patchwork
2025-11-25 11:55 ` ✗ Xe.CI.Full: failure " Patchwork
2025-11-25 13:44 ` [PATCH i-g-t 0/7] igt: Help out coccinelle Kamil Konieczny
2025-11-25 17:12   ` Ville Syrjälä
2025-11-25 17:53 ` ✗ i915.CI.Full: failure for igt: Help out coccinelle (rev2) Patchwork
2025-12-03 17:38 ` [PATCH i-g-t 0/7] igt: Help out coccinelle Kamil Konieczny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox