Chapter 3. Strategies and Approaches

3.1. Test Suite Layout

The beta release of the hpitest suite contains the following tree listing:

[rusty@penguin tmp]$ tree hpitest/
hpitest/
|-- README
|-- hpitest
`-- v1
    `-- 1.0
        |-- AUTHORS
        |-- COPYING
        |-- ChangeLog
        |-- LDFLAGS
        |-- Makefile
        |-- README
        |-- doc
        |   |-- Makefile
        |   |-- authors.dtd
        |   |-- bookinfo.sgml
        |   |-- environment.sgml
        |   |-- features.sgml
        |   |-- introduction.sgml
        |   |-- legal.dtd
        |   |-- revisions.dtd
        |   |-- strategies.sgml
        |   `-- test_specification.sgml
        |-- include
        |   `-- hpitest.h
        |-- locate-test
        |-- run_tests
        `-- src
    |-- annunciators
    | |-- saHpiAnnunciatorGetNext_T1.c
    | |-- saHpiAnnunciatorGetNext_T2.c
    | |-- saHpiAnnunciatorGetNext_T3.c
    | |-- saHpiAnnunciatorGetNext_T4.c
    | |-- saHpiAnnunciatorGetNext_T5.c
    | |-- saHpiAnnunciatorGetNext_T6.c
    | |-- saHpiAnnunciatorGetNext_T7.c
    | |-- saHpiAnnunciatorGetNext_T8.c
    | |-- saHpiAnnunciatorGet_T1.c
    | |-- saHpiAnnunciatorGet_T2.c
    | |-- saHpiAnnunciatorGet_T3.c
    | |-- saHpiAnnunciatorGet_T4.c
    | |-- saHpiAnnunciatorGet_T5.c
    | |-- saHpiAnnunciatorGet_T6.c
    | |-- saHpiAnnunciatorGet_T7.c
    | |-- saHpiAnnunciatorAcknowledge_T1.c
    | |-- saHpiAnnunciatorAcknowledge_T2.c
    | |-- saHpiAnnunciatorAcknowledge_T3.c
    | |-- saHpiAnnunciatorAcknowledge_T4.c
    | |-- saHpiAnnunciatorAcknowledge_T5.c
    | |-- saHpiAnnunciatorAcknowledge_T6.c
    | |-- saHpiAnnunciatorAcknowledge_T7.c
    | |-- saHpiAnnunciatorAcknowledge_T8.c
    | |-- saHpiAnnunciatorAdd_T1.c
    | |-- saHpiAnnunciatorAdd_T2.c
    | |-- saHpiAnnunciatorAdd_T3.c
    | |-- saHpiAnnunciatorAdd_T4.c
    | |-- saHpiAnnunciatorAdd_T5.c
    | |-- saHpiAnnunciatorAdd_T6.c
    | |-- saHpiAnnunciatorAdd_T7.c
    | |-- saHpiAnnunciatorAdd_T8.c
    | |-- saHpiAnnunciatorAdd_T9.c
    | |-- saHpiAnnunciatorAdd_T10.c
    | |-- saHpiAnnunciatorDelete_T1.c
    | |-- saHpiAnnunciatorDelete_T2.c
    | |-- saHpiAnnunciatorDelete_T3.c
    | |-- saHpiAnnunciatorDelete_T4.c
    | |-- saHpiAnnunciatorDelete_T5.c
    | |-- saHpiAnnunciatorDelete_T6.c
    | |-- saHpiAnnunciatorDelete_T7.c
    | |-- saHpiAnnunciatorDelete_T8.c
    |  |-- saHpiAnnunciatorModeGet_T1.c
    |  |-- saHpiAnnunciatorModeGet_T2.c
    |  |-- saHpiAnnunciatorModeGet_T3.c
    |  |-- saHpiAnnunciatorModeGet_T4.c
    |  |-- saHpiAnnunciatorModeGet_T5.c
    |  |-- saHpiAnnunciatorModeGet_T6.c
    | |-- saHpiAnnunciatorModeSet_T1.c
    | |-- saHpiAnnunciatorModeSet_T2.c
    | |-- saHpiAnnunciatorModeSet_T3.c
    | |-- saHpiAnnunciatorModeSet_T4.c
    | |-- saHpiAnnunciatorModeSet_T5.c
    | |-- saHpiAnnunciatorModeSet_T6.c
    | `-- saHpiAnnunciatorModeSet_T7.c
            |-- auto_extract_timeout
            |   |-- saHpiAutoExtractTimeoutGet_Set_T1.c
            |   |-- saHpiAutoExtractTimeoutGet_Set_T2.c
            |   |-- saHpiAutoExtractTimeoutGet_Set_T3.c
            |   |-- saHpiAutoExtractTimeoutGet_T4.c
            |   |-- saHpiAutoExtractTimeoutGet_T5.c
            |   |-- saHpiAutoExtractTimeoutGet_T6.c
            |   |-- saHpiAutoExtractTimeoutGet_T7.c
            |   |-- saHpiAutoExtractTimeoutSet_T8.c
            |   |-- saHpiAutoExtractTimeoutSet_T9.c
            |   |-- saHpiAutoExtractTimeoutSet_T10.c
            |   |-- saHpiAutoExtractTimeoutSet_T11.c
            |   `-- saHpiAutoExtractTimeoutSet_T12.c
            |-- auto_insert_timeout
            |   |-- saHpiAutoInsertTimeoutGet_Set_T1.c
            |   |-- saHpiAutoInsertTimeoutGet_Set_T2.c
            |   |-- saHpiAutoInsertTimeoutGet_Set_T3.c
            |   |-- saHpiAutoInsertTimeoutGet_T4.c
            |   |-- saHpiAutoInsertTimeoutGet_T5.c
            |   |-- saHpiAutoInsertTimeoutGet_T6.c
            |   |-- saHpiAutoInsertTimeoutSet_T7.c
            |   |-- saHpiAutoInsertTimeoutSet_T8.c
            |   |-- saHpiAutoInsertTimeoutSet_T9.c
            |   `-- saHpiAutoInsertTimeoutSet_T10.c
            |-- control_state
            |   |-- saHpiControlGet_Set_T1.c
            |   |-- saHpiControlGet_T2.c
            |   |-- saHpiControlGet_T3.c
            |   |-- saHpiControlGet_T4.c
            |   |-- saHpiControlGet_T5.c
            |   |-- saHpiControlGet_T6.c
            |   |-- saHpiControlGet_T7.c
            |   |-- saHpiControlSet_T8.c
            |   |-- saHpiControlSet_T9.c
            |   |-- saHpiControlSet_T10.c
            |   |-- saHpiControlSet_T11.c
            |   |-- saHpiControlSet_T12.c
            |   |-- saHpiControlSet_T13.c
            |   |-- saHpiControlSet_T14.c
            |   |-- saHpiControlSet_T15.c
            |   |-- saHpiControlSet_T16.c
            |   |-- saHpiControlSet_T17.c
            |   |-- saHpiControlSet_T18.c
            |   |-- saHpiControlSet_T19.c
            |   |-- saHpiControlSet_T20.c
            |   |-- saHpiControlSet_T21.c
            |   |-- saHpiControlSet_T22.c
            |   |-- saHpiControlSet_T23.c
            |   |-- saHpiControlSet_T24.c
            |   |-- saHpiControlSet_T25.c
            |   |-- saHpiControlSet_T26.c
            |   |-- saHpiControlSet_T27.c
            |   |-- saHpiControlSet_T28.c
            |   `-- saHpiControlSet_T29.c
            |-- control_type_get
            |   |-- saHpiControlTypeGet_T1.c
            |   |-- saHpiControlTypeGet_T2.c
            |   |-- saHpiControlTypeGet_T3.c
            |   |-- saHpiControlTypeGet_T4.c
            |   |-- saHpiControlTypeGet_T5.c
            |   `-- saHpiControlTypeGet_T6.c
            |-- domain_alarm_table
            |   |-- saHpiAlarmGetNext_T1.c
            |   |-- saHpiAlarmGetNext_T2.c
            |   |-- saHpiAlarmGetNext_T3.c
            |   |-- saHpiAlarmGetNext_T4.c
            |   |-- saHpiAlarmGetNext_T5.c
            |   |-- saHpiAlarmGetNext_T6.c
            |   |-- saHpiAlarmGetNext_T7.c
            |   |-- saHpiAlarmGetNext_T8.c
            |   |-- saHpiAlarmGetNext_T9.c
            |   |-- saHpiAlarmGet_T1.c
            |   |-- saHpiAlarmGet_T2.c
            |   |-- saHpiAlarmGet_T3.c
            |   |-- saHpiAlarmGet_T4.c
    | |-- saHpiAlarmAcknowledge_T1.c
    | |-- saHpiAlarmAcknowledge_T2.c
    | |-- saHpiAlarmAcknowledge_T3.c
    | |-- saHpiAlarmAcknowledge_T4.c
    | |-- saHpiAlarmAcknowledge_T5.c
    | |-- saHpiAlarmAcknowledge_T6.c
    | |-- saHpiAlarmAdd_T1.c
    | |-- saHpiAlarmAdd_T2.c
    | |-- saHpiAlarmAdd_T3.c
    | |-- saHpiAlarmAdd_T4.c
    | |-- saHpiAlarmAdd_T5.c
    | |-- saHpiAlarmAdd_T6.c
    | |-- saHpiAlarmDelete_T1.c
    | |-- saHpiAlarmDelete_T2.c
    | |-- saHpiAlarmDelete_T3.c
    | |-- saHpiAlarmDelete_T4.c
    | |-- saHpiAlarmDelete_T5.c
    | |-- saHpiAlarmDelete_T6.c
    | |-- saHpiAlarmDelete_T7.c
    | `-- saHpiAlarmDelete_T8.c
            |-- domain_discovery
            |   |-- saHpiDomainInfoGet_T1.c
            |   |-- saHpiDomainInfoGet_T2.c
            |   |-- saHpiDomainInfoGet_T3.c
            |   |-- saHpiDrtEntryGet_T1.c
            |   |-- saHpiDrtEntryGet_T2.c
            |   |-- saHpiDrtEntryGet_T3.c
            |   |-- saHpiDrtEntryGet_T4.c
            |   |-- saHpiDrtEntryGet_T5.c
            |   |-- saHpiDrtEntryGet_T6.c
            |   |-- saHpiDrtEntryGet_T7.c
    | |-- saHpiDomainTagSet_T1.c
    | |-- saHpiDomainTagSet_T2.c
    | |-- saHpiDomainTagSet_T3.c
    | |-- saHpiDomainTagSet_T4.c
    | |-- saHpiDomainTagSet_T5.c
    | `-- saHpiDomainTagSet_T6.c
            |-- event_log_process
            |   |-- saHpiEventLogInfoGet_T1.c
            |   |-- saHpiEventLogInfoGet_T2.c
            |   |-- saHpiEventLogInfoGet_T3.c
            |   |-- saHpiEventLogInfoGet_T4.c
            |   |-- saHpiEventLogInfoGet_T5.c
            |   |-- saHpiEventLogEntryGet_T1.c
            |   |-- saHpiEventLogEntryGet_T2.c
            |   |-- saHpiEventLogEntryGet_T3.c
            |   |-- saHpiEventLogEntryGet_T4.c
            |   |-- saHpiEventLogEntryGet_T5.c
            |   |-- saHpiEventLogEntryGet_T6.c
            |   |-- saHpiEventLogEntryGet_T7.c
            |   |-- saHpiEventLogEntryGet_T8.c
            |   |-- saHpiEventLogEntryAdd_T1.c
            |   |-- saHpiEventLogEntryAdd_T2.c
            |   |-- saHpiEventLogEntryAdd_T3.c
            |   |-- saHpiEventLogEntryAdd_T4.c
            |   |-- saHpiEventLogEntryAdd_T5.c
            |   |-- saHpiEventLogEntryAdd_T6.c
            |   |-- saHpiEventLogEntryAdd_T7.c
            |   |-- saHpiEventLogEntryAdd_T8.c
            |   |-- saHpiEventLogEntryAdd_T9.c
            |   |-- saHpiEventLogEntryAdd_T10.c
            |   |-- saHpiEventLogClear_T1.c
            |   |-- saHpiEventLogClear_T2.c
            |   |-- saHpiEventLogClear_T3.c
            |   |-- saHpiEventLogClear_T4.c
            |   |-- saHpiEventLogStateGet_Set_T1.c
            |   |-- saHpiEventLogStateGet_Set_T2.c
            |   |-- saHpiEventLogStateGet_T3.c
            |   |-- saHpiEventLogStateGet_T4.c
            |   |-- saHpiEventLogStateGet_T5.c
            |   |-- saHpiEventLogStateGet_T6.c
            |   |-- saHpiEventLogStateSet_T7.c
            |   |-- saHpiEventLogStateSet_T8.c
            |   `-- saHpiEventLogStateSet_T9.c
            |-- event_log_time
            |   |-- saHpiEventLogTimeSet_T1.c
            |   |-- saHpiEventLogTimeSet_T2.c
            |   |-- saHpiEventLogTimeSet_T3.c
            |   |-- saHpiEventLogTimeSet_T4.c
            |   |-- saHpiEventLogTimeSet_T5.c
            |   |-- saHpiEventLogTimeSet_T6.c
            |   |-- saHpiEventLogTimeGet_T1.c
            |   |-- saHpiEventLogTimeGet_T2.c
            |   |-- saHpiEventLogTimeGet_T3.c
            |   |-- saHpiEventLogTimeGet_T4.c
            |   `-- saHpiEventLogTimeGet_T5.c
            |-- event_log_overflow
            |   |-- saHpiEventLogOverflowReset_T1.c
            |   |-- saHpiEventLogOverflowReset_T2.c
            |   |-- saHpiEventLogOverflowReset_T3.c
            |   |-- saHpiEventLogOverflowReset_T4.c
            |   `-- saHpiEventLogOverflowReset_T5.c
            |-- events
            |   |-- saHpiSubscribe_T1.c
            |   |-- saHpiSubscribe_T2.c
            |   |-- saHpiSubscribe_T3.c
            |   |-- saHpiSubscribe_T4.c
            |   |-- saHpiUnsubscribe_T1.c
            |   |-- saHpiUnsubscribe_T2.c
            |   |-- saHpiUnsubscribe_T3.c
            |   |-- saHpiEventGet_T1.c
            |   |-- saHpiEventGet_T2.c
            |   |-- saHpiEventGet_T3.c
            |   |-- saHpiEventGet_T4.c
            |   |-- saHpiEventGet_T5.c
            |   |-- saHpiEventGet_T6.c
            |   |-- saHpiEventAdd_T1.c
            |   |-- saHpiEventAdd_T2.c
            |   |-- saHpiEventAdd_T3.c
            |   |-- saHpiEventAdd_T4.c
            |   |-- saHpiEventAdd_T5.c
            |   |-- saHpiEventAdd_T6.c
            |   |-- saHpiEventAdd_T7.c
            |   `-- saHpiEventAdd_T8.c
            |-- hotswap_action_request
            |   |-- saHpiHotSwapActionRequest_T1.c
            |   |-- saHpiHotSwapActionRequest_T2.c
            |   |-- saHpiHotSwapActionRequest_T3.c
            |   |-- saHpiHotSwapActionRequest_T4.c
            |   |-- saHpiHotSwapActionRequest_T5.c
            |   `-- saHpiHotSwapActionRequest_T6.c
            |-- hotswap_indicator_state_process
            |   |-- saHpiHotSwapIndicatorStateGet_Set_T1.c
            |   |-- saHpiHotSwapIndicatorStateGet_Set_T2.c
            |   |-- saHpiHotSwapIndicatorStateGet_T3.c
            |   |-- saHpiHotSwapIndicatorStateGet_T4.c
            |   |-- saHpiHotSwapIndicatorStateGet_T5.c
            |   |-- saHpiHotSwapIndicatorStateGet_T6.c
            |   |-- saHpiHotSwapIndicatorStateGet_T7.c
            |   |-- saHpiHotSwapIndicatorStateSet_T8.c
            |   |-- saHpiHotSwapIndicatorStateSet_T9.c
            |   |-- saHpiHotSwapIndicatorStateSet_T10.c
            |   |-- saHpiHotSwapIndicatorStateSet_T11.c
            |   `-- saHpiHotSwapIndicatorStateSet_T12.c
            |-- hotswap_policy
            |   |-- saHpiHotSwapPolicyCancel_T1.c
            |   |-- saHpiHotSwapPolicyCancel_T2.c
            |   |-- saHpiHotSwapPolicyCancel_T3.c
            |   |-- saHpiHotSwapPolicyCancel_T4.c
            |   `-- saHpiHotSwapPolicyCancel_T5.c
            |-- hotswap_state_get
            |   |-- saHpiHotSwapStateGet_T1.c
            |   |-- saHpiHotSwapStateGet_T2.c
            |   |-- saHpiHotSwapStateGet_T3.c
            |   |-- saHpiHotSwapStateGet_T4.c
            |   `-- saHpiHotSwapStateGet_T5.c
            |-- inventory_area
    |   |-- saHpiIdrAreaHeaderGet_T1.c
            |   |-- saHpiIdrAreaHeaderGet_T2.c
            |   |-- saHpiIdrAreaHeaderGet_T3.c
            |   |-- saHpiIdrAreaHeaderGet_T4.c
            |   |-- saHpiIdrAreaHeaderGet_T5.c
            |   |-- saHpiIdrAreaHeaderGet_T6.c
            |   |-- saHpiIdrAreaHeaderGet_T7.c
            |   |-- saHpiIdrAreaHeaderGet_T8.c
            |   |-- saHpiIdrAreaHeaderGet_T9.c
            |   |-- saHpiIdrAreaHeaderGet_T10.c
            |   |-- saHpiIdrAreaHeaderGet_T11.c
            |   |-- saHpiIdrAreaHeaderGet_T12.c
            |   |-- saHpiIdrAreaAdd_T1.c
            |   |-- saHpiIdrAreaAdd_T2.c
            |   |-- saHpiIdrAreaAdd_T3.c
            |   |-- saHpiIdrAreaAdd_T4.c
            |   |-- saHpiIdrAreaAdd_T5.c
            |   |-- saHpiIdrAreaAdd_T6.c
            |   |-- saHpiIdrAreaAdd_T7.c
            |   |-- saHpiIdrAreaAdd_T8.c
            |   |-- saHpiIdrAreaAdd_T9.c
            |   |-- saHpiIdrAreaAdd_T10.c
            |   |-- saHpiIdrAreaAdd_T11.c
            |   |-- saHpiIdrAreaAdd_T12.c
            |   |-- saHpiIdrAreaDelete_T1.c
            |   |-- saHpiIdrAreaDelete_T2.c
            |   |-- saHpiIdrAreaDelete_T3.c
            |   |-- saHpiIdrAreaDelete_T4.c
            |   |-- saHpiIdrAreaDelete_T5.c
            |   |-- saHpiIdrAreaDelete_T6.c
            |   |-- saHpiIdrAreaDelete_T7.c
            |   |-- saHpiIdrAreaDelete_T8.c
            |   |-- saHpiIdrAreaDelete_T9.c
            |   |-- saHpiIdrAreaDelete_T10.c
            |   `-- saHpiIdrAreaDelete_T11.c
            |-- inventory_data
            |   |-- saHpiIdrInfoGet_T1.c
            |   |-- saHpiIdrInfoGet_T2.c
            |   |-- saHpiIdrInfoGet_T3.c
            |   |-- saHpiIdrInfoGet_T4.c
            |   |-- saHpiIdrInfoGet_T5.c
            |   `-- saHpiIdrInfoGet_T6.c
            |-- inventory_field
    |   |-- saHpiIdrFieldGet_T1.c
            |   |-- saHpiIdrFieldGet_T2.c
            |   |-- saHpiIdrFieldGet_T3.c
            |   |-- saHpiIdrFieldGet_T4.c
            |   |-- saHpiIdrFieldGet_T5.c
            |   |-- saHpiIdrFieldGet_T6.c
            |   |-- saHpiIdrFieldGet_T7.c
            |   |-- saHpiIdrFieldGet_T8.c
            |   |-- saHpiIdrFieldGet_T9.c
            |   |-- saHpiIdrFieldGet_T10.c
            |   |-- saHpiIdrFieldGet_T11.c
            |   |-- saHpiIdrFieldGet_T12.c
            |   |-- saHpiIdrFieldGet_T13.c
            |   |-- saHpiIdrFieldGet_T14.c
            |   |-- saHpiIdrFieldGet_T15.c
            |   |-- saHpiIdrFieldGet_T16.c
            |   |-- saHpiIdrFieldAdd_T1.c
            |   |-- saHpiIdrFieldAdd_T2.c
            |   |-- saHpiIdrFieldAdd_T3.c
            |   |-- saHpiIdrFieldAdd_T4.c
            |   |-- saHpiIdrFieldAdd_T5.c
            |   |-- saHpiIdrFieldAdd_T6.c
            |   |-- saHpiIdrFieldAdd_T7.c
            |   |-- saHpiIdrFieldAdd_T8.c
            |   |-- saHpiIdrFieldAdd_T9.c
            |   |-- saHpiIdrFieldAdd_T10.c
            |   |-- saHpiIdrFieldAdd_T11.c
            |   |-- saHpiIdrFieldAdd_T12.c
            |   |-- saHpiIdrFieldAdd_T13.c
            |   |-- saHpiIdrFieldAdd_T14.c
            |   |-- saHpiIdrFieldSet_T1.c
            |   |-- saHpiIdrFieldSet_T2.c
            |   |-- saHpiIdrFieldSet_T3.c
            |   |-- saHpiIdrFieldSet_T4.c
            |   |-- saHpiIdrFieldSet_T5.c
            |   |-- saHpiIdrFieldSet_T6.c
            |   |-- saHpiIdrFieldSet_T7.c
            |   |-- saHpiIdrFieldSet_T8.c
            |   |-- saHpiIdrFieldSet_T9.c
            |   |-- saHpiIdrFieldSet_T10.c
            |   |-- saHpiIdrFieldSet_T11.c
            |   |-- saHpiIdrFieldSet_T12.c
            |   |-- saHpiIdrFieldSet_T13.c
            |   |-- saHpiIdrFieldSet_T14.c
            |   |-- saHpiIdrFieldSet_T15.c
            |   |-- saHpiIdrFieldDelete_T1.c
            |   |-- saHpiIdrFieldDelete_T2.c
            |   |-- saHpiIdrFieldDelete_T3.c
            |   |-- saHpiIdrFieldDelete_T4.c
            |   |-- saHpiIdrFieldDelete_T5.c
            |   |-- saHpiIdrFieldDelete_T6.c
            |   |-- saHpiIdrFieldDelete_T7.c
            |   |-- saHpiIdrFieldDelete_T8.c
            |   |-- saHpiIdrFieldDelete_T9.c
            |   |-- saHpiIdrFieldDelete_T10.c
            |   |-- saHpiIdrFieldDelete_T11.c
            |   |-- saHpiIdrFieldDelete_T12.c
            |   `-- saHpiIdrFieldDelete_T13.c
            |-- parm_control
            |   |-- saHpiParmControl_T1.c
            |   |-- saHpiParmControl_T2.c
            |   |-- saHpiParmControl_T3.c
            |   |-- saHpiParmControl_T4.c
            |   |-- saHpiParmControl_T5.c
            |   |-- saHpiParmControl_T6.c
            |   `-- saHpiParmControl_T7.c
            |-- power_management
            |   |-- saHpiResourcePowerStateGet_Set_T1.c
            |   |-- saHpiResourcePowerStateGet_Set_T2.c
            |   |-- saHpiResourcePowerStateGet_Set_T3.c
            |   |-- saHpiResourcePowerStateGet_T4.c
            |   |-- saHpiResourcePowerStateGet_T5.c
            |   |-- saHpiResourcePowerStateGet_T6.c
            |   |-- saHpiResourcePowerStateGet_T7.c
            |   |-- saHpiResourcePowerStateSet_T8.c
            |   |-- saHpiResourcePowerStateSet_T9.c
            |   |-- saHpiResourcePowerStateSet_T10.c
            |   `-- saHpiResourcePowerStateSet_T11.c
            |-- rdr_get
            |   |-- saHpiRdrGet_T1.c
            |   |-- saHpiRdrGet_T2.c
            |   |-- saHpiRdrGet_T3.c
            |   |-- saHpiRdrGet_T4.c
            |   |-- saHpiRdrGet_T5.c
            |   |-- saHpiRdrGet_T6.c
            |   |-- saHpiRdrGet_T7.c
            |   |-- saHpiRdrGet_T8.c
            |   |-- saHpiRdrGetByInstrumentId_T1.c
            |   |-- saHpiRdrGetByInstrumentId_T2.c
            |   |-- saHpiRdrGetByInstrumentId_T3.c
            |   |-- saHpiRdrGetByInstrumentId_T4.c
            |   |-- saHpiRdrGetByInstrumentId_T5.c
            |   |-- saHpiRdrGetByInstrumentId_T6.c
            |   |-- saHpiRdrGetByInstrumentId_T7.c
            |   |-- saHpiRdrGetByInstrumentId_T8.c
            |   `-- saHpiRdrGetByInstrumentId_T9.c
            |-- resource_active
            |   |-- saHpiResourceActiveSet_T1.c
            |   |-- saHpiResourceActiveSet_T2.c
            |   |-- saHpiResourceActiveSet_T3.c
            |   |-- saHpiResourceActiveSet_T4.c
            |   |-- saHpiResourceActiveSet_T5.c
            |   |-- saHpiResourceInactiveSet_T1.c
            |   |-- saHpiResourceInactiveSet_T2.c
            |   |-- saHpiResourceInactiveSet_T3.c
            |   |-- saHpiResourceInactiveSet_T4.c
            |   `-- saHpiResourceInactiveSet_T5.c
            |-- resource_reset_state_process
            |   |-- saHpiResourceResetStateGet_Set_T1.c
            |   |-- saHpiResourceResetStateGet_Set_T2.c
            |   |-- saHpiResourceResetStateGet_Set_T3.c
            |   |-- saHpiResourceResetStateGet_T4.c
            |   |-- saHpiResourceResetStateGet_T5.c
            |   |-- saHpiResourceResetStateGet_T6.c
            |   |-- saHpiResourceResetStateGet_T7.c
            |   |-- saHpiResourceResetStateSet_T8.c
            |   |-- saHpiResourceResetStateSet_T9.c
            |   |-- saHpiResourceResetStateSet_T10.c
            |   |-- saHpiResourceResetStateSet_T11.c
            |   |-- saHpiResourceResetStateSet_T12.c
            |   |-- saHpiResourceResetStateSet_T13.c
            |   `-- saHpiResourceResetStateSet_T14.c
            |-- rpt_entry_process
            |   |-- saHpiRptEntryGet_T1.c
            |   |-- saHpiRptEntryGet_T2.c
            |   |-- saHpiRptEntryGet_T4.c
            |   |-- saHpiRptEntryGet_T5.c
            |   |-- saHpiRptEntryGet_T6.c
            |   |-- saHpiRptEntryGet_T7.c
            |   |-- saHpiRptEntryGet_T8.c
            |   |-- saHpiRptEntryGetByResourceId_T1.c
            |   |-- saHpiRptEntryGetByResourceId_T2.c
            |   |-- saHpiRptEntryGetByResourceId_T3.c
            |   |-- saHpiRptEntryGetByResourceId_T4.c
            |   |-- saHpiRptEntryGetByResourceId_T5.c
            |   |-- saHpiResourceSeveritySet_T1.c
            |   |-- saHpiResourceSeveritySet_T2.c
            |   |-- saHpiResourceSeveritySet_T3.c
            |   |-- saHpiResourceSeveritySet_T4.c
            |   |-- saHpiResourceTagSet_T1.c
            |   |-- saHpiResourceTagSet_T2.c
            |   |-- saHpiResourceTagSet_T3.c
            |   |-- saHpiResourceTagSet_T4.c
            |   |-- saHpiResourceTagSet_T5.c
            |   `-- saHpiResourceTagSet_T6.c
            |-- self_resourceID_get
            |   |-- saHpiResourceIdGet_T1.c
            |   |-- saHpiResourceIdGet_T2.c
            |   `-- saHpiResourceIdGet_T3.c
            |-- sensor_event_enable
            |   |-- saHpiSensorEventEnableGet_Set_T1.c
            |   |-- saHpiSensorEventEnableGet_T2.c
            |   |-- saHpiSensorEventEnableGet_T3.c
            |   |-- saHpiSensorEventEnableGet_T4.c
            |   |-- saHpiSensorEventEnableGet_T5.c
            |   |-- saHpiSensorEventEnableGet_T6.c
            |   |-- saHpiSensorEventEnableSet_T7.c
            |   |-- saHpiSensorEventEnableSet_T8.c
            |   |-- saHpiSensorEventEnableSet_T9.c
            |   |-- saHpiSensorEventEnableSet_T10.c
            |   `-- saHpiSensorEventEnableSet_T11.c
            |-- sensor_reading_get
            |   |-- saHpiSensorReadingGet_T1.c
            |   |-- saHpiSensorReadingGet_T2.c
            |   |-- saHpiSensorReadingGet_T3.c
            |   |-- saHpiSensorReadingGet_T4.c
            |   |-- saHpiSensorReadingGet_T5.c
            |   |-- saHpiSensorReadingGet_T6.c
            |   `-- saHpiSensorReadingGet_T7.c
            |-- sensor_thresholds
            |   |-- saHpiSensorThresholdsGet_Set_T1.c
            |   |-- saHpiSensorThresholdsGet_T2.c
            |   |-- saHpiSensorThresholdsGet_T3.c
            |   |-- saHpiSensorThresholdsGet_T4.c
            |   |-- saHpiSensorThresholdsGet_T5.c
            |   |-- saHpiSensorThresholdsGet_T6.c
            |   |-- saHpiSensorThresholdsGet_T7.c
            |   |-- saHpiSensorThresholdsGet_T8.c
            |   |-- saHpiSensorThresholdsGet_T9.c
            |   |-- saHpiSensorThresholdsSet_T10.c
            |   |-- saHpiSensorThresholdsSet_T11.c
            |   |-- saHpiSensorThresholdsSet_T12.c
            |   |-- saHpiSensorThresholdsSet_T13.c
            |   |-- saHpiSensorThresholdsSet_T14.c
            |   |-- saHpiSensorThresholdsSet_T15.c
            |   |-- saHpiSensorThresholdsSet_T16.c
            |   |-- saHpiSensorThresholdsSet_T17.c
            |   |-- saHpiSensorThresholdsSet_T18.c
            |   |-- saHpiSensorThresholdsSet_T19.c
            |   `-- saHpiSensorThresholdsSet_T20.c
            |-- sensor_type_get
            |   |-- saHpiSensorTypeGet_T1.c
            |   |-- saHpiSensorTypeGet_T2.c
            |   |-- saHpiSensorTypeGet_T3.c
            |   |-- saHpiSensorTypeGet_T4.c
            |   |-- saHpiSensorTypeGet_T5.c
            |   |-- saHpiSensorTypeGet_T6.c
            |   `-- saHpiSensorTypeGet_T7.c
            |-- session_open
            |   |-- saHpiSessionOpen_T1.c
            |   |-- saHpiSessionOpen_T2.c
            |   |-- saHpiSessionOpen_T3.c
            |   |-- saHpiSessionOpen_T4.c
            |   |-- saHpiSessionClose_T1.c
            |   |-- saHpiSessionClose_T2.c
            |   |-- saHpiDiscover_T1.c
            |   `-- saHpiDiscover_T2.c
            `-- watchdog_timer
                |-- saHpiWatchdogTimerGet_Set_T1.c
                |-- saHpiWatchdogTimerGet_T2.c
                |-- saHpiWatchdogTimerGet_T3.c
                |-- saHpiWatchdogTimerGet_T4.c
                |-- saHpiWatchdogTimerGet_T5.c
                |-- saHpiWatchdogTimerGet_T6.c
                |-- saHpiWatchdogTimerSet_T7.c
                |-- saHpiWatchdogTimerSet_T8.c
                |-- saHpiWatchdogTimerSet_T9.c
                |-- saHpiWatchdogTimerSet_T10.c
                |-- saHpiWatchdogTimerSet_T11.c
                |-- saHpiWatchdogTimerSet_T12.c
                |-- saHpiWatchdogTimerSet_T13.c
                |-- saHpiWatchdogTimerSet_T14.c
                |-- saHpiWatchdogTimerSet_T15.c
                |-- saHpiWatchdogTimerReset_T1.c
                |-- saHpiWatchdogTimerReset_T2.c
                |-- saHpiWatchdogTimerReset_T3.c
                `-- saHpiWatchdogTimerReset_T4.c
    

As seen in the tree above, multiple versions of the SAF specification can be can be supported by partitioning test cases into a directory structure that looks like ==>

       TEST_ROOT/vMAJOR/MINOR/

For example test cases that test the v1.0 HPI specification would be located
in the following directory ==>

        TEST_ROOT/v1/1.0/
    



Inside each minor directory, all the test cases are further partitioned into sections as specified by the "Test Cases" part of this test specification. For example the following test cases exist that validate the HPI event mechanism ==>

        TEST_ROOT/v1/1.0/src/events/saHpiEventAdd_T1.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventAdd_T2.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventAdd_T3.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventAdd_T4.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventAdd_T5.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventAdd_T6.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventAdd_T7.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventAdd_T8.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventGet_T1.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventGet_T2.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventGet_T3.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventGet_T4.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventGet_T5.c
        TEST_ROOT/v1/1.0/src/events/saHpiEventGet_T6.c
        TEST_ROOT/v1/1.0/src/events/saHpiSubscribe_T1.c
        TEST_ROOT/v1/1.0/src/events/saHpiSubscribe_T2.c
        TEST_ROOT/v1/1.0/src/events/saHpiSubscribe_T3.c
        TEST_ROOT/v1/1.0/src/events/saHpiSubscribe_T4.c
        TEST_ROOT/v1/1.0/src/events/saHpiUnsubscribe_T1.c
        TEST_ROOT/v1/1.0/src/events/saHpiUnsubscribe_T2.c
        TEST_ROOT/v1/1.0/src/events/saHpiUnsubscribe_T3.c