Extend lint test to test/ directory (#13247)

This commit is contained in:
Kangyan-Zhou
2025-11-14 00:01:48 -08:00
committed by GitHub
parent 7b79cc4fe2
commit 49141df94a
95 changed files with 27 additions and 207 deletions
+1 -1
View File
@@ -31,7 +31,7 @@ repos:
args: args:
- --select=F401,F821 - --select=F401,F821
- --fix - --fix
files: ^(benchmark/|docs/|examples/|python/sglang/|sgl-router/py_*) files: ^(benchmark/|docs/|examples/|python/sglang/|sgl-router/py_*|test/)
exclude: | exclude: |
(?x)^( (?x)^(
.*/__init__\.py$| .*/__init__\.py$|
-1
View File
@@ -1,4 +1,3 @@
import json
import unittest import unittest
from sglang import Anthropic, set_default_backend from sglang import Anthropic, set_default_backend
-1
View File
@@ -1,4 +1,3 @@
import json
import unittest import unittest
from sglang import LiteLLM, set_default_backend from sglang import LiteLLM, set_default_backend
+1 -1
View File
@@ -7,7 +7,7 @@ python3 -m unittest test/lang/test_separate_reasoning.py
import unittest import unittest
from sglang import assistant, gen, separate_reasoning, user from sglang import gen, separate_reasoning
from sglang.lang.ir import SglExprList, SglSeparateReasoning from sglang.lang.ir import SglExprList, SglSeparateReasoning
from sglang.test.test_utils import CustomTestCase from sglang.test.test_utils import CustomTestCase
@@ -6,11 +6,9 @@ python3 -m unittest test/lang/test_separate_reasoning_execution.py
""" """
import threading import threading
import time
import unittest import unittest
from unittest.mock import MagicMock, patch from unittest.mock import MagicMock, patch
from sglang import assistant, gen, separate_reasoning, user
from sglang.lang.interpreter import StreamExecutor from sglang.lang.interpreter import StreamExecutor
from sglang.lang.ir import SglGen, SglSeparateReasoning from sglang.lang.ir import SglGen, SglSeparateReasoning
from sglang.test.test_utils import CustomTestCase from sglang.test.test_utils import CustomTestCase
-1
View File
@@ -6,7 +6,6 @@ from urllib.parse import urlparse
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k
from sglang.test.test_utils import ( from sglang.test.test_utils import (
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
DEFAULT_URL_FOR_TEST, DEFAULT_URL_FOR_TEST,
CustomTestCase, CustomTestCase,
is_in_ci, is_in_ci,
@@ -6,7 +6,6 @@ from urllib.parse import urlparse
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k
from sglang.test.test_utils import ( from sglang.test.test_utils import (
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
DEFAULT_URL_FOR_TEST, DEFAULT_URL_FOR_TEST,
CustomTestCase, CustomTestCase,
is_in_ci, is_in_ci,
-1
View File
@@ -5,7 +5,6 @@ from urllib.parse import urlparse
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k
from sglang.test.test_utils import ( from sglang.test.test_utils import (
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
DEFAULT_URL_FOR_TEST, DEFAULT_URL_FOR_TEST,
CustomTestCase, CustomTestCase,
is_in_ci, is_in_ci,
-2
View File
@@ -1,9 +1,7 @@
import itertools import itertools
import unittest import unittest
import sgl_kernel
import torch import torch
import torch.nn.functional as F
from utils import GeluAndMul, SiluAndMul, precision from utils import GeluAndMul, SiluAndMul, precision
from sglang.srt.server_args import ServerArgs, set_global_server_args_for_scheduler from sglang.srt.server_args import ServerArgs, set_global_server_args_for_scheduler
-1
View File
@@ -1,7 +1,6 @@
import re import re
import unittest import unittest
import sgl_kernel
import torch import torch
kernel = torch.ops.sgl_kernel kernel = torch.ops.sgl_kernel
-2
View File
@@ -5,11 +5,9 @@ import traceback
import unittest import unittest
from multiprocessing import Process from multiprocessing import Process
import sgl_kernel
import torch import torch
import torch.distributed as dist import torch.distributed as dist
import torch.multiprocessing as mp import torch.multiprocessing as mp
from utils import precision
from sglang.test.test_utils import CustomTestCase, find_available_port from sglang.test.test_utils import CustomTestCase, find_available_port
-1
View File
@@ -1,6 +1,5 @@
import unittest import unittest
import sgl_kernel
import torch import torch
from torch.nn.functional import scaled_dot_product_attention from torch.nn.functional import scaled_dot_product_attention
-1
View File
@@ -1,6 +1,5 @@
import unittest import unittest
import sgl_kernel
import torch import torch
from torch.nn.functional import scaled_dot_product_attention from torch.nn.functional import scaled_dot_product_attention
-1
View File
@@ -2,7 +2,6 @@ import itertools
import unittest import unittest
# TODO: use interface in cpu.py # TODO: use interface in cpu.py
import sgl_kernel
import torch import torch
import torch.nn as nn import torch.nn as nn
from utils import ( from utils import (
-2
View File
@@ -1,7 +1,5 @@
import itertools
import unittest import unittest
import sgl_kernel
import torch import torch
from torch.nn.functional import scaled_dot_product_attention from torch.nn.functional import scaled_dot_product_attention
from utils import precision from utils import precision
-1
View File
@@ -3,7 +3,6 @@ import math
import unittest import unittest
# TODO: use interface in cpu.py # TODO: use interface in cpu.py
import sgl_kernel
import torch import torch
kernel = torch.ops.sgl_kernel kernel = torch.ops.sgl_kernel
-1
View File
@@ -2,7 +2,6 @@ import itertools
import unittest import unittest
from typing import Optional, Tuple, Union from typing import Optional, Tuple, Union
import sgl_kernel
import torch import torch
from utils import make_non_contiguous, precision from utils import make_non_contiguous, precision
-1
View File
@@ -1,6 +1,5 @@
import unittest import unittest
import sgl_kernel
import torch import torch
from utils import ( from utils import (
convert_weight, convert_weight,
-1
View File
@@ -1,6 +1,5 @@
import unittest import unittest
import sgl_kernel
import torch import torch
from utils import precision from utils import precision
-2
View File
@@ -3,9 +3,7 @@ import math
import unittest import unittest
# TODO: use interface in cpu.py # TODO: use interface in cpu.py
import sgl_kernel
import torch import torch
import torch.nn as nn
from utils import ( from utils import (
BLOCK_K, BLOCK_K,
BLOCK_N, BLOCK_N,
-3
View File
@@ -1,9 +1,6 @@
import itertools
import unittest import unittest
import sgl_kernel
import torch import torch
from utils import precision
from sglang.srt.layers.moe.topk import ( from sglang.srt.layers.moe.topk import (
biased_grouped_topk_impl as native_biased_grouped_topk, biased_grouped_topk_impl as native_biased_grouped_topk,
@@ -8,7 +8,6 @@ Run with:
import threading import threading
import time import time
import unittest import unittest
from typing import Optional
import requests import requests
-1
View File
@@ -1,6 +1,5 @@
# Copy from deepseek-ai/DeepEP/tests/test_intranode.py # Copy from deepseek-ai/DeepEP/tests/test_intranode.py
import os
import time import time
# noinspection PyUnresolvedReferences # noinspection PyUnresolvedReferences
-1
View File
@@ -317,7 +317,6 @@ class TestMTP(CustomTestCase):
class TestMTPWithTBO(CustomTestCase): class TestMTPWithTBO(CustomTestCase):
@classmethod @classmethod
def setUpClass(cls): def setUpClass(cls):
import os
cls.model = DEFAULT_MODEL_NAME_FOR_TEST_MLA cls.model = DEFAULT_MODEL_NAME_FOR_TEST_MLA
cls.base_url = DEFAULT_URL_FOR_TEST cls.base_url = DEFAULT_URL_FOR_TEST
-1
View File
@@ -1,4 +1,3 @@
import os
import tempfile import tempfile
import unittest import unittest
from pathlib import Path from pathlib import Path
-1
View File
@@ -1,5 +1,4 @@
import json import json
import os
import unittest import unittest
from types import SimpleNamespace from types import SimpleNamespace
+1 -2
View File
@@ -8,8 +8,7 @@ import threading
import time import time
from dataclasses import dataclass from dataclasses import dataclass
from datetime import datetime from datetime import datetime
from pathlib import Path from typing import List, Optional, Tuple
from typing import Dict, List, Optional, Tuple
import psutil import psutil
import requests import requests
@@ -12,7 +12,6 @@ from sglang.srt.entrypoints.openai.protocol import (
ToolChoice, ToolChoice,
ToolChoiceFuncName, ToolChoiceFuncName,
) )
from sglang.srt.function_call.function_call_parser import FunctionCallParser
from sglang.srt.function_call.utils import ( from sglang.srt.function_call.utils import (
_get_tool_schema_defs, _get_tool_schema_defs,
get_json_schema_constraint, get_json_schema_constraint,
@@ -6,13 +6,10 @@ Usage:
import json import json
import os import os
import time
import unittest import unittest
from types import SimpleNamespace
from test_hicache_storage_file_backend import HiCacheStorageBaseMixin from test_hicache_storage_file_backend import HiCacheStorageBaseMixin
from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k
from sglang.test.test_utils import CustomTestCase from sglang.test.test_utils import CustomTestCase
-2
View File
@@ -4,11 +4,9 @@ from types import SimpleNamespace
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.run_eval import run_eval from sglang.test.run_eval import run_eval
from sglang.test.test_utils import ( from sglang.test.test_utils import (
DEFAULT_AWQ_MOE_MODEL_NAME_FOR_TEST,
DEFAULT_MODEL_NAME_FOR_TEST_FP8_WITH_MOE, DEFAULT_MODEL_NAME_FOR_TEST_FP8_WITH_MOE,
DEFAULT_MODEL_NAME_FOR_TEST_MOE_NVFP4, DEFAULT_MODEL_NAME_FOR_TEST_MOE_NVFP4,
DEFAULT_MODEL_NAME_FOR_TEST_MXFP4_WITH_MOE, DEFAULT_MODEL_NAME_FOR_TEST_MXFP4_WITH_MOE,
DEFAULT_MODEL_NAME_FOR_TEST_W8A8_WITH_MOE,
DEFAULT_SMALL_MOE_MODEL_NAME_FOR_TEST_CHAT, DEFAULT_SMALL_MOE_MODEL_NAME_FOR_TEST_CHAT,
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH, DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
DEFAULT_URL_FOR_TEST, DEFAULT_URL_FOR_TEST,
-1
View File
@@ -18,7 +18,6 @@ import random
import unittest import unittest
from typing import List from typing import List
import torch
from utils import ( from utils import (
ALL_OTHER_MULTI_LORA_MODELS, ALL_OTHER_MULTI_LORA_MODELS,
CI_MULTI_LORA_MODELS, CI_MULTI_LORA_MODELS,
+1 -1
View File
@@ -6,7 +6,7 @@ that enables OpenAI-compatible LoRA adapter selection.
""" """
import unittest import unittest
from unittest.mock import MagicMock, Mock from unittest.mock import MagicMock
from sglang.srt.entrypoints.openai.serving_base import OpenAIServingBase from sglang.srt.entrypoints.openai.serving_base import OpenAIServingBase
from sglang.srt.server_args import ServerArgs from sglang.srt.server_args import ServerArgs
+1 -3
View File
@@ -13,13 +13,11 @@
# ============================================================================== # ==============================================================================
import multiprocessing as mp import multiprocessing as mp
import random
import unittest import unittest
import torch import torch
from utils import CI_MULTI_LORA_MODELS, DEFAULT_PROMPTS, run_lora_test_one_by_one from utils import CI_MULTI_LORA_MODELS, run_lora_test_one_by_one
from sglang.test.runners import HFRunner, SRTRunner
from sglang.test.test_utils import CustomTestCase from sglang.test.test_utils import CustomTestCase
PROMPTS = [ PROMPTS = [
+1 -1
View File
@@ -14,7 +14,7 @@
import dataclasses import dataclasses
import random import random
from typing import List, Optional from typing import List
import torch import torch
+1 -3
View File
@@ -16,10 +16,8 @@ import multiprocessing as mp
import unittest import unittest
import torch import torch
from transformers import AutoProcessor
from sglang.srt.utils import load_image from sglang.test.runners import HFRunner, SRTRunner
from sglang.test.runners import DEFAULT_PROMPTS, HFRunner, SRTRunner
from sglang.test.test_utils import get_similarities from sglang.test.test_utils import get_similarities
TEXTS = "two Subway Series sandwiches with meats, cheese, lettuce, tomatoes, and onions on a black background, accompanied by the Subway Series logo, highlighting a new sandwich series." TEXTS = "two Subway Series sandwiches with meats, cheese, lettuce, tomatoes, and onions on a black background, accompanied by the Subway Series logo, highlighting a new sandwich series."
@@ -3,7 +3,6 @@ import random
import unittest import unittest
import torch import torch
from transformers import AutoConfig, AutoTokenizer
from sglang.test.runners import TEST_RERANK_QUERY_DOCS, HFRunner, SRTRunner from sglang.test.runners import TEST_RERANK_QUERY_DOCS, HFRunner, SRTRunner
from sglang.test.test_utils import CustomTestCase, is_in_ci from sglang.test.test_utils import CustomTestCase, is_in_ci
-1
View File
@@ -1,4 +1,3 @@
import unittest
from types import SimpleNamespace from types import SimpleNamespace
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
@@ -22,7 +22,6 @@ To test a specific model locally:
import dataclasses import dataclasses
import multiprocessing as mp import multiprocessing as mp
import os import os
import random
import unittest import unittest
from typing import List from typing import List
-1
View File
@@ -1,4 +1,3 @@
import random
import unittest import unittest
from types import SimpleNamespace from types import SimpleNamespace
-1
View File
@@ -2,7 +2,6 @@ import json
import os import os
import unittest import unittest
import warnings import warnings
from datetime import datetime
from types import SimpleNamespace from types import SimpleNamespace
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
@@ -1,8 +1,6 @@
import json import json
import os
import unittest import unittest
import numpy as np
import openai import openai
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
@@ -7,12 +7,10 @@ python3 -m unittest openai_server.basic.test_openai_server.TestOpenAIServer.test
import json import json
import random import random
import re
import unittest import unittest
from concurrent.futures import ThreadPoolExecutor from concurrent.futures import ThreadPoolExecutor
from typing import Optional from typing import Optional
import numpy as np
import openai import openai
import requests import requests
+1 -35
View File
@@ -13,53 +13,19 @@
# ============================================================================== # ==============================================================================
"""Tests for OpenAI API protocol models""" """Tests for OpenAI API protocol models"""
import json
import time
import unittest import unittest
from typing import Dict, List, Optional from typing import List, Optional
from pydantic import BaseModel, Field, ValidationError from pydantic import BaseModel, Field, ValidationError
from sglang.srt.entrypoints.openai.protocol import ( from sglang.srt.entrypoints.openai.protocol import (
BatchRequest,
BatchResponse,
ChatCompletionMessageContentImagePart,
ChatCompletionMessageContentTextPart,
ChatCompletionRequest, ChatCompletionRequest,
ChatCompletionResponse, ChatCompletionResponse,
ChatCompletionResponseChoice, ChatCompletionResponseChoice,
ChatCompletionResponseStreamChoice,
ChatCompletionStreamResponse,
ChatCompletionTokenLogprob,
ChatMessage, ChatMessage,
ChoiceLogprobs,
CompletionRequest, CompletionRequest,
CompletionResponse,
CompletionResponseChoice,
DeltaMessage,
EmbeddingObject,
EmbeddingRequest,
EmbeddingResponse,
ErrorResponse,
FileDeleteResponse,
FileRequest,
FileResponse,
Function,
FunctionResponse,
JsonSchemaResponseFormat,
LogProbs,
ModelCard, ModelCard,
ModelList, ModelList,
MultimodalEmbeddingInput,
ResponseFormat,
ScoringRequest,
ScoringResponse,
StreamOptions,
StructuralTagResponseFormat,
Tool,
ToolCall,
ToolChoice,
TopLogprob,
UsageInfo, UsageInfo,
) )
@@ -6,7 +6,7 @@ Run with:
import unittest import unittest
from typing import Optional from typing import Optional
from unittest.mock import AsyncMock, Mock, patch from unittest.mock import AsyncMock, Mock
from sglang.srt.entrypoints.openai.protocol import CompletionRequest from sglang.srt.entrypoints.openai.protocol import CompletionRequest
from sglang.srt.entrypoints.openai.serving_completions import OpenAIServingCompletion from sglang.srt.entrypoints.openai.serving_completions import OpenAIServingCompletion
@@ -10,7 +10,6 @@ from fastapi import Request
from sglang.srt.entrypoints.openai.protocol import ( from sglang.srt.entrypoints.openai.protocol import (
EmbeddingRequest, EmbeddingRequest,
EmbeddingResponse,
MultimodalEmbeddingInput, MultimodalEmbeddingInput,
) )
from sglang.srt.entrypoints.openai.serving_embedding import OpenAIServingEmbedding from sglang.srt.entrypoints.openai.serving_embedding import OpenAIServingEmbedding
@@ -1,4 +1,3 @@
import asyncio
import unittest import unittest
import openai import openai
@@ -6,18 +6,12 @@ python3 -m unittest openai_server.features.test_enable_thinking.TestEnableThinki
python3 -m unittest openai_server.features.test_enable_thinking.TestEnableThinking.test_stream_chat_completion_without_reasoning python3 -m unittest openai_server.features.test_enable_thinking.TestEnableThinking.test_stream_chat_completion_without_reasoning
""" """
import asyncio
import json import json
import os
import sys
import time
import unittest import unittest
import openai
import requests import requests
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.srt.utils.hf_transformers_utils import get_tokenizer
from sglang.test.test_utils import ( from sglang.test.test_utils import (
DEFAULT_ENABLE_THINKING_MODEL_NAME_FOR_TEST, DEFAULT_ENABLE_THINKING_MODEL_NAME_FOR_TEST,
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH, DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
@@ -1,19 +1,13 @@
import json
import re
import time
import unittest import unittest
from abc import ABC from abc import ABC
import numpy as np
import openai import openai
import torch
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.srt.utils.hf_transformers_utils import get_tokenizer from sglang.srt.utils.hf_transformers_utils import get_tokenizer
from sglang.test.test_utils import ( from sglang.test.test_utils import (
DEFAULT_EAGLE_DRAFT_MODEL_FOR_TEST, DEFAULT_EAGLE_DRAFT_MODEL_FOR_TEST,
DEFAULT_EAGLE_TARGET_MODEL_FOR_TEST, DEFAULT_EAGLE_TARGET_MODEL_FOR_TEST,
DEFAULT_SMALL_EMBEDDING_MODEL_NAME_FOR_TEST,
DEFAULT_SMALL_MODEL_NAME_FOR_TEST, DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH, DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
DEFAULT_URL_FOR_TEST, DEFAULT_URL_FOR_TEST,
@@ -9,11 +9,9 @@ python3 -m unittest openai_server.features.test_reasoning_content.TestReasoningC
python3 -m unittest openai_server.features.test_reasoning_content.TestReasoningContentStartup.test_streaming python3 -m unittest openai_server.features.test_reasoning_content.TestReasoningContentStartup.test_streaming
""" """
import json
import unittest import unittest
import openai import openai
import requests
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.test_utils import ( from sglang.test.test_utils import (
@@ -1,5 +1,4 @@
import json import json
import time
import unittest import unittest
import openai import openai
-2
View File
@@ -1,8 +1,6 @@
import unittest import unittest
from types import SimpleNamespace from types import SimpleNamespace
import requests
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.run_eval import run_eval from sglang.test.run_eval import run_eval
from sglang.test.test_utils import ( from sglang.test.test_utils import (
-1
View File
@@ -1,4 +1,3 @@
import itertools
import unittest import unittest
from typing import Optional from typing import Optional
@@ -22,7 +22,6 @@ import unittest
import numpy as np import numpy as np
import requests import requests
import torch import torch
import torch.distributed as dist
import torch.multiprocessing as mp import torch.multiprocessing as mp
from transformers import AutoModelForCausalLM from transformers import AutoModelForCausalLM
-1
View File
@@ -19,7 +19,6 @@ from torch.distributed.fsdp.api import (
from transformers import AutoModelForCausalLM from transformers import AutoModelForCausalLM
from sglang.srt.entrypoints.verl_engine import VerlEngine from sglang.srt.entrypoints.verl_engine import VerlEngine
from sglang.srt.utils import is_port_available
from sglang.srt.utils.hf_transformers_utils import get_tokenizer from sglang.srt.utils.hf_transformers_utils import get_tokenizer
from sglang.test.runners import ( from sglang.test.runners import (
HFRunner, HFRunner,
+1 -2
View File
@@ -19,7 +19,6 @@ from torch.distributed.fsdp.api import (
from transformers import AutoModelForCausalLM from transformers import AutoModelForCausalLM
from sglang.srt.entrypoints.verl_engine import VerlEngine from sglang.srt.entrypoints.verl_engine import VerlEngine
from sglang.srt.utils import is_port_available
from sglang.srt.utils.hf_transformers_utils import get_tokenizer from sglang.srt.utils.hf_transformers_utils import get_tokenizer
from sglang.test.runners import ( from sglang.test.runners import (
HFRunner, HFRunner,
@@ -125,7 +124,7 @@ class TestVerlEngine(CustomTestCase):
if is_in_ci(): if is_in_ci():
return return
for index, model_info in enumerate(ALL_OTHER_MODELS): for index, model_info in enumerate(ALL_MODELS):
self.assert_fragment_e2e_execution(index=index, **model_info) self.assert_fragment_e2e_execution(index=index, **model_info)
# def test_adhoc(self): # def test_adhoc(self):
-2
View File
@@ -1,6 +1,4 @@
import json
import multiprocessing import multiprocessing
import os
import time import time
import unittest import unittest
from concurrent.futures import ThreadPoolExecutor, as_completed from concurrent.futures import ThreadPoolExecutor, as_completed
@@ -8,7 +8,7 @@ including batch efficiency, timeout handling, and error cases.
import asyncio import asyncio
import logging import logging
import time import time
from unittest.mock import AsyncMock, Mock, patch from unittest.mock import Mock
import pytest import pytest
from transformers import AutoTokenizer from transformers import AutoTokenizer
-1
View File
@@ -1,4 +1,3 @@
import os
import unittest import unittest
from sglang.test.test_utils import ( from sglang.test.test_utils import (
-1
View File
@@ -4,7 +4,6 @@ import unittest
import requests import requests
from sglang.srt.utils.hf_transformers_utils import get_tokenizer
from sglang.test.test_utils import ( from sglang.test.test_utils import (
DEFAULT_EAGLE_DRAFT_MODEL_FOR_TEST, DEFAULT_EAGLE_DRAFT_MODEL_FOR_TEST,
DEFAULT_EAGLE_TARGET_MODEL_FOR_TEST, DEFAULT_EAGLE_TARGET_MODEL_FOR_TEST,
+1 -8
View File
@@ -4,19 +4,12 @@ python3 -m unittest test_bnb.TestVisionModel.test_vlm
python3 -m unittest test_bnb.TestLanguageModel.test_mmlu python3 -m unittest test_bnb.TestLanguageModel.test_mmlu
""" """
import io
import json
import multiprocessing as mp import multiprocessing as mp
import os import random
import unittest
from concurrent.futures import ThreadPoolExecutor from concurrent.futures import ThreadPoolExecutor
from types import SimpleNamespace from types import SimpleNamespace
import numpy as np
import openai import openai
import pybase64
import requests
from PIL import Image
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.run_eval import run_eval from sglang.test.run_eval import run_eval
-1
View File
@@ -4,7 +4,6 @@ Test script to verify SGLang config file integration.
import os import os
import tempfile import tempfile
from pathlib import Path
import pytest import pytest
import yaml import yaml
-1
View File
@@ -1,4 +1,3 @@
import os
import unittest import unittest
from types import SimpleNamespace from types import SimpleNamespace
-1
View File
@@ -1,4 +1,3 @@
import itertools
import unittest import unittest
import numpy as np import numpy as np
-1
View File
@@ -6,7 +6,6 @@ both dict and string types for tool['function']['arguments'] without double-esca
addressing issue #11700. addressing issue #11700.
""" """
import json
import os import os
import unittest import unittest
-1
View File
@@ -3,7 +3,6 @@ from types import SimpleNamespace
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k
from sglang.test.send_one import BenchArgs, send_one_prompt
from sglang.test.test_utils import ( from sglang.test.test_utils import (
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH, DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
DEFAULT_URL_FOR_TEST, DEFAULT_URL_FOR_TEST,
-2
View File
@@ -1,8 +1,6 @@
import unittest import unittest
from types import SimpleNamespace from types import SimpleNamespace
import requests
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k
from sglang.test.send_one import BenchArgs, send_one_prompt from sglang.test.send_one import BenchArgs, send_one_prompt
@@ -2,8 +2,6 @@ import os
import unittest import unittest
from types import SimpleNamespace from types import SimpleNamespace
import requests
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k
from sglang.test.test_utils import ( from sglang.test.test_utils import (
-9
View File
@@ -9,19 +9,10 @@ test into unit tests so that's easily reproducible in CI.
import unittest import unittest
from sglang.srt.utils import kill_process_tree
from sglang.test.test_deterministic import BenchArgs, test_deterministic
from sglang.test.test_deterministic_utils import ( from sglang.test.test_deterministic_utils import (
COMMON_SERVER_ARGS, COMMON_SERVER_ARGS,
DEFAULT_MODEL,
TestDeterministicBase, TestDeterministicBase,
) )
from sglang.test.test_utils import (
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
DEFAULT_URL_FOR_TEST,
CustomTestCase,
popen_launch_server,
)
class TestFlashinferDeterministic(TestDeterministicBase): class TestFlashinferDeterministic(TestDeterministicBase):
@@ -1,8 +1,6 @@
import os
import unittest import unittest
from types import SimpleNamespace from types import SimpleNamespace
from sglang.srt.environ import envs
from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k
from sglang.test.test_disaggregation_utils import TestDisaggregationBase from sglang.test.test_disaggregation_utils import TestDisaggregationBase
from sglang.test.test_utils import ( from sglang.test.test_utils import (
-2
View File
@@ -3,8 +3,6 @@ Usage:
python -m unittest test_eval_accuracy_large.TestEvalAccuracyLarge.test_mmlu python -m unittest test_eval_accuracy_large.TestEvalAccuracyLarge.test_mmlu
""" """
import os
import time
import unittest import unittest
from types import SimpleNamespace from types import SimpleNamespace
-1
View File
@@ -1,4 +1,3 @@
import os
import tempfile import tempfile
import unittest import unittest
from pathlib import Path from pathlib import Path
-1
View File
@@ -1,7 +1,6 @@
import unittest import unittest
from types import SimpleNamespace from types import SimpleNamespace
from sglang.srt.environ import envs
from sglang.srt.utils import get_device_sm, kill_process_tree from sglang.srt.utils import get_device_sm, kill_process_tree
from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k
from sglang.test.test_utils import ( from sglang.test.test_utils import (
-3
View File
@@ -11,15 +11,12 @@ import torch
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k from sglang.test.few_shot_gsm8k import run_eval as run_eval_few_shot_gsm8k
from sglang.test.send_one import BenchArgs, send_one_prompt
from sglang.test.test_utils import ( from sglang.test.test_utils import (
DEFAULT_MODEL_NAME_FOR_TEST_MLA, DEFAULT_MODEL_NAME_FOR_TEST_MLA,
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH, DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
DEFAULT_URL_FOR_TEST, DEFAULT_URL_FOR_TEST,
CustomTestCase, CustomTestCase,
is_in_ci,
popen_launch_server, popen_launch_server,
write_github_step_summary,
) )
+1 -2
View File
@@ -5,12 +5,11 @@ import pytest
import torch import torch
from flashinfer import fp4_quantize, scaled_fp4_grouped_quantize from flashinfer import fp4_quantize, scaled_fp4_grouped_quantize
from flashinfer.fused_moe import cutlass_fused_moe as flashinfer_cutlass_fused_moe from flashinfer.fused_moe import cutlass_fused_moe as flashinfer_cutlass_fused_moe
from sgl_kernel import scaled_fp4_quant from sgl_kernel import scaled_fp4_quant, silu_and_mul
from torch.nn import functional as F from torch.nn import functional as F
from sglang.srt.layers.moe.cutlass_moe import cutlass_moe_fp4 from sglang.srt.layers.moe.cutlass_moe import cutlass_moe_fp4
from sglang.srt.layers.moe.cutlass_moe_params import CutlassMoEParams, CutlassMoEType from sglang.srt.layers.moe.cutlass_moe_params import CutlassMoEParams, CutlassMoEType
from sglang.srt.layers.moe.flashinfer_cutedsl_moe import flashinfer_cutedsl_moe_masked
from sglang.srt.layers.moe.topk import TopKConfig, select_experts from sglang.srt.layers.moe.topk import TopKConfig, select_experts
if torch.cuda.get_device_capability() < (10, 0): if torch.cuda.get_device_capability() < (10, 0):
-3
View File
@@ -12,9 +12,6 @@ from sglang.srt.function_call.llama32_detector import Llama32Detector
from sglang.srt.function_call.mistral_detector import MistralDetector from sglang.srt.function_call.mistral_detector import MistralDetector
from sglang.srt.function_call.pythonic_detector import PythonicDetector from sglang.srt.function_call.pythonic_detector import PythonicDetector
from sglang.srt.function_call.qwen3_coder_detector import Qwen3CoderDetector from sglang.srt.function_call.qwen3_coder_detector import Qwen3CoderDetector
from sglang.srt.function_call.qwen25_detector import Qwen25Detector
from sglang.srt.utils.hf_transformers_utils import get_tokenizer
from sglang.test.test_utils import DEFAULT_SMALL_MODEL_NAME_FOR_TEST
class TestPythonicDetector(unittest.TestCase): class TestPythonicDetector(unittest.TestCase):
-1
View File
@@ -1,7 +1,6 @@
import unittest import unittest
import torch import torch
import torch.nn.functional as F
from tqdm import tqdm from tqdm import tqdm
from sglang.srt.layers.activation import SiluAndMul from sglang.srt.layers.activation import SiluAndMul
-1
View File
@@ -1,4 +1,3 @@
import os
import unittest import unittest
from types import SimpleNamespace from types import SimpleNamespace
-3
View File
@@ -1,7 +1,6 @@
import time import time
import unittest import unittest
import msgspec
import requests import requests
import zmq import zmq
from msgspec.msgpack import Decoder from msgspec.msgpack import Decoder
@@ -10,8 +9,6 @@ from sglang.srt.disaggregation.kv_events import (
AllBlocksCleared, AllBlocksCleared,
BlockRemoved, BlockRemoved,
BlockStored, BlockStored,
EventBatch,
KVCacheEvent,
KVEventBatch, KVEventBatch,
) )
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
@@ -21,7 +21,6 @@ import unittest
import numpy as np import numpy as np
import requests import requests
import torch import torch
import torch.distributed as dist
import torch.multiprocessing as mp import torch.multiprocessing as mp
import sglang as sgl import sglang as sgl
-1
View File
@@ -1,4 +1,3 @@
import inspect
import os import os
import unittest import unittest
+1 -2
View File
@@ -7,7 +7,6 @@ and quantization workflow.
import json import json
import os import os
import sys
import tempfile import tempfile
import unittest import unittest
from unittest.mock import Mock, patch from unittest.mock import Mock, patch
@@ -23,7 +22,7 @@ from sglang.srt.model_loader.loader import ModelOptModelLoader
# Check if modelopt is available # Check if modelopt is available
try: try:
import modelopt import modelopt # noqa: F401
MODELOPT_AVAILABLE = True MODELOPT_AVAILABLE = True
except ImportError: except ImportError:
-2
View File
@@ -5,8 +5,6 @@ This test module verifies the functionality of ModelOptModelLoader, which
applies NVIDIA Model Optimizer quantization to models during loading. applies NVIDIA Model Optimizer quantization to models during loading.
""" """
import os
import sys
import unittest import unittest
from unittest.mock import MagicMock, patch from unittest.mock import MagicMock, patch
+1 -10
View File
@@ -8,28 +8,20 @@ else
fi fi
""" """
import itertools
import os import os
import random import random
import socket import socket
import unittest import unittest
from contextlib import contextmanager, nullcontext from typing import Any
from typing import Any, List, Optional, Union
import ray import ray
import torch import torch
import torch.distributed as dist import torch.distributed as dist
from torch.distributed import ProcessGroup, ReduceOp
from sglang.srt.distributed import init_distributed_environment from sglang.srt.distributed import init_distributed_environment
from sglang.srt.distributed.communication_op import ( # noqa from sglang.srt.distributed.communication_op import ( # noqa
tensor_model_parallel_all_reduce, tensor_model_parallel_all_reduce,
) )
from sglang.srt.distributed.device_communicators.custom_all_reduce import (
CustomAllreduce,
)
from sglang.srt.distributed.device_communicators.pymscclpp import PyMscclppCommunicator
from sglang.srt.distributed.device_communicators.pynccl import PyNcclCommunicator
from sglang.srt.distributed.parallel_state import ( from sglang.srt.distributed.parallel_state import (
get_tensor_model_parallel_group, get_tensor_model_parallel_group,
graph_capture, graph_capture,
@@ -37,7 +29,6 @@ from sglang.srt.distributed.parallel_state import (
set_custom_all_reduce, set_custom_all_reduce,
set_mscclpp_all_reduce, set_mscclpp_all_reduce,
) )
from sglang.srt.distributed.utils import StatelessProcessGroup
from sglang.test.test_utils import CustomTestCase from sglang.test.test_utils import CustomTestCase
-1
View File
@@ -1,7 +1,6 @@
import unittest import unittest
from types import SimpleNamespace from types import SimpleNamespace
import sglang.srt.managers.io_struct as io_struct
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.run_eval import run_eval from sglang.test.run_eval import run_eval
from sglang.test.test_utils import ( from sglang.test.test_utils import (
-1
View File
@@ -17,7 +17,6 @@ import os
import random import random
import unittest import unittest
import numpy as np
import torch import torch
import torch.nn.functional as F import torch.nn.functional as F
from transformers import AutoModelForCausalLM, AutoTokenizer from transformers import AutoModelForCausalLM, AutoTokenizer
+1 -1
View File
@@ -2,7 +2,7 @@ import asyncio
import os import os
import re import re
import unittest import unittest
from typing import Any, Awaitable, Callable, List, Optional, Tuple from typing import Any, List, Optional, Tuple
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
from sglang.test.test_utils import ( from sglang.test.test_utils import (
-2
View File
@@ -1,8 +1,6 @@
import json import json
import os
import unittest import unittest
import warnings import warnings
from datetime import datetime
from types import SimpleNamespace from types import SimpleNamespace
from sglang.srt.utils import kill_process_tree from sglang.srt.utils import kill_process_tree
+1 -1
View File
@@ -6,7 +6,7 @@ from sglang.srt.managers.schedule_policy import (
CacheAwarePolicy, CacheAwarePolicy,
SchedulePolicy, SchedulePolicy,
) )
from sglang.srt.mem_cache.radix_cache import RadixCache, TreeNode from sglang.srt.mem_cache.radix_cache import RadixCache
from sglang.srt.sampling.sampling_params import SamplingParams from sglang.srt.sampling.sampling_params import SamplingParams
from sglang.test.test_utils import CustomTestCase from sglang.test.test_utils import CustomTestCase
+2 -4
View File
@@ -10,12 +10,10 @@ python3 -m unittest test_tokenizer_batch_encode.TestTokenizerBatchEncodeUnit.tes
python3 -m unittest test_tokenizer_batch_encode.TestTokenizerBatchEncodeLogic.test_batch_processing_path python3 -m unittest test_tokenizer_batch_encode.TestTokenizerBatchEncodeLogic.test_batch_processing_path
""" """
import asyncio
import unittest import unittest
from typing import List from unittest.mock import Mock, patch
from unittest.mock import AsyncMock, Mock, call, patch
from sglang.srt.managers.io_struct import GenerateReqInput, TokenizedGenerateReqInput from sglang.srt.managers.io_struct import GenerateReqInput
from sglang.srt.managers.tokenizer_manager import TokenizerManager from sglang.srt.managers.tokenizer_manager import TokenizerManager
from sglang.srt.server_args import PortArgs, ServerArgs from sglang.srt.server_args import PortArgs, ServerArgs
from sglang.test.test_utils import DEFAULT_SMALL_MODEL_NAME_FOR_TEST from sglang.test.test_utils import DEFAULT_SMALL_MODEL_NAME_FOR_TEST
-1
View File
@@ -12,7 +12,6 @@ python3 -m unittest test_tokenizer_manager.TestTokenizerManagerIntegration
""" """
import unittest import unittest
from typing import List, Optional, Union
from unittest.mock import Mock, patch from unittest.mock import Mock, patch
from sglang.srt.managers.tokenizer_manager import TokenizerManager from sglang.srt.managers.tokenizer_manager import TokenizerManager
-1
View File
@@ -10,7 +10,6 @@ import requests
import zmq import zmq
from sglang import Engine from sglang import Engine
from sglang.srt.managers.io_struct import TokenizedGenerateReqInput
from sglang.srt.tracing.trace import * from sglang.srt.tracing.trace import *
from sglang.srt.utils import get_zmq_socket, kill_process_tree from sglang.srt.utils import get_zmq_socket, kill_process_tree
from sglang.test.test_utils import ( from sglang.test.test_utils import (
-1
View File
@@ -1,7 +1,6 @@
import unittest import unittest
import torch import torch
import torch.nn.functional as F
from tqdm import tqdm from tqdm import tqdm
from sglang.srt.layers.activation import SiluAndMul from sglang.srt.layers.activation import SiluAndMul
+8 -7
View File
@@ -207,11 +207,12 @@ class TestDeepseekOCRServer(TestOpenAIMLLMServerBase):
if __name__ == "__main__": if __name__ == "__main__":
del ( # Note: Cannot delete mixin classes imported via * since they're not in local scope
TestOpenAIMLLMServerBase, # del (
ImageOpenAITestMixin, # TestOpenAIMLLMServerBase,
VideoOpenAITestMixin, # ImageOpenAITestMixin,
AudioOpenAITestMixin, # VideoOpenAITestMixin,
OmniOpenAITestMixin, # AudioOpenAITestMixin,
) # OmniOpenAITestMixin,
# )
unittest.main() unittest.main()
-1
View File
@@ -7,7 +7,6 @@ import requests
import torch import torch
from PIL import Image from PIL import Image
from transformers import ( from transformers import (
AutoModel,
AutoProcessor, AutoProcessor,
Gemma3ForConditionalGeneration, Gemma3ForConditionalGeneration,
Qwen2_5_VLForConditionalGeneration, Qwen2_5_VLForConditionalGeneration,
-1
View File
@@ -3,7 +3,6 @@ Usage:
python3 -m unittest test_intel_xpu_backend.TestIntelXPUBackend.test_latency_qwen_model python3 -m unittest test_intel_xpu_backend.TestIntelXPUBackend.test_latency_qwen_model
""" """
import os
import unittest import unittest
from functools import wraps from functools import wraps