Files
hcanview/tests/main.cpp
yemai 81bee50cd9 Initial commit: Complete USB2CAN cross-platform framework
Features:
- Cross-platform support (Windows/Linux/macOS)
- CAN and CANFD protocol support
- USB communication (WinUSB/libusb)
- Device management and configuration
- Message transmission and reception
- Filter configuration
- CMake build system
- Comprehensive examples and tests
2025-09-11 17:56:26 +08:00

62 lines
2.1 KiB
C++

/**
* @file main.cpp
* @brief 测试主程序
*/
#include <iostream>
#include <iomanip>
#include <cassert>
// 测试函数声明
bool test_platform();
bool test_usb();
bool test_can();
bool test_device();
bool test_api();
/**
* @brief 主函数
* @return 测试结果
*/
int main() {
std::cout << "========================================" << std::endl;
std::cout << " USB2CAN Framework Tests " << std::endl;
std::cout << "========================================" << std::endl;
// 运行测试
bool all_passed = true;
std::cout << "\n[TEST] Running platform tests..." << std::endl;
bool platform_passed = test_platform();
std::cout << "[TEST] Platform tests " << (platform_passed ? "PASSED" : "FAILED") << std::endl;
all_passed &= platform_passed;
std::cout << "\n[TEST] Running USB tests..." << std::endl;
bool usb_passed = test_usb();
std::cout << "[TEST] USB tests " << (usb_passed ? "PASSED" : "FAILED") << std::endl;
all_passed &= usb_passed;
std::cout << "\n[TEST] Running CAN tests..." << std::endl;
bool can_passed = test_can();
std::cout << "[TEST] CAN tests " << (can_passed ? "PASSED" : "FAILED") << std::endl;
all_passed &= can_passed;
std::cout << "\n[TEST] Running device tests..." << std::endl;
bool device_passed = test_device();
std::cout << "[TEST] Device tests " << (device_passed ? "PASSED" : "FAILED") << std::endl;
all_passed &= device_passed;
std::cout << "\n[TEST] Running API tests..." << std::endl;
bool api_passed = test_api();
std::cout << "[TEST] API tests " << (api_passed ? "PASSED" : "FAILED") << std::endl;
all_passed &= api_passed;
// 输出总结
std::cout << "\n========================================" << std::endl;
std::cout << " Test Summary " << std::endl;
std::cout << "========================================" << std::endl;
std::cout << "Overall result: " << (all_passed ? "ALL TESTS PASSED" : "SOME TESTS FAILED") << std::endl;
std::cout << "========================================" << std::endl;
return all_passed ? 0 : 1;
}