Repository navigation
EPIC: Tests that never run in CI #2077
Description
#1969 adds a step to CI that will analyze the logs to find all tests that are skipped in our CI under all configurations. The complete list of tests (as of today) is copy-pasted below.
This issue is to start a discussion about what to do about them.
Removal
I am not advocating a rush to remove them -- they often do run when QA runs them on different platforms than we have in CI. However, some of these may be low-value and we could consider removing on a case-by-case basis. Bitrotting of tests is as much a concern as bitrotting of production code.
Annotation
I think it would be helpful to add a comment to all of these tests that they are not covered in CI. That would be a helpful signal when editing a test, or seeing a failure in QA, that it is not well-covered. An agent could easily take this list and create all those comments -- we can remove the comments if any of the tests are reworked to run in CI. The existing tool that analyses logs for skipped tests could surface the fact that a test has an annotation that it always skips when that is no longer the case.
Hardware/platform coverage
Does this list point at any hardware that would help us get better coverage? As we determine /what kinds/ of hardware to add, this may be helpful in determining what would provide the most value.
Software coverage
I think some of these aren't covered because they require a dependency, such as pytorch. That's a heavy dependency we probably don't want to test with /everywhere/, but maybe we could add it in a few configurations to get more test coverage.
Always skipped tests
-
cuda_bindings/tests/nvml/test_device.py::test_device_vgpu_get_heterogeneous_mode -
cuda_bindings/tests/nvml/test_device.py::test_get_nv_link_supported_bw_modes -
cuda_bindings/tests/nvml/test_device.py::test_read_write_prm -
cuda_bindings/tests/nvml/test_device.py::test_set_power_management_limit -
cuda_bindings/tests/nvml/test_pci.py::test_bridge_chip_info -
cuda_bindings/tests/nvml/test_pynvml.py::test_device_get_attributes -
cuda_bindings/tests/nvml/test_pynvml.py::test_device_get_cpu_affinity_within_scope[<AffinityScope.NODE: -
cuda_bindings/tests/nvml/test_pynvml.py::test_device_get_cpu_affinity_within_scope[<AffinityScope.SOCKET: -
cuda_bindings/tests/nvml/test_pynvml.py::test_device_get_memory_affinity[<AffinityScope.NODE: -
cuda_bindings/tests/nvml/test_pynvml.py::test_device_get_memory_affinity[<AffinityScope.SOCKET: -
cuda_bindings/tests/nvml/test_pynvml.py::test_device_get_nvlink_capability[<NvLinkCapability.NVLINK_CAP_P2P_ATOMICS: -
cuda_bindings/tests/nvml/test_pynvml.py::test_device_get_nvlink_capability[<NvLinkCapability.NVLINK_CAP_P2P_SUPPORTED: -
cuda_bindings/tests/nvml/test_pynvml.py::test_device_get_nvlink_capability[<NvLinkCapability.NVLINK_CAP_SLI_BRIDGE: -
cuda_bindings/tests/nvml/test_pynvml.py::test_device_get_nvlink_capability[<NvLinkCapability.NVLINK_CAP_SYSMEM_ACCESS: -
cuda_bindings/tests/nvml/test_pynvml.py::test_device_get_nvlink_capability[<NvLinkCapability.NVLINK_CAP_SYSMEM_ATOMICS: -
cuda_bindings/tests/nvml/test_pynvml.py::test_device_get_nvlink_capability[<NvLinkCapability.NVLINK_CAP_VALID: -
cuda_bindings/tests/test_examples.py::test_example[C://actions-runner//_work//cuda-python//cuda-python//cuda_bindings//tests//..//examples//0_Introduction//simple_p2p.py] -
cuda_bindings/tests/test_examples.py::test_example[C://actions-runner//_work//cuda-python//cuda-python//cuda_bindings//tests//..//examples//0_Introduction//system_wide_atomics.py] -
cuda_bindings/tests/test_examples.py::test_example[C://actions-runner//_work//cuda-python//cuda-python//cuda_bindings//tests//..//examples//extra//iso_fd_modelling.py] -
cuda_bindings/tests/test_graphics_apis.py::test_cuda_gl_register_image_smoketest[<cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsNone: -
cuda_bindings/tests/test_graphics_apis.py::test_cuda_gl_register_image_smoketest[<cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsWriteDiscard: -
cuda_bindings/tests/test_utils.py::test_check_nvvm_compiler_options_no_libnvvm -
cuda_core/tests/example_tests/test_basic_examples.py::test_example[gl_interop_plasma.py] -
cuda_core/tests/example_tests/test_basic_examples.py::test_example[jit_lto_fractal.py] -
cuda_core/tests/example_tests/test_basic_examples.py::test_example[pytorch_example.py] -
cuda_core/tests/example_tests/test_basic_examples.py::test_example[simple_multi_gpu_example.py] -
cuda_core/tests/graph/test_graph_definition.py::test_node_attrs[empty] -
cuda_core/tests/graph/test_graph_definition.py::test_node_attrs[host_callback_cfunc] -
cuda_core/tests/graph/test_graph_definition.py::test_node_attrs_preserved_by_nodes[empty] -
cuda_core/tests/graph/test_graph_definition.py::test_node_attrs_preserved_by_nodes[host_callback_cfunc] -
cuda_core/tests/memory/test_managed_ops.py::TestManagedBuffer::test_preferred_location_roundtrip_host_numa -
cuda_core/tests/system/test_system_device.py::test_auto_boosted_clocks_enabled -
cuda_core/tests/system/test_system_device.py::test_clock -
cuda_core/tests/system/test_system_device.py::test_device_attributes -
cuda_core/tests/system/test_system_device.py::test_numa_node_id -
cuda_core/tests/system/test_system_device.py::test_nvlink -
cuda_core/tests/system/test_system_device.py::test_temperature -
cuda_core/tests/test_checkpoint.py::TestCheckpointGpuMigration::test_rotation_migrates_context -
cuda_core/tests/test_checkpoint.py::TestCheckpointGpuMigration::test_swap_identical_gpus -
cuda_core/tests/test_graphics.py::TestErrorHandling::test_close_while_mapped_passes_stream_override -
cuda_core/tests/test_graphics.py::TestFromGLBuffer::test_close_is_idempotent -
cuda_core/tests/test_graphics.py::TestFromGLBuffer::test_register_default_flags -
cuda_core/tests/test_graphics.py::TestFromGLBuffer::test_register_write_discard -
cuda_core/tests/test_graphics.py::TestFromGLImage::test_register_image -
cuda_core/tests/test_graphics.py::TestMapUnmap::test_from_gl_buffer_with_stream_context_manager -
cuda_core/tests/test_graphics.py::TestMapUnmap::test_strided_memory_view_from_mapped_buffer -
cuda_core/tests/test_linker.py::test_linker_link_ptx_culink -
cuda_core/tests/test_linker.py::test_linker_options_as_bytes_driver_not_supported -
cuda_core/tests/test_managed_memory_warning.py::test_warning_emitted -
cuda_core/tests/test_managed_memory_warning.py::test_warning_emitted_only_once -
cuda_core/tests/test_memory.py::test_mempool_attributes[ManagedMR-release_threshold-int-True] -
cuda_core/tests/test_memory.py::test_mempool_attributes[ManagedMR-reserved_mem_current-int-True] -
cuda_core/tests/test_memory.py::test_mempool_attributes[ManagedMR-reserved_mem_high-int-True] -
cuda_core/tests/test_memory.py::test_mempool_attributes[ManagedMR-reuse_allow_internal_dependencies-bool-True] -
cuda_core/tests/test_memory.py::test_mempool_attributes[ManagedMR-reuse_allow_opportunistic-bool-True] -
cuda_core/tests/test_memory.py::test_mempool_attributes[ManagedMR-reuse_follow_event_dependencies-bool-True] -
cuda_core/tests/test_memory.py::test_mempool_attributes[ManagedMR-used_mem_current-int-True] -
cuda_core/tests/test_memory.py::test_mempool_attributes[ManagedMR-used_mem_high-int-True] -
cuda_core/tests/test_memory_peer_access.py::test_peer_access_transitions -
cuda_core/tests/test_module.py::test_occupancy_max_potential_block_size_b2dsize[0] -
cuda_core/tests/test_module.py::test_occupancy_max_potential_block_size_b2dsize[120] -
cuda_core/tests/test_module.py::test_occupancy_max_potential_block_size_b2dsize[128] -
cuda_core/tests/test_module.py::test_occupancy_max_potential_block_size_b2dsize[277] -
cuda_core/tests/test_module.py::test_occupancy_max_potential_block_size_b2dsize[32] -
cuda_core/tests/test_module.py::test_occupancy_max_potential_block_size_b2dsize[64] -
cuda_core/tests/test_module.py::test_occupancy_max_potential_block_size_b2dsize[96] -
cuda_core/tests/test_object_protocols.py::test_repr_format[sample_alloc_node-<AllocNode -
cuda_core/tests/test_object_protocols.py::test_repr_format[sample_empty_node-<EmptyNode -
cuda_core/tests/test_object_protocols.py::test_repr_format[sample_free_node-<FreeNode -
cuda_core/tests/test_object_protocols.py::test_repr_format[sample_memcpy_node-<MemcpyNode -
cuda_core/tests/test_object_protocols.py::test_repr_format[sample_memset_node-<MemsetNode -
cuda_core/tests/test_object_protocols.py::test_repr_format[sample_object_code_ptx-<ObjectCode -
cuda_core/tests/test_object_protocols.py::test_repr_format[sample_program_ptx-<Program -
cuda_core/tests/test_program.py::test_cpp_program_with_various_options[options31] -
cuda_core/tests/test_program.py::test_nvvm_program_numba_debug -
cuda_core/tests/test_tensor_map.py::TestTensorMapIm2colWide::test_from_im2col_wide_3d -
cuda_core/tests/test_tensor_map.py::TestTensorMapIm2colWide::test_from_im2col_wide_4d -
cuda_core/tests/test_tensor_map.py::TestTensorMapIm2colWide::test_from_im2col_wide_5d -
cuda_core/tests/test_tensor_map.py::TestTensorMapIm2colWide::test_from_im2col_wide_rank_validation -
cuda_core/tests/test_utils.py::TestViewCudaArrayInterfaceGPU::test_cuda_array_interface_gpu[NOTSET] -
cuda_core/tests/test_utils.py::TestViewGPU::test_args_viewable_as_strided_memory_gpu[NOTSET] -
cuda_core/tests/test_utils.py::TestViewGPU::test_strided_memory_view_cpu[NOTSET] -
cuda_core/tests/test_utils.py::TestViewGPU::test_strided_memory_view_init[NOTSET] -
cuda_pathfinder/tests/test_driver_lib_loading.py::test_real_load_driver_lib[nvcudla] -
cuda_pathfinder/tests/test_load_nvidia_dynamic_lib.py::test_load_nvidia_dynamic_lib[nvcudla]
Activity
mdboom commentedon May 13, 2026
This investigation may or may not help with some of the NVML-related tests above: #2009
leofang commentedon May 13, 2026
Some of these are related to the fact that we don't have 13.2 driver installed anywhere in our runners. I have raised PRs on the runner side (https://github.com/nv-gha-runners/vm-images/pull/247, https://github.com/nv-gha-runners/arc-nvks-argocd/pull/429) but I haven't had time to discuss with them. It might be possible that we need to roll our own infra (#1265, #293).
mdboom commentedon Jun 23, 2026
I have updated the list above.
Make check_nvvm_compiler_options return False when nvvm is unavailable
mdboom commentedon Aug 10, 2026
Not needed for the release. This only really affects QA effectiveness.