| Overall:(8 cases) |
| |
| - Test method |
| * Preparation |
| + Disable mcelog cron job |
| * Add cases/soft-inj/panic_npcc/cases.sh into configuration file, and invoke |
| a test driver on it. |
| - Common |
| * Test script of test cases in this file can be found in |
| cases/soft-inj/panic_npcc/cases.sh |
| |
| |
| 1. fatal severity |
| |
| - Objective: |
| * Test severity comparison logic of MCE handler |
| - Code path tested: |
| * do_machine_check() |
| * mce_start() |
| * mce_end() |
| * mce_severity() |
| * mce_regin() for_each_possible_loops loops(check mce-severity message) |
| * mce_panic() |
| * mce_log() |
| * print_mce() |
| - Reference: |
| * Inject data file: cases/soft-inj/panic_npcc/data/fatal_severity |
| - Expected result: |
| * No warning or bug during kernel processing. |
| * MCE records collected via kernel panic log is same as reference ones. |
| * Kernel panic message is "Fatal Machine check" |
| * Exception message is "Processor context corrupt" |
| |
| |
| 2. uncorrected |
| |
| - Objective: |
| * Test MCE handler logic for EIPV MCE in kernel space |
| - Code path tested: |
| * Same as falta severity |
| - Reference: |
| * Inject data file: cases/soft-inj/panic_npcc/data/uncorrected |
| - Expected result: |
| * No warning or bug during kernel processing. |
| * MCE records collected via kernel panic log is same as reference ones. |
| * Kernel panic message is "Fatal Machine check" |
| * Exception message is "In kernel and no restart IP" |
| |
| |
| 3. uncorrected timeout |
| |
| - Objective: |
| * Test MCE handler timeout logic for EIPV MCE in kernel space |
| - Code path tested: |
| * do_machine_check() |
| * mce_start() until timeout |
| * mce_severity() |
| * mce_panic("Fatal machine check on current CPU", ) |
| * mce_log() |
| * print_mce() |
| - Reference: |
| * Inject data file: cases/soft-inj/panic_npcc/data/uncorrected_timeout |
| - Expected result: |
| * No warning or bug during kernel processing. |
| * MCE records collected via kernel panic log is same as reference ones. |
| * Kernel panic message is "Fatal machine check on current CPU" |
| * Exception message is "In kernel and no restart IP" |
| * Timeout message is "Some CPUs didn't answer in synchronization" |
| |
| |
| 4. uncorrected without MCIP |
| |
| - Objective: |
| * Test MCE handler logic for MCE without PCC, MCIP, EIPV and RIPV |
| - Code path tested: |
| * Same as fatal severity |
| - Reference: |
| * Inject data file: cases/soft-inj/panic_npcc/data/uncorrected_no_mcip |
| - Expected result: |
| * No warning or bug during kernel processing. |
| * MCE records collected via kernel panic log is same as reference ones. |
| * Kernel panic message is "Fatal Machine check" |
| * Exception message is "MCIP not set in MCA handler" |
| |
| |
| 5. uncorrect timeout without MCIP |
| |
| - Objective: |
| * Test MCE handler timeout logic for MCE without PCC, MCIP, EIPV and RIPV |
| - Code path tested: |
| * Same as uncorrected timeout |
| - Reference: |
| * Inject data file: cases/soft-inj/panic_npcc/data/uncorrected_no_mcip_timeout |
| - Expected result: |
| * No warning or bug during kernel processing. |
| * MCE records collected via kernel panic log is same as reference ones. |
| * Kernel panic message is "Fatal machine check on current CPU" |
| * Kernel panic message is "MCIP not set in MCA handler" |
| * Timeout message is "Some CPUs didn't answer in synchronization" |
| |
| |
| 6. uncorrected without EIPV and RIPV |
| |
| - Objective: |
| * Test MCE handler logic for EIPV and RIPV MCE in kernel space |
| - Code path tested: |
| * Same as uncorrected |
| - Reference: |
| * Inject data file: cases/soft-inj/panic_npcc/data/uncorrected_no_eripv |
| - Expected result: |
| * No warning or bug during kernel processing. |
| * MCE records collected via kernel panic log is same as reference ones. |
| * Kernel panic message is "Fatal Machine check" |
| * Exception message is "Neither restart nor error IP" |
| |
| |
| 7. uncorrected timeout without EIPV and RIPV |
| |
| - Objective: |
| * Test MCE handler timout logic for EIPV|RIPV MCE in kernel space |
| - Code path tested: |
| * Same as uncorrected timeout |
| - Reference: |
| * Inject data file: cases/soft-inj/panic_npcc/data/uncorrected_no_eripv_timeout |
| - Expected result: |
| * No warning or bug during kernel processing. |
| * MCE records collected via kernel panic log is same as reference ones. |
| * Kernel panic message is "Fatal Machine check" |
| * Exception message is "In kernel and no restart IP" |
| * Timeout message is "Some CPUs didn't answer in synchronization" |
| |
| |
| 8. unknown |
| |
| - Objective: |
| * Test logic for MCE from unknown source (external?) |
| - Code path tested: |
| * mce_reign(), mce_panic("Machine check from unknown source") branch |
| * Others are same as fatal severity |
| - Reference: |
| * Inject data file: cases/soft-inj/panic_npcc/data/unknown |
| - Expected result: |
| * No warning or bug during kernel processing. |
| * Kernel panic message is "Machine check from unknown source" |
| * No exception and timeout message. |