# Copyright 2023-2024 SGLang Team # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== import multiprocessing as mp import os import sys import unittest from pathlib import Path # Add test directory to path for lora_utils import # TODO: can be removed after migration sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent)) from lora_utils import ( ALL_OTHER_MULTI_LORA_MODELS, CI_MULTI_LORA_MODELS, run_lora_multiple_batch_on_model_cases, ) from sglang.test.test_utils import CustomTestCase, is_in_ci class TestLoRA(CustomTestCase): def test_ci_lora_models(self): run_lora_multiple_batch_on_model_cases(CI_MULTI_LORA_MODELS) def test_all_lora_models(self): if is_in_ci(): return filtered_models = [] for model_case in ALL_OTHER_MULTI_LORA_MODELS: if "ONLY_RUN" in os.environ and os.environ["ONLY_RUN"] != model_case.base: continue filtered_models.append(model_case) run_lora_multiple_batch_on_model_cases(filtered_models) if __name__ == "__main__": try: mp.set_start_method("spawn") except RuntimeError: pass unittest.main(warnings="ignore")