chore: upgrade all Python packages and fix linting issues
- Update all dependencies to latest versions (fastmcp, httpx, packaging, etc.) - Downgrade click from yanked 8.2.2 to stable 8.1.7 - Fix code formatting and linting issues with ruff - Most tests passing (2 test failures in dependency resolver need investigation)
This commit is contained in:
parent
503ea589f1
commit
8b43927493
34 changed files with 2276 additions and 1593 deletions
|
|
@ -3,58 +3,65 @@
|
|||
|
||||
from pypi_query_mcp.core.version_utils import sort_versions_semantically
|
||||
|
||||
|
||||
def test_specific_case():
|
||||
"""Test the exact case mentioned in the task requirements."""
|
||||
print("=" * 60)
|
||||
print("Testing Specific Task Requirement")
|
||||
print("=" * 60)
|
||||
|
||||
|
||||
# The exact problem mentioned in the task
|
||||
versions = ["5.2rc1", "5.2.5"]
|
||||
|
||||
|
||||
# Old way (string sorting)
|
||||
old_sorted = sorted(versions, reverse=True)
|
||||
|
||||
|
||||
# New way (semantic sorting)
|
||||
new_sorted = sort_versions_semantically(versions, reverse=True)
|
||||
|
||||
|
||||
print(f"Original versions: {versions}")
|
||||
print(f"Old string sorting: {old_sorted}")
|
||||
print(f"New semantic sorting: {new_sorted}")
|
||||
print()
|
||||
|
||||
|
||||
print("Analysis:")
|
||||
print(f" Problem: '5.2rc1' was appearing before '5.2.5' in string sorting")
|
||||
print(" Problem: '5.2rc1' was appearing before '5.2.5' in string sorting")
|
||||
print(f" String sorting result: {old_sorted[0]} comes first")
|
||||
print(f" Semantic sorting result: {new_sorted[0]} comes first")
|
||||
print()
|
||||
|
||||
|
||||
if new_sorted == ["5.2.5", "5.2rc1"]:
|
||||
print(" ✅ SUCCESS: Semantic sorting correctly places 5.2.5 before 5.2rc1")
|
||||
print(" ✅ This fixes the issue described in the task!")
|
||||
else:
|
||||
print(" ❌ FAILED: The issue is not resolved")
|
||||
|
||||
|
||||
print()
|
||||
|
||||
|
||||
# Test a more comprehensive example
|
||||
comprehensive_test = [
|
||||
"5.2.5", "5.2rc1", "5.2.0", "5.2a1", "5.2b1",
|
||||
"5.1.0", "5.3.0", "5.2.1"
|
||||
"5.2.5",
|
||||
"5.2rc1",
|
||||
"5.2.0",
|
||||
"5.2a1",
|
||||
"5.2b1",
|
||||
"5.1.0",
|
||||
"5.3.0",
|
||||
"5.2.1",
|
||||
]
|
||||
|
||||
|
||||
old_comprehensive = sorted(comprehensive_test, reverse=True)
|
||||
new_comprehensive = sort_versions_semantically(comprehensive_test, reverse=True)
|
||||
|
||||
|
||||
print("Comprehensive version sorting test:")
|
||||
print(f" Input: {comprehensive_test}")
|
||||
print(f" String sorted: {old_comprehensive}")
|
||||
print(f" Semantic sorted: {new_comprehensive}")
|
||||
print()
|
||||
|
||||
|
||||
print("Expected semantic order (newest to oldest):")
|
||||
print(" 5.3.0 > 5.2.5 > 5.2.1 > 5.2.0 > 5.2rc1 > 5.2b1 > 5.2a1 > 5.1.0")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_specific_case()
|
||||
test_specific_case()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue