Initial commit: FunASR Speech Recognition Toolkit
Update API Documentation / build-api-docs (push) Has been cancelled
Update API Documentation / build-api-docs (push) Has been cancelled
Add complete FunASR codebase including models, runtime, and documentation.
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
REPO_ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(REPO_ROOT))
|
||||
|
||||
from funasr.models.qwen3_asr import model as qwen3_model
|
||||
|
||||
|
||||
def test_qwen3_asr_dependency_check_reports_transformers_mismatch(monkeypatch):
|
||||
def fake_version(package_name):
|
||||
versions = {
|
||||
"qwen-asr": "0.0.6",
|
||||
"transformers": "5.5.0",
|
||||
}
|
||||
return versions[package_name]
|
||||
|
||||
def fake_requires(package_name):
|
||||
assert package_name == "qwen-asr"
|
||||
return ["transformers==4.57.6", "accelerate==1.12.0"]
|
||||
|
||||
monkeypatch.setattr(qwen3_model, "_package_version", fake_version)
|
||||
monkeypatch.setattr(qwen3_model, "_package_requires", fake_requires)
|
||||
|
||||
with pytest.raises(ImportError) as exc_info:
|
||||
qwen3_model._check_qwen3_asr_dependencies()
|
||||
|
||||
message = str(exc_info.value)
|
||||
assert "Qwen3-ASR dependency mismatch" in message
|
||||
assert "qwen-asr==0.0.6 requires transformers==4.57.6" in message
|
||||
assert "active environment has transformers==5.5.0" in message
|
||||
assert 'pip install -U "qwen-asr==0.0.6" "transformers==4.57.6" accelerate' in message
|
||||
|
||||
|
||||
def test_qwen3_asr_dependency_check_accepts_matching_transformers(monkeypatch):
|
||||
def fake_version(package_name):
|
||||
versions = {
|
||||
"qwen-asr": "0.0.6",
|
||||
"transformers": "4.57.6",
|
||||
}
|
||||
return versions[package_name]
|
||||
|
||||
def fake_requires(package_name):
|
||||
assert package_name == "qwen-asr"
|
||||
return ["transformers==4.57.6", "accelerate==1.12.0"]
|
||||
|
||||
monkeypatch.setattr(qwen3_model, "_package_version", fake_version)
|
||||
monkeypatch.setattr(qwen3_model, "_package_requires", fake_requires)
|
||||
|
||||
qwen3_model._check_qwen3_asr_dependencies()
|
||||
|
||||
|
||||
def test_qwen3_asr_dependency_check_matches_requirement_names_case_insensitively(monkeypatch):
|
||||
def fake_version(package_name):
|
||||
versions = {
|
||||
"qwen-asr": "0.0.6",
|
||||
"transformers": "5.5.0",
|
||||
}
|
||||
return versions[package_name]
|
||||
|
||||
def fake_requires(package_name):
|
||||
assert package_name == "qwen-asr"
|
||||
return ["Transformers==4.57.6"]
|
||||
|
||||
monkeypatch.setattr(qwen3_model, "_package_version", fake_version)
|
||||
monkeypatch.setattr(qwen3_model, "_package_requires", fake_requires)
|
||||
|
||||
with pytest.raises(ImportError) as exc_info:
|
||||
qwen3_model._check_qwen3_asr_dependencies()
|
||||
|
||||
assert "requires transformers==4.57.6" in str(exc_info.value)
|
||||
|
||||
|
||||
def test_qwen3_asr_dependency_check_does_not_crash_on_non_pep440_transformers(monkeypatch):
|
||||
def fake_version(package_name):
|
||||
versions = {
|
||||
"qwen-asr": "0.0.6",
|
||||
"transformers": "custom-main",
|
||||
}
|
||||
return versions[package_name]
|
||||
|
||||
def fake_requires(package_name):
|
||||
assert package_name == "qwen-asr"
|
||||
return ["transformers==4.57.6"]
|
||||
|
||||
monkeypatch.setattr(qwen3_model, "_package_version", fake_version)
|
||||
monkeypatch.setattr(qwen3_model, "_package_requires", fake_requires)
|
||||
|
||||
qwen3_model._check_qwen3_asr_dependencies()
|
||||
Reference in New Issue
Block a user