overall: (7 cases)

- Test method
  * Add cases/soft-inj/recoverable_ucr/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/recoverable_ucr/cases.sh

1.srao_corrected

- Objective:
  * Test logic of uncorrected and corrected
  * Test logic of uncorrected with S
  * Test logic of corrected with EXCP
- Code path tested:
  * do_machine_check()
  * mce_start()
  * mce_timeout() except if (*t <= 0) branch
  * mce_severity()
  * mce_log()
  * mce_end()
  * mce_reign()
  * mce_report_event()
- Reference:
  * Inject data file: cases/soft-inj/recoverable_uc/data/srao_corrected
- Expected result:
  * No warning or bug during kernel processing.
  * Exception message is "Action optional unknown MCACOD"

2.srao_ewb
- Objective:
  * Test logic of uncorrected with S
  * Test logic of UCR errors detected during last level cache(LLC) explicit writebacks.
- Code path tested:
  * do_machine_check()
  * mce_start()
  * mce_timeout() except if (*t <= 0) branch
  * mce_severity()
  * mce_ring_add()
  * mce_log()
  * mce_end()
  * mce_reign()
- Reference:
  * Inject data file: cases/soft-inj/recoverable_uc/data/srao_ewb
- Expected result:
  * No warning or bug during kernel processing.
  * Exception message is "Action optional: last level cache writeback error"

3.srao_mem_scrub
- Objective:
  * Test logic of uncorrected with S
  * Test logic of UCR errors detected on data load
- Code path tested:
  * do_machine_check()
  * mce_start()
  * mce_timeout() except if (*t <= 0) branch
  * mce_severity()
  * mce_ring_add()
  * mce_log()
  * mce_end()
  * mce_reign()
- Reference:
  * Inject data file: cases/soft-inj/recoverable_uc/data/srao_mem_scrub
- Expected result:
  * No warning or bug during kernel processing.
  * Exception message is "Action optional: memory scrubbing error"

4.srao_no_en
- Objective:
  * Test no EN processing.
- Code path tested:
  * do_machine_check()
  * mce_start()
  * mce_timeout() except if (*t <= 0) branch
  * mce_severity()
  * mce_end()
  * mce_reign()
  * mce_panic()
- Reference:
  * Inject data file: cases/soft-inj/recoverable_uc/data/srao_no_en
- Expected result:
  * No warning or bug during kernel processing.
  * Kernel panic message is "Machine check from unknown source"

5.srao_over
- Objective:
  * Test logic of uncorrected with S and OVER
- Code path tested:
  * do_machine_check()
  * mce_start()
  * mce_timeout() except if (*t <= 0) branch
  * mce_severity()
  * mce_log()
  * mce_end()
  * mce_reign()
- Reference:
  * Inject data file: cases/soft-inj/recoverable_uc/data/srao_over
- Expected result:
  * No warning or bug during kernel processing.
  * Exception message is "Action optional with lost events"

6.srao_ucna
- Objective:
  * Test logic of uncorrected with S
  * Test logic of ucna
- Code path tested:
  * do_machine_check()
  * mce_start()
  * mce_timeout() except if (*t <= 0) branch
  * mce_severity()
  * mce_get_rip()
  * mce_log()
  * mce_end()
  * mce_reign()
- Reference:
  * Inject data file: cases/soft-inj/recoverable_uc/data/srao_ucna
- Expected result:
  * No warning or bug during kernel processing.
  * Exception message is "Action optional with unknown MCACOD"

7.srao_unknown
- Objective:
  * Test logic of uncorrected with S
- Code path tested:
  * do_machine_check()
  * mce_start()
  * mce_timeout() except if (*t <= 0) branch
  * mce_severity()
  * mce_get_rip()
  * mce_log()
  * mce_end()
  * mce_reign()
- Reference:
  * Inject data file: cases/soft-inj/recoverable_uc/data/srao_unknown
- Expected result:
  * No warning or bug during kernel processing.
  * Exception message is "Action optional with unknown MCACOD"

