blob: fa4b5a14299fe4221d772d03cbe1ad88ad6bd4d9 [file] [log] [blame]
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.