feat(i18n): full English translation of demo-epb
Validate / build-test (macos-latest) (push) Failing after 3s
Validate / build-test (windows-latest) (push) Failing after 15s
Validate / build-test (ubuntu-latest) (push) Successful in 17s
Validate / reports (push) Successful in 50s
Release / release (push) Successful in 50s
Validate / build-test (macos-latest) (push) Failing after 3s
Validate / build-test (windows-latest) (push) Failing after 15s
Validate / build-test (ubuntu-latest) (push) Successful in 17s
Validate / reports (push) Successful in 50s
Release / release (push) Successful in 50s
Phase 2 of the English translation: Word documents (filled, EPB-specific): - 8 plans (PID, PM, QA, SWE, Test, Project Manual, CM, RM) - 6 safety docs (HARA, Safety Case, FMEDA, MISRA Compliance, Verification Report, Tool Qualification Cppcheck) - 2 manuals (User, Service) - 3 audit artefacts (Review minutes, NC-001, MISRA-REC-001) - All regenerated via pandoc from English markdown sources Code, tests, headers: - All file headers, struct comments, function docstrings in English - All test names (TEST_BEGIN strings) translated - Inline comments translated - 46 tests still green after translation CI workflows: - All step names in English - Step descriptions, comments, release notes template in English README.md fully rewritten in English with proper guided tour. Phase 3 (still pending): dev-process repo templates + toolstack/setup docs.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* @file test_safety_manager.c
|
||||
* @brief Unit-Tests fuer den Safety Manager (ASIL-D).
|
||||
* @brief Unit tests for the Safety Manager (ASIL-D).
|
||||
*
|
||||
* @reqs SWE-007 SWE-008 SWE-009 SWE-010 SWE-011 SWE-012
|
||||
* @arch SWA-001
|
||||
@@ -38,7 +38,7 @@ static void step_n(SafetyInputs* in, int n)
|
||||
|
||||
static void test_init(void)
|
||||
{
|
||||
TEST_BEGIN("init -> IDLE, kein Apply-Request");
|
||||
TEST_BEGIN("init -> IDLE, no apply request");
|
||||
ASSERT_EQ(safety_mgr_init(), EPB_OK);
|
||||
ASSERT_EQ(safety_mgr_get_state(), SAFETY_IDLE);
|
||||
ASSERT_TRUE(!safety_mgr_apply_requested());
|
||||
@@ -47,7 +47,7 @@ static void test_init(void)
|
||||
|
||||
static void test_null_input(void)
|
||||
{
|
||||
TEST_BEGIN("NULL Input ist no-op");
|
||||
TEST_BEGIN("NULL input is a no-op");
|
||||
(void)safety_mgr_init();
|
||||
safety_mgr_step_50ms(NULL);
|
||||
ASSERT_EQ(safety_mgr_get_state(), SAFETY_IDLE);
|
||||
@@ -58,7 +58,7 @@ static void test_null_input(void)
|
||||
|
||||
static void test_auto_apply_armed_on_engine_off(void)
|
||||
{
|
||||
TEST_BEGIN("SWE-007: Motor aus + Stillstand -> AUTO_APPLY_ARMED");
|
||||
TEST_BEGIN("SWE-007: engine off + standstill -> AUTO_APPLY_ARMED");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_driving();
|
||||
in.engine_running = false;
|
||||
@@ -71,7 +71,7 @@ static void test_auto_apply_armed_on_engine_off(void)
|
||||
|
||||
static void test_auto_apply_triggers_after_2s(void)
|
||||
{
|
||||
TEST_BEGIN("SWE-008: nach ca. 2s -> TRIGGERED + Apply-Request");
|
||||
TEST_BEGIN("SWE-008: after ~2s -> TRIGGERED + apply request");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_driving();
|
||||
in.engine_running = false;
|
||||
@@ -92,7 +92,7 @@ static void test_auto_apply_triggers_after_2s(void)
|
||||
|
||||
static void test_auto_apply_aborts_on_engine_on(void)
|
||||
{
|
||||
TEST_BEGIN("Auto-Apply bricht ab wenn Motor wieder an");
|
||||
TEST_BEGIN("Auto-Apply aborts when engine comes back on");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_driving();
|
||||
in.engine_running = false;
|
||||
@@ -107,7 +107,7 @@ static void test_auto_apply_aborts_on_engine_on(void)
|
||||
|
||||
static void test_auto_apply_returns_idle_when_applied(void)
|
||||
{
|
||||
TEST_BEGIN("AUTO_APPLY_TRIGGERED -> IDLE wenn Apply Controller fertig");
|
||||
TEST_BEGIN("AUTO_APPLY_TRIGGERED -> IDLE when Apply Controller is done");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_driving();
|
||||
in.engine_running = false;
|
||||
@@ -129,7 +129,7 @@ static void test_auto_apply_returns_idle_when_applied(void)
|
||||
|
||||
static void test_hillhold_arms_on_grade_brake_standstill(void)
|
||||
{
|
||||
TEST_BEGIN("SWE-009: Grad >5% + Stillstand + Bremse -> HILL_HOLD_ARMED");
|
||||
TEST_BEGIN("SWE-009: grade >5% + standstill + brake -> HILL_HOLD_ARMED");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_standstill();
|
||||
in.grade_percent = 8.0f;
|
||||
@@ -141,7 +141,7 @@ static void test_hillhold_arms_on_grade_brake_standstill(void)
|
||||
|
||||
static void test_hillhold_negative_grade_also_triggers(void)
|
||||
{
|
||||
TEST_BEGIN("Hill-Hold auch bei negativem Grad (abschuessig)");
|
||||
TEST_BEGIN("Hill-hold also on negative grade (downhill)");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_standstill();
|
||||
in.grade_percent = -7.0f;
|
||||
@@ -152,7 +152,7 @@ static void test_hillhold_negative_grade_also_triggers(void)
|
||||
|
||||
static void test_hillhold_below_threshold_no_arm(void)
|
||||
{
|
||||
TEST_BEGIN("Grad < 5% -> kein Hill-Hold");
|
||||
TEST_BEGIN("Grade < 5% -> no hill-hold");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_standstill();
|
||||
in.grade_percent = 4.0f;
|
||||
@@ -163,7 +163,7 @@ static void test_hillhold_below_threshold_no_arm(void)
|
||||
|
||||
static void test_hillhold_active_on_brake_release(void)
|
||||
{
|
||||
TEST_BEGIN("SWE-010: Bremse losgelassen -> HILL_HOLD_ACTIVE + Apply-Request");
|
||||
TEST_BEGIN("SWE-010: brake released -> HILL_HOLD_ACTIVE + apply request");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_standstill();
|
||||
in.grade_percent = 8.0f;
|
||||
@@ -177,7 +177,7 @@ static void test_hillhold_active_on_brake_release(void)
|
||||
|
||||
static void test_hillhold_active_ends_on_vehicle_rolling(void)
|
||||
{
|
||||
TEST_BEGIN("HILL_HOLD_ACTIVE endet wenn Fahrzeug rollt (v > 2 km/h)");
|
||||
TEST_BEGIN("HILL_HOLD_ACTIVE ends when vehicle rolls (v > 2 km/h)");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_standstill();
|
||||
in.grade_percent = 8.0f;
|
||||
@@ -193,7 +193,7 @@ static void test_hillhold_active_ends_on_vehicle_rolling(void)
|
||||
|
||||
static void test_hillhold_armed_to_idle_if_grade_drops(void)
|
||||
{
|
||||
TEST_BEGIN("HILL_HOLD_ARMED -> IDLE wenn Grad < 5% wird");
|
||||
TEST_BEGIN("HILL_HOLD_ARMED -> IDLE when grade < 5%");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_standstill();
|
||||
in.grade_percent = 8.0f;
|
||||
@@ -226,7 +226,7 @@ static SafetyInputs make_applied_at_rest(void)
|
||||
|
||||
static void test_drive_away_armed_on_intent(void)
|
||||
{
|
||||
TEST_BEGIN("SWE-011 + SWE-012: Anfahrabsicht + Safety -> DRIVE_AWAY + Release-Request");
|
||||
TEST_BEGIN("SWE-011 + SWE-012: intent + safety -> DRIVE_AWAY + release request");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_applied_at_rest();
|
||||
in.gas_pedal_percent = 25.0f;
|
||||
@@ -239,12 +239,12 @@ static void test_drive_away_armed_on_intent(void)
|
||||
|
||||
static void test_drive_away_blocked_without_safety(void)
|
||||
{
|
||||
TEST_BEGIN("SWE-012: Tuer offen blockiert Drive-Away");
|
||||
TEST_BEGIN("SWE-012: door open blocks drive-away");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_applied_at_rest();
|
||||
in.gas_pedal_percent = 25.0f;
|
||||
in.gear_in_drive = true;
|
||||
in.door_closed = false; /* Tuer offen */
|
||||
in.door_closed = false; /* door open */
|
||||
safety_mgr_step_50ms(&in);
|
||||
ASSERT_EQ(safety_mgr_get_state(), SAFETY_IDLE);
|
||||
ASSERT_TRUE(!safety_mgr_release_requested());
|
||||
@@ -253,7 +253,7 @@ static void test_drive_away_blocked_without_safety(void)
|
||||
|
||||
static void test_drive_away_blocked_without_seatbelt(void)
|
||||
{
|
||||
TEST_BEGIN("SWE-012: Gurt nicht angelegt blockiert Drive-Away");
|
||||
TEST_BEGIN("SWE-012: seatbelt not fastened blocks drive-away");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_applied_at_rest();
|
||||
in.gas_pedal_percent = 25.0f;
|
||||
@@ -266,7 +266,7 @@ static void test_drive_away_blocked_without_seatbelt(void)
|
||||
|
||||
static void test_drive_away_blocked_below_gas_threshold(void)
|
||||
{
|
||||
TEST_BEGIN("SWE-011: Gas < 10% loest kein Drive-Away aus");
|
||||
TEST_BEGIN("SWE-011: throttle < 10% does not trigger drive-away");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_applied_at_rest();
|
||||
in.gas_pedal_percent = 5.0f;
|
||||
@@ -278,7 +278,7 @@ static void test_drive_away_blocked_below_gas_threshold(void)
|
||||
|
||||
static void test_drive_away_ends_when_released(void)
|
||||
{
|
||||
TEST_BEGIN("DRIVE_AWAY -> IDLE wenn Apply Controller geloest hat");
|
||||
TEST_BEGIN("DRIVE_AWAY -> IDLE when Apply Controller has released");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_applied_at_rest();
|
||||
in.gas_pedal_percent = 25.0f;
|
||||
@@ -293,7 +293,7 @@ static void test_drive_away_ends_when_released(void)
|
||||
|
||||
static void test_already_applied_does_not_arm_auto_apply(void)
|
||||
{
|
||||
TEST_BEGIN("Bereits Applied: kein Auto-Apply Arming");
|
||||
TEST_BEGIN("Already applied: no auto-apply arming");
|
||||
(void)safety_mgr_init();
|
||||
SafetyInputs in = make_driving();
|
||||
in.engine_running = false;
|
||||
|
||||
Reference in New Issue
Block a user