From c3483e8e97d399d5b796ef4af75a23934bd49b10 Mon Sep 17 00:00:00 2001 From: Ke Bao Date: Sun, 15 Mar 2026 23:25:18 +0800 Subject: [PATCH] [CI] Move existing unit tests into unit directory (#20631) --- .../batch_invariant_ops}/test_batch_invariant_ops.py | 0 .../{core => unit/entrypoints}/test_ssl_cert_refresher.py | 0 .../{ => unit}/function_call/test_function_call_parser.py | 0 .../{ => unit}/function_call/test_glm47_moe_detector.py | 0 .../function_call/test_json_schema_constraint.py | 0 .../{ => unit}/function_call/test_parallel_tool_calls.py | 0 .../{ => unit}/function_call/test_unknown_tool_name.py | 0 test/{unit => registered/unit/layers}/test_conv_layer.py | 4 ++++ .../unit/layers}/test_mamba_state_scatter_triton.py | 8 ++++++-- test/registered/{core => unit/managers}/test_io_struct.py | 0 .../{scheduler => unit/managers}/test_prefill_adder.py | 0 .../managers}/test_profile_merger_http_api.py | 0 .../mem_cache}/test_mamba_unittest.py | 0 .../mem_cache}/test_nsa_pool_host_unit.py | 0 .../mem_cache}/test_radix_cache_slru_accuracy.py | 3 ++- .../mem_cache}/test_radix_cache_unit.py | 0 .../{radix_cache => unit/mem_cache}/test_swa_unittest.py | 0 .../{core => unit/model_executor}/test_model_hooks.py | 0 .../model_loader}/test_modelopt_export.py | 0 .../model_loader}/test_modelopt_loader.py | 0 .../{metrics => unit/observability}/test_cpu_monitor.py | 0 .../{metrics => unit/observability}/test_metrics_utils.py | 0 test/registered/{ => unit}/parser/test_harmony_parser.py | 0 .../parser}/test_jinja_template_utils.py | 0 .../registered/{ => unit}/parser/test_reasoning_parser.py | 0 .../{core => unit/server_args}/test_server_args.py | 0 test/{ => registered}/unit/utils/test_gauge_histogram.py | 4 ++++ .../{tokenizer => unit/utils}/test_patch_tokenizer.py | 0 .../{profiling => unit/utils}/test_profile_merger.py | 0 29 files changed, 16 insertions(+), 3 deletions(-) rename test/registered/{core => unit/batch_invariant_ops}/test_batch_invariant_ops.py (100%) rename test/registered/{core => unit/entrypoints}/test_ssl_cert_refresher.py (100%) rename test/registered/{ => unit}/function_call/test_function_call_parser.py (100%) rename test/registered/{ => unit}/function_call/test_glm47_moe_detector.py (100%) rename test/registered/{ => unit}/function_call/test_json_schema_constraint.py (100%) rename test/registered/{ => unit}/function_call/test_parallel_tool_calls.py (100%) rename test/registered/{ => unit}/function_call/test_unknown_tool_name.py (100%) rename test/{unit => registered/unit/layers}/test_conv_layer.py (99%) rename test/{unit => registered/unit/layers}/test_mamba_state_scatter_triton.py (98%) rename test/registered/{core => unit/managers}/test_io_struct.py (100%) rename test/registered/{scheduler => unit/managers}/test_prefill_adder.py (100%) rename test/registered/{profiling => unit/managers}/test_profile_merger_http_api.py (100%) rename test/registered/{radix_cache => unit/mem_cache}/test_mamba_unittest.py (100%) rename test/registered/{hicache => unit/mem_cache}/test_nsa_pool_host_unit.py (100%) rename test/registered/{radix_cache => unit/mem_cache}/test_radix_cache_slru_accuracy.py (98%) rename test/registered/{radix_cache => unit/mem_cache}/test_radix_cache_unit.py (100%) rename test/registered/{radix_cache => unit/mem_cache}/test_swa_unittest.py (100%) rename test/registered/{core => unit/model_executor}/test_model_hooks.py (100%) rename test/registered/{model_loading => unit/model_loader}/test_modelopt_export.py (100%) rename test/registered/{model_loading => unit/model_loader}/test_modelopt_loader.py (100%) rename test/registered/{metrics => unit/observability}/test_cpu_monitor.py (100%) rename test/registered/{metrics => unit/observability}/test_metrics_utils.py (100%) rename test/registered/{ => unit}/parser/test_harmony_parser.py (100%) rename test/registered/{function_call => unit/parser}/test_jinja_template_utils.py (100%) rename test/registered/{ => unit}/parser/test_reasoning_parser.py (100%) rename test/registered/{core => unit/server_args}/test_server_args.py (100%) rename test/{ => registered}/unit/utils/test_gauge_histogram.py (96%) rename test/registered/{tokenizer => unit/utils}/test_patch_tokenizer.py (100%) rename test/registered/{profiling => unit/utils}/test_profile_merger.py (100%) diff --git a/test/registered/core/test_batch_invariant_ops.py b/test/registered/unit/batch_invariant_ops/test_batch_invariant_ops.py similarity index 100% rename from test/registered/core/test_batch_invariant_ops.py rename to test/registered/unit/batch_invariant_ops/test_batch_invariant_ops.py diff --git a/test/registered/core/test_ssl_cert_refresher.py b/test/registered/unit/entrypoints/test_ssl_cert_refresher.py similarity index 100% rename from test/registered/core/test_ssl_cert_refresher.py rename to test/registered/unit/entrypoints/test_ssl_cert_refresher.py diff --git a/test/registered/function_call/test_function_call_parser.py b/test/registered/unit/function_call/test_function_call_parser.py similarity index 100% rename from test/registered/function_call/test_function_call_parser.py rename to test/registered/unit/function_call/test_function_call_parser.py diff --git a/test/registered/function_call/test_glm47_moe_detector.py b/test/registered/unit/function_call/test_glm47_moe_detector.py similarity index 100% rename from test/registered/function_call/test_glm47_moe_detector.py rename to test/registered/unit/function_call/test_glm47_moe_detector.py diff --git a/test/registered/function_call/test_json_schema_constraint.py b/test/registered/unit/function_call/test_json_schema_constraint.py similarity index 100% rename from test/registered/function_call/test_json_schema_constraint.py rename to test/registered/unit/function_call/test_json_schema_constraint.py diff --git a/test/registered/function_call/test_parallel_tool_calls.py b/test/registered/unit/function_call/test_parallel_tool_calls.py similarity index 100% rename from test/registered/function_call/test_parallel_tool_calls.py rename to test/registered/unit/function_call/test_parallel_tool_calls.py diff --git a/test/registered/function_call/test_unknown_tool_name.py b/test/registered/unit/function_call/test_unknown_tool_name.py similarity index 100% rename from test/registered/function_call/test_unknown_tool_name.py rename to test/registered/unit/function_call/test_unknown_tool_name.py diff --git a/test/unit/test_conv_layer.py b/test/registered/unit/layers/test_conv_layer.py similarity index 99% rename from test/unit/test_conv_layer.py rename to test/registered/unit/layers/test_conv_layer.py index ff4b80bda..e974754d2 100644 --- a/test/unit/test_conv_layer.py +++ b/test/registered/unit/layers/test_conv_layer.py @@ -1,3 +1,7 @@ +from sglang.test.ci.ci_register import register_cuda_ci + +register_cuda_ci(est_time=10, suite="stage-b-test-small-1-gpu") + import unittest import torch diff --git a/test/unit/test_mamba_state_scatter_triton.py b/test/registered/unit/layers/test_mamba_state_scatter_triton.py similarity index 98% rename from test/unit/test_mamba_state_scatter_triton.py rename to test/registered/unit/layers/test_mamba_state_scatter_triton.py index 0778a091e..5ff131168 100644 --- a/test/unit/test_mamba_state_scatter_triton.py +++ b/test/registered/unit/layers/test_mamba_state_scatter_triton.py @@ -1,3 +1,7 @@ +from sglang.test.ci.ci_register import register_cuda_ci + +register_cuda_ci(est_time=10, suite="stage-b-test-small-1-gpu") + import os import unittest @@ -177,10 +181,10 @@ class TestMambaStateScatterCorrectness(unittest.TestCase): ssm_elems = 1024 conv_elems = 512 - ssm_states0 = torch.empty( + ssm_states0 = torch.randn( (L, C, ssm_elems), device=device, dtype=torch.bfloat16 ) - conv_states0 = torch.empty( + conv_states0 = torch.randn( (L, C, conv_elems), device=device, dtype=torch.bfloat16 ) intermediate_ssm = torch.randn( diff --git a/test/registered/core/test_io_struct.py b/test/registered/unit/managers/test_io_struct.py similarity index 100% rename from test/registered/core/test_io_struct.py rename to test/registered/unit/managers/test_io_struct.py diff --git a/test/registered/scheduler/test_prefill_adder.py b/test/registered/unit/managers/test_prefill_adder.py similarity index 100% rename from test/registered/scheduler/test_prefill_adder.py rename to test/registered/unit/managers/test_prefill_adder.py diff --git a/test/registered/profiling/test_profile_merger_http_api.py b/test/registered/unit/managers/test_profile_merger_http_api.py similarity index 100% rename from test/registered/profiling/test_profile_merger_http_api.py rename to test/registered/unit/managers/test_profile_merger_http_api.py diff --git a/test/registered/radix_cache/test_mamba_unittest.py b/test/registered/unit/mem_cache/test_mamba_unittest.py similarity index 100% rename from test/registered/radix_cache/test_mamba_unittest.py rename to test/registered/unit/mem_cache/test_mamba_unittest.py diff --git a/test/registered/hicache/test_nsa_pool_host_unit.py b/test/registered/unit/mem_cache/test_nsa_pool_host_unit.py similarity index 100% rename from test/registered/hicache/test_nsa_pool_host_unit.py rename to test/registered/unit/mem_cache/test_nsa_pool_host_unit.py diff --git a/test/registered/radix_cache/test_radix_cache_slru_accuracy.py b/test/registered/unit/mem_cache/test_radix_cache_slru_accuracy.py similarity index 98% rename from test/registered/radix_cache/test_radix_cache_slru_accuracy.py rename to test/registered/unit/mem_cache/test_radix_cache_slru_accuracy.py index de3a7cc25..3723f3c0f 100644 --- a/test/registered/radix_cache/test_radix_cache_slru_accuracy.py +++ b/test/registered/unit/mem_cache/test_radix_cache_slru_accuracy.py @@ -20,7 +20,8 @@ class TestSLRUAccuracy(unittest.TestCase): def setUp(self): """Setup minimal memory pools for testing""" - device = "cpu" # Using CPU for testing simplicity + torch.set_default_device(None) + device = "cpu" dtype = torch.float16 # Create smaller KV cache to ensure evictions occur diff --git a/test/registered/radix_cache/test_radix_cache_unit.py b/test/registered/unit/mem_cache/test_radix_cache_unit.py similarity index 100% rename from test/registered/radix_cache/test_radix_cache_unit.py rename to test/registered/unit/mem_cache/test_radix_cache_unit.py diff --git a/test/registered/radix_cache/test_swa_unittest.py b/test/registered/unit/mem_cache/test_swa_unittest.py similarity index 100% rename from test/registered/radix_cache/test_swa_unittest.py rename to test/registered/unit/mem_cache/test_swa_unittest.py diff --git a/test/registered/core/test_model_hooks.py b/test/registered/unit/model_executor/test_model_hooks.py similarity index 100% rename from test/registered/core/test_model_hooks.py rename to test/registered/unit/model_executor/test_model_hooks.py diff --git a/test/registered/model_loading/test_modelopt_export.py b/test/registered/unit/model_loader/test_modelopt_export.py similarity index 100% rename from test/registered/model_loading/test_modelopt_export.py rename to test/registered/unit/model_loader/test_modelopt_export.py diff --git a/test/registered/model_loading/test_modelopt_loader.py b/test/registered/unit/model_loader/test_modelopt_loader.py similarity index 100% rename from test/registered/model_loading/test_modelopt_loader.py rename to test/registered/unit/model_loader/test_modelopt_loader.py diff --git a/test/registered/metrics/test_cpu_monitor.py b/test/registered/unit/observability/test_cpu_monitor.py similarity index 100% rename from test/registered/metrics/test_cpu_monitor.py rename to test/registered/unit/observability/test_cpu_monitor.py diff --git a/test/registered/metrics/test_metrics_utils.py b/test/registered/unit/observability/test_metrics_utils.py similarity index 100% rename from test/registered/metrics/test_metrics_utils.py rename to test/registered/unit/observability/test_metrics_utils.py diff --git a/test/registered/parser/test_harmony_parser.py b/test/registered/unit/parser/test_harmony_parser.py similarity index 100% rename from test/registered/parser/test_harmony_parser.py rename to test/registered/unit/parser/test_harmony_parser.py diff --git a/test/registered/function_call/test_jinja_template_utils.py b/test/registered/unit/parser/test_jinja_template_utils.py similarity index 100% rename from test/registered/function_call/test_jinja_template_utils.py rename to test/registered/unit/parser/test_jinja_template_utils.py diff --git a/test/registered/parser/test_reasoning_parser.py b/test/registered/unit/parser/test_reasoning_parser.py similarity index 100% rename from test/registered/parser/test_reasoning_parser.py rename to test/registered/unit/parser/test_reasoning_parser.py diff --git a/test/registered/core/test_server_args.py b/test/registered/unit/server_args/test_server_args.py similarity index 100% rename from test/registered/core/test_server_args.py rename to test/registered/unit/server_args/test_server_args.py diff --git a/test/unit/utils/test_gauge_histogram.py b/test/registered/unit/utils/test_gauge_histogram.py similarity index 96% rename from test/unit/utils/test_gauge_histogram.py rename to test/registered/unit/utils/test_gauge_histogram.py index ca003d6b0..5450e7d6b 100644 --- a/test/unit/utils/test_gauge_histogram.py +++ b/test/registered/unit/utils/test_gauge_histogram.py @@ -1,3 +1,7 @@ +from sglang.test.ci.ci_register import register_cpu_ci + +register_cpu_ci(est_time=5, suite="stage-a-cpu-only") + import unittest from sglang.srt.utils.gauge_histogram import BucketLabels diff --git a/test/registered/tokenizer/test_patch_tokenizer.py b/test/registered/unit/utils/test_patch_tokenizer.py similarity index 100% rename from test/registered/tokenizer/test_patch_tokenizer.py rename to test/registered/unit/utils/test_patch_tokenizer.py diff --git a/test/registered/profiling/test_profile_merger.py b/test/registered/unit/utils/test_profile_merger.py similarity index 100% rename from test/registered/profiling/test_profile_merger.py rename to test/registered/unit/utils/test_profile_merger.py