Skip to content

Commit d7ddeee

Browse files
authored
Merge pull request #76 from ecubus/70-test-arch-rebase
base test arch
2 parents 3d021b7 + 09e7619 commit d7ddeee

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+4056
-792
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,6 @@ resources/docs/scriptApi
1414
resources/lib/kerneldlls/devices_property/*.xml
1515
ecb_cli.exe
1616
resources/examples/**/tsconfig.json
17-
resources/examples/**/*.code-workspace
17+
resources/examples/**/*.code-workspace
18+
resources/examples/**/*.html
19+
resources/examples/**/**/*/.html

.vitepress/config.mts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,17 @@ export default withMermaid({
189189
{ text: 'CAN', link: '/docs/um/can/can.md' },
190190
{ text: 'LIN', link: '/docs/um/lin/lin.md' },
191191
{ text: 'Graph', link: '/docs/um/graph/graph.md' },
192-
{ text: 'CLI', link: '/docs/um/cli' },
192+
{ text: 'CLI', link: '/docs/um/cli.md' },
193193
{
194194
text: 'Script',
195195
link: '/docs/um/script',
196196
items: [{ text: 'Use External Package', link: '/docs/um/scriptSerialPort' }]
197197
},
198+
{
199+
text: 'Test',
200+
link: '/docs/um/test/test.md',
201+
202+
},
198203
{
199204
text: 'Database',
200205
link: '/docs/um/database',
@@ -240,6 +245,11 @@ export default withMermaid({
240245
{ text: 'Secure Access dll', link: '/examples/secure_access_dll/readme' }
241246
],
242247
collapsed: true
248+
},
249+
{
250+
text: 'Test',
251+
items: [{ text: 'Test Simple', link: '/examples/test_simple/readme' }],
252+
collapsed: true
243253
}
244254
]
245255
},
@@ -258,7 +268,7 @@ export default withMermaid({
258268
}
259269
]
260270
},
261-
{ text: 'Test', link: '/docs/dev/test' },
271+
{ text: 'Comp Test', link: '/docs/dev/test' },
262272
{ text: 'Addon', link: '/docs/dev/addon' },
263273

264274
{ text: 'Releases Note', link: '/docs/dev/releases_note' }

README.md

Lines changed: 17 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -27,35 +27,23 @@ EcuBus-Pro is an open-source alternative to commercial automotive diagnostic too
2727

2828
- 🆓 Open-source and free to use
2929
- 🚀 Modern, intuitive user interface
30-
- 💻 Cross-platform support (Windows, Linux)
31-
- 🔌 Extensive hardware compatibility (PEAK, Kvaser, ZLG, and more)
32-
- 📝 Powerful TypeScript-based scripting engine
33-
- ⌨️ Full-featured command-line interface
34-
35-
### Core Features
36-
37-
For detailed information, please refer to our [User Manual](./docs/um/concept.md).
38-
39-
#### Hardware Support
40-
41-
| Manufacturer | Supported Protocols |
42-
| ------------ | ------------------- |
43-
| PEAK | CAN, CAN-FD, LIN |
44-
| KVASER | CAN, CAN-FD |
45-
| ZLG | CAN, CAN-FD |
46-
| Toomoss | CAN, CAN-FD |
47-
48-
#### Software Capabilities
49-
50-
| Feature | Description |
51-
| -------------------- | --------------------------------------------------------------------------- |
52-
| Platform Support | Windows (installer, portable), Linux (deb package) |
53-
| Diagnostic Protocols | CAN/CAN-FD, DoIP, LIN |
54-
| Scripting | Advanced TypeScript-based automation - [Documentation](./docs/um/script.md) |
55-
| Database Support | LIN LDF (edit & export), CAN DBC (view) - [Details](./docs/um/database.md) |
56-
| Data Visualization | Real-time signal graphing and analysis |
57-
58-
### Feature Highlights
30+
- 💻 Cross-platform support (Windows, Linux) - [Install](./docs/about/install.md)
31+
- 🔌 Multi-hardware support
32+
- 🔧 **PEAK**: CAN, CAN-FD, LIN
33+
- 🔧 **KVASER**: CAN, CAN-FD
34+
- 🔧 **ZLG**: CAN, CAN-FD
35+
- 🔧 **Toomoss**: CAN, CAN-FD
36+
- 🛠️ Comprehensive diagnostic capabilities
37+
- 🔄 **Diagnostic Protocols**: CAN/CAN-FD, DoIP, LIN
38+
- 📝 **Scripting**: Advanced TypeScript-based automation - [Details](./docs/um/script.md)
39+
- 🧪 **Test**: HIL Test Framework - [Details](./docs/um/test/test.md)
40+
- 📊 **Database Support**: LIN LDF (edit & export), CAN DBC (view) - [Details](./docs/um/database.md)
41+
- 📈 **Data Visualization**: Real-time signal graphing and analysis - [Details](./docs/um/graph/graph.md)
42+
- ⌨️ **Command Line**: Full-featured CLI for automation and integration - [Details](./docs/um/cli.md)
43+
44+
For detailed information, please refer to our [User Manual](https://app.whyengineer.com/docs/um/concept.md).
45+
46+
## Feature Highlights
5947

6048
#### CAN Communication
6149

docs/um/test/image-1.png

44.7 KB
Loading

docs/um/test/image-2.png

16.9 KB
Loading

docs/um/test/image-3.png

8.45 KB
Loading

docs/um/test/image-4.png

6.13 KB
Loading

docs/um/test/image.png

51.7 KB
Loading

docs/um/test/test.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# EcuBus-Pro Testing Architecture
2+
3+
## Overview
4+
5+
EcuBus-Pro provides a powerful and flexible testing framework for automotive ECU development and validation. The testing architecture allows developers to create, execute, and monitor automated tests for Bus communications, ensuring reliable and consistent behavior of automotive systems.
6+
7+
![alt text](image-4.png)
8+
9+
## Key Features
10+
11+
### Config
12+
13+
Monitor test execution with a user-friendly interface showing real-time results
14+
![alt text](image.png)
15+
![alt text](image-2.png)
16+
17+
18+
### TypeScript-Based Test Framework
19+
20+
Write tests using familiar TypeScript syntax with built-in testing utilities. See [Srcipt](./../script.md).
21+
22+
Reused the node.js [test runner](https://nodejs.org/docs/latest/api/test.html)
23+
24+
#### Example
25+
26+
```typescript
27+
describe('Test Suite', () => {
28+
29+
30+
test('Wait for a specific CAN message with ID 0x1', async () => {
31+
await TestWaitForMessage(0x1, 3000)
32+
assert(true)
33+
})
34+
35+
// Test case that waits for any CAN message and verifies its ID is 0x2
36+
test('Wait for any CAN message, and verify its ID is 0x2', async () => {
37+
const msg = await TestWaitForMessage(true, 3000)
38+
assert(msg.id == 0x2)
39+
})
40+
41+
// Skipped test case that would otherwise pass immediately
42+
test.skip('Skip test example', async () => {
43+
assert(true)
44+
})
45+
})
46+
47+
// Second test suite
48+
describe('Test Suite 2', () => {
49+
// Simple test case that passes immediately
50+
test('Fail test example', () => {
51+
assert(false)
52+
})
53+
})
54+
```
55+
56+
### Detailed Test Reports
57+
58+
Generate comprehensive test reports with timing and pass/fail information
59+
60+
![alt text](image-3.png)
61+
62+
![alt text](image-1.png)
63+

0 commit comments

Comments
 (0)