From cbc8ced20f7a67254caac36af79e666ac2379833 Mon Sep 17 00:00:00 2001 From: Dhruv Nair Date: Tue, 8 Jul 2025 18:39:09 +0200 Subject: [PATCH] [CI] Fix big GPU test marker (#11786) * update * update --- .github/workflows/nightly_tests.yml | 2 +- src/diffusers/utils/testing_utils.py | 4 ++++ tests/conftest.py | 4 ++++ tests/lora/test_lora_layers_flux.py | 3 --- tests/lora/test_lora_layers_hunyuanvideo.py | 2 -- tests/lora/test_lora_layers_sd3.py | 2 -- tests/pipelines/controlnet_flux/test_controlnet_flux.py | 2 -- tests/pipelines/controlnet_sd3/test_controlnet_sd3.py | 2 -- tests/pipelines/flux/test_pipeline_flux.py | 3 --- tests/pipelines/flux/test_pipeline_flux_redux.py | 2 -- tests/pipelines/mochi/test_mochi.py | 2 -- .../stable_diffusion_3/test_pipeline_stable_diffusion_3.py | 2 -- .../test_pipeline_stable_diffusion_3_img2img.py | 2 -- 13 files changed, 9 insertions(+), 23 deletions(-) diff --git a/.github/workflows/nightly_tests.yml b/.github/workflows/nightly_tests.yml index 16e1a70b84..384f07506a 100644 --- a/.github/workflows/nightly_tests.yml +++ b/.github/workflows/nightly_tests.yml @@ -248,7 +248,7 @@ jobs: BIG_GPU_MEMORY: 40 run: | python -m pytest -n 1 --max-worker-restart=0 --dist=loadfile \ - -m "big_gpu_with_torch_cuda" \ + -m "big_accelerator" \ --make-reports=tests_big_gpu_torch_cuda \ --report-log=tests_big_gpu_torch_cuda.log \ tests/ diff --git a/src/diffusers/utils/testing_utils.py b/src/diffusers/utils/testing_utils.py index e5da39c1d8..ebb3d70553 100644 --- a/src/diffusers/utils/testing_utils.py +++ b/src/diffusers/utils/testing_utils.py @@ -421,6 +421,10 @@ def require_big_accelerator(test_case): Decorator marking a test that requires a bigger hardware accelerator (24GB) for execution. Some example pipelines: Flux, SD3, Cog, etc. """ + import pytest + + test_case = pytest.mark.big_accelerator(test_case) + if not is_torch_available(): return unittest.skip("test requires PyTorch")(test_case) diff --git a/tests/conftest.py b/tests/conftest.py index 7e9c4e8f39..3237fb9c7b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -30,6 +30,10 @@ sys.path.insert(1, git_repo_path) warnings.simplefilter(action="ignore", category=FutureWarning) +def pytest_configure(config): + config.addinivalue_line("markers", "big_accelerator: marks tests as requiring big accelerator resources") + + def pytest_addoption(parser): from diffusers.utils.testing_utils import pytest_addoption_shared diff --git a/tests/lora/test_lora_layers_flux.py b/tests/lora/test_lora_layers_flux.py index 336ac2246f..95f1e137e9 100644 --- a/tests/lora/test_lora_layers_flux.py +++ b/tests/lora/test_lora_layers_flux.py @@ -20,7 +20,6 @@ import tempfile import unittest import numpy as np -import pytest import safetensors.torch import torch from parameterized import parameterized @@ -813,7 +812,6 @@ class FluxControlLoRATests(unittest.TestCase, PeftLoraLoaderMixinTests): @require_torch_accelerator @require_peft_backend @require_big_accelerator -@pytest.mark.big_accelerator class FluxLoRAIntegrationTests(unittest.TestCase): """internal note: The integration slices were obtained on audace. @@ -960,7 +958,6 @@ class FluxLoRAIntegrationTests(unittest.TestCase): @require_torch_accelerator @require_peft_backend @require_big_accelerator -@pytest.mark.big_accelerator class FluxControlLoRAIntegrationTests(unittest.TestCase): num_inference_steps = 10 seed = 0 diff --git a/tests/lora/test_lora_layers_hunyuanvideo.py b/tests/lora/test_lora_layers_hunyuanvideo.py index 19e31f320d..4cbd6523e7 100644 --- a/tests/lora/test_lora_layers_hunyuanvideo.py +++ b/tests/lora/test_lora_layers_hunyuanvideo.py @@ -17,7 +17,6 @@ import sys import unittest import numpy as np -import pytest import torch from transformers import CLIPTextModel, CLIPTokenizer, LlamaModel, LlamaTokenizerFast @@ -198,7 +197,6 @@ class HunyuanVideoLoRATests(unittest.TestCase, PeftLoraLoaderMixinTests): @require_torch_accelerator @require_peft_backend @require_big_accelerator -@pytest.mark.big_accelerator class HunyuanVideoLoRAIntegrationTests(unittest.TestCase): """internal note: The integration slices were obtained on DGX. diff --git a/tests/lora/test_lora_layers_sd3.py b/tests/lora/test_lora_layers_sd3.py index 8a8f2a676d..8928ccbac2 100644 --- a/tests/lora/test_lora_layers_sd3.py +++ b/tests/lora/test_lora_layers_sd3.py @@ -17,7 +17,6 @@ import sys import unittest import numpy as np -import pytest import torch from transformers import AutoTokenizer, CLIPTextModelWithProjection, CLIPTokenizer, T5EncoderModel @@ -139,7 +138,6 @@ class SD3LoRATests(unittest.TestCase, PeftLoraLoaderMixinTests): @require_torch_accelerator @require_peft_backend @require_big_accelerator -@pytest.mark.big_accelerator class SD3LoraIntegrationTests(unittest.TestCase): pipeline_class = StableDiffusion3Img2ImgPipeline repo_id = "stabilityai/stable-diffusion-3-medium-diffusers" diff --git a/tests/pipelines/controlnet_flux/test_controlnet_flux.py b/tests/pipelines/controlnet_flux/test_controlnet_flux.py index 5ee94b09ba..5b336edc7a 100644 --- a/tests/pipelines/controlnet_flux/test_controlnet_flux.py +++ b/tests/pipelines/controlnet_flux/test_controlnet_flux.py @@ -17,7 +17,6 @@ import gc import unittest import numpy as np -import pytest import torch from huggingface_hub import hf_hub_download from transformers import CLIPTextConfig, CLIPTextModel, CLIPTokenizer, T5EncoderModel, T5TokenizerFast @@ -211,7 +210,6 @@ class FluxControlNetPipelineFastTests(unittest.TestCase, PipelineTesterMixin, Fl @nightly @require_big_accelerator -@pytest.mark.big_accelerator class FluxControlNetPipelineSlowTests(unittest.TestCase): pipeline_class = FluxControlNetPipeline diff --git a/tests/pipelines/controlnet_sd3/test_controlnet_sd3.py b/tests/pipelines/controlnet_sd3/test_controlnet_sd3.py index 712c26b0a2..1f1f800bcf 100644 --- a/tests/pipelines/controlnet_sd3/test_controlnet_sd3.py +++ b/tests/pipelines/controlnet_sd3/test_controlnet_sd3.py @@ -18,7 +18,6 @@ import unittest from typing import Optional import numpy as np -import pytest import torch from transformers import AutoTokenizer, CLIPTextConfig, CLIPTextModelWithProjection, CLIPTokenizer, T5EncoderModel @@ -221,7 +220,6 @@ class StableDiffusion3ControlNetPipelineFastTests(unittest.TestCase, PipelineTes @slow @require_big_accelerator -@pytest.mark.big_accelerator class StableDiffusion3ControlNetPipelineSlowTests(unittest.TestCase): pipeline_class = StableDiffusion3ControlNetPipeline diff --git a/tests/pipelines/flux/test_pipeline_flux.py b/tests/pipelines/flux/test_pipeline_flux.py index cbdf617d71..e0778e9ced 100644 --- a/tests/pipelines/flux/test_pipeline_flux.py +++ b/tests/pipelines/flux/test_pipeline_flux.py @@ -2,7 +2,6 @@ import gc import unittest import numpy as np -import pytest import torch from huggingface_hub import hf_hub_download from transformers import AutoTokenizer, CLIPTextConfig, CLIPTextModel, CLIPTokenizer, T5EncoderModel @@ -224,7 +223,6 @@ class FluxPipelineFastTests( @nightly @require_big_accelerator -@pytest.mark.big_accelerator class FluxPipelineSlowTests(unittest.TestCase): pipeline_class = FluxPipeline repo_id = "black-forest-labs/FLUX.1-schnell" @@ -312,7 +310,6 @@ class FluxPipelineSlowTests(unittest.TestCase): @slow @require_big_accelerator -@pytest.mark.big_accelerator class FluxIPAdapterPipelineSlowTests(unittest.TestCase): pipeline_class = FluxPipeline repo_id = "black-forest-labs/FLUX.1-dev" diff --git a/tests/pipelines/flux/test_pipeline_flux_redux.py b/tests/pipelines/flux/test_pipeline_flux_redux.py index b8f36dfd3c..b73050a64d 100644 --- a/tests/pipelines/flux/test_pipeline_flux_redux.py +++ b/tests/pipelines/flux/test_pipeline_flux_redux.py @@ -2,7 +2,6 @@ import gc import unittest import numpy as np -import pytest import torch from diffusers import FluxPipeline, FluxPriorReduxPipeline @@ -19,7 +18,6 @@ from diffusers.utils.testing_utils import ( @slow @require_big_accelerator -@pytest.mark.big_accelerator class FluxReduxSlowTests(unittest.TestCase): pipeline_class = FluxPriorReduxPipeline repo_id = "black-forest-labs/FLUX.1-Redux-dev" diff --git a/tests/pipelines/mochi/test_mochi.py b/tests/pipelines/mochi/test_mochi.py index 5b00261b06..c2821bad22 100644 --- a/tests/pipelines/mochi/test_mochi.py +++ b/tests/pipelines/mochi/test_mochi.py @@ -17,7 +17,6 @@ import inspect import unittest import numpy as np -import pytest import torch from transformers import AutoTokenizer, T5EncoderModel @@ -268,7 +267,6 @@ class MochiPipelineFastTests(PipelineTesterMixin, FasterCacheTesterMixin, unitte @nightly @require_torch_accelerator @require_big_accelerator -@pytest.mark.big_accelerator class MochiPipelineIntegrationTests(unittest.TestCase): prompt = "A painting of a squirrel eating a burger." diff --git a/tests/pipelines/stable_diffusion_3/test_pipeline_stable_diffusion_3.py b/tests/pipelines/stable_diffusion_3/test_pipeline_stable_diffusion_3.py index 577ac4ebdd..2179ec8e22 100644 --- a/tests/pipelines/stable_diffusion_3/test_pipeline_stable_diffusion_3.py +++ b/tests/pipelines/stable_diffusion_3/test_pipeline_stable_diffusion_3.py @@ -2,7 +2,6 @@ import gc import unittest import numpy as np -import pytest import torch from transformers import AutoTokenizer, CLIPTextConfig, CLIPTextModelWithProjection, CLIPTokenizer, T5EncoderModel @@ -233,7 +232,6 @@ class StableDiffusion3PipelineFastTests(unittest.TestCase, PipelineTesterMixin): @slow @require_big_accelerator -@pytest.mark.big_accelerator class StableDiffusion3PipelineSlowTests(unittest.TestCase): pipeline_class = StableDiffusion3Pipeline repo_id = "stabilityai/stable-diffusion-3-medium-diffusers" diff --git a/tests/pipelines/stable_diffusion_3/test_pipeline_stable_diffusion_3_img2img.py b/tests/pipelines/stable_diffusion_3/test_pipeline_stable_diffusion_3_img2img.py index f5b5e63a81..7f913cb63d 100644 --- a/tests/pipelines/stable_diffusion_3/test_pipeline_stable_diffusion_3_img2img.py +++ b/tests/pipelines/stable_diffusion_3/test_pipeline_stable_diffusion_3_img2img.py @@ -3,7 +3,6 @@ import random import unittest import numpy as np -import pytest import torch from transformers import AutoTokenizer, CLIPTextConfig, CLIPTextModelWithProjection, CLIPTokenizer, T5EncoderModel @@ -168,7 +167,6 @@ class StableDiffusion3Img2ImgPipelineFastTests(PipelineLatentTesterMixin, unitte @slow @require_big_accelerator -@pytest.mark.big_accelerator class StableDiffusion3Img2ImgPipelineSlowTests(unittest.TestCase): pipeline_class = StableDiffusion3Img2ImgPipeline repo_id = "stabilityai/stable-diffusion-3-medium-diffusers"