123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- #
- # Test script to verify the refactoring is successful
- import sys
- import os
- # Add current directory to path
- sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
- # Mock rtconfig module for testing
- import mock_rtconfig
- sys.modules['rtconfig'] = mock_rtconfig
- def test_targets_import():
- """Test if all target modules can be imported successfully"""
- print("Testing targets module imports...")
-
- try:
- # Test importing targets module
- import targets
- print("✓ targets module imported successfully")
-
- # Test importing individual target modules
- target_modules = [
- 'keil', 'iar', 'vs', 'vs2012', 'codeblocks', 'ua',
- 'vsc', 'cdk', 'ses', 'eclipse', 'codelite',
- 'cmake', 'xmake', 'esp_idf', 'zigbuild', 'makefile', 'rt_studio'
- ]
-
- for module_name in target_modules:
- try:
- module = getattr(targets, module_name)
- print(f"✓ {module_name} module imported successfully")
- except AttributeError as e:
- print(f"✗ Failed to import {module_name}: {e}")
- return False
-
- return True
-
- except ImportError as e:
- print(f"✗ Failed to import targets module: {e}")
- return False
- def test_building_import():
- """Test if building.py can import target modules"""
- print("\nTesting building.py imports...")
-
- try:
- # Test importing building module
- import building
- print("✓ building module imported successfully")
-
- # Test if GenTargetProject function exists
- if hasattr(building, 'GenTargetProject'):
- print("✓ GenTargetProject function found")
- else:
- print("✗ GenTargetProject function not found")
- return False
-
- return True
-
- except ImportError as e:
- print(f"✗ Failed to import building module: {e}")
- return False
- def test_target_functions():
- """Test if target functions can be called"""
- print("\nTesting target function calls...")
-
- try:
- # Test importing specific target functions
- from targets.keil import MDK4Project, MDK5Project
- print("✓ Keil target functions imported successfully")
-
- from targets.iar import IARProject
- print("✓ IAR target functions imported successfully")
-
- from targets.eclipse import TargetEclipse
- print("✓ Eclipse target functions imported successfully")
-
- from targets.cmake import CMakeProject
- print("✓ CMake target functions imported successfully")
-
- import targets.rt_studio
- print("✓ RT-Studio target functions imported successfully")
-
- return True
-
- except ImportError as e:
- print(f"✗ Failed to import target functions: {e}")
- return False
- def main():
- """Main test function"""
- print("RT-Thread Tools Refactoring Test")
- print("=" * 40)
-
- success = True
-
- # Run all tests
- if not test_targets_import():
- success = False
-
- if not test_building_import():
- success = False
-
- if not test_target_functions():
- success = False
-
- print("\n" + "=" * 40)
- if success:
- print("✓ All tests passed! Refactoring is successful.")
- return 0
- else:
- print("✗ Some tests failed. Please check the errors above.")
- return 1
- if __name__ == '__main__':
- sys.exit(main())
|