# Class CIM_DiagnosticResult

When a DiagnosticTest Service is running, test results are reported using a DiagnosticResult object, or one of its subclasses. A DiagnosticTest may be running because its Service is Started or due to an invocation of the RunTest method. Diagnostic Results are related to their Test via an instance of the DiagnosticResultsForMSE association. For every running of DiagnosticTest, a new instance of DiagnosticResult, or one of it's subclasses should be created.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_DiagnosticResult

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Deprecated | string | CIM_DiagnosticServiceRecord

Description

string

When a DiagnosticTest Service is running, test results are reported using a DiagnosticResult object, or one of its subclasses. A DiagnosticTest may be running because its Service is Started or due to an invocation of the RunTest method. Diagnostic Results are related to their Test via an instance of the DiagnosticResultsForMSE association. For every running of DiagnosticTest, a new instance of DiagnosticResult, or one of it's subclasses should be created.

UMLPackagePath | string | CIM::System::Diagnostics
Version | string | 2.7.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
DiagnosticCreationClassName | string |
Deprecated | string | No value
Description | string | The scoping Test's CreationClassName.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_DiagnosticTest.CreationClassName
DiagnosticName | string |
Deprecated | string | No value
Description | string | The scoping Test's Name.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_DiagnosticTest.Name
DiagSystemCreationClassName | string |
Deprecated | string | No value
Description | string | The scoping Test's SystemCreationClassName.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_DiagnosticTest.SystemCreationClassName
DiagSystemName | string |
Deprecated | string | No value
Description | string | The scoping Test's SystemName.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_DiagnosticTest.SystemName
EstimatedTimeOfPerforming | uint32 |
Deprecated | string | No value

Description

string

Estimated number of seconds to perform the Diagnostic Test indicated by the DiagnosticCreationClassName and DiagnosticName properties. After the test has completed, the actual elapsed time can be determined by subtracting the TestStartTime from the TestCompletionTime. A similar property is defined in the association, DiagnosticTest ForMSE. The difference between the two properties is that the value stored in the association is a generic test execution time for the Element and the Test. But, the value here (in DiagnosticResult) is the estimated time that this instance with the given settings would take to run the test. A CIM Consumer can compare this value with the value in the association DiagnosticTestForMSE to get an idea what impact their settings have on test execution.

ModelCorrespondence | string | CIM_DiagnosticTestForMSE.EstimatedTimeOfPerforming
Units | string | Seconds
ExecutionID | string |
Deprecated | string | CIM_DiagnosticRecord.InstanceID
Description | string | The Unique identifier for an instance of Diagnostic Results.
Key | boolean | true
MaxLen | uint32 | 1024
HaltOnError | boolean |
Deprecated | string | CIM_DiagnosticSettingRecord.HaltOnError
Description | string | When this flag is true, the test will halt after finding the first error.
Write | boolean | true
IsPackage | boolean |
Deprecated | string | No value

Description

string

This property is being deprecated. Tests should be grouped at the test level, not by the model. /n If this property is TRUE, then this DiagnosticResult summarizes the results from the execution of a packaged set of DiagnosticTests. The Tests in the package can be identified by following the DiagnosticResultForTest association to the test and then using the DiagnosticTest InPackage aggregation. The individual Results can be broken out by instantiating DiagnosticResults for the individual lower level tests and aggregating into the 'summary' Result using the DiagnosticResultInPackage association.

LoopsFailed | uint32 |
Deprecated | string | CIM_DiagnosticServiceRecord.LoopsFailed
Description | string | Since some tests may be looped, it is useful to report how many iterations passed and failed. This is relevant in analyzing transitory failures. For example, if all the errors occurred in just one of 100 iterations, the device may be viewed as OK or marginal, to be monitored further rather then failed. Note: LoopsPassed & LoopsFailed should add up to the loops completed.
LoopsPassed | uint32 |
Deprecated | string | CIM_DiagnosticServiceRecord.LoopsPassed
Description | string | Since some tests may be looped, it is useful to report how many iterations passed and failed. This is relevant in analyzing transitory failures. For example if all the errors occurred in just one of 100 iterations, the device may be viewed as OK or marginal, to be monitored further rather then failed. Note: LoopsPassed & LoopsFailed should add up to the loops completed.
OtherStateDescription | string |
Deprecated | string | No value
Description | string | When "Other" (value=1) is entered in the TestState property, OtherStateDescription can be used to describe the test's state.
ModelCorrespondence | string | CIM_DiagnosticResult.TestState
PercentComplete | uint8 |
Deprecated | string | CIM_Job.PercentComplete

Description

string

The percentage of the test that has executed thus far, if the TestState property is set to "In Progress" or the percentage of the complete test that was executed if the TestState property is set to any of the completed states ("Passed", "Failed" or "Stopped"). Final results may be based on less than 100% coverage due to the parameters defined in DiagnosticSetting (such as QuickMode, PercentOfTestCoverage or HaltOnError).

MaxValue | sint64 | 100
MinValue | sint64 | 0
Units | string | Percent
PercentOfTestCoverage | uint8 |
Deprecated | string | CIM_DiagnosticSettingRecord.PercentOfTestCoverage

Description

string

Requests the diagnostic software to reduce test coverage to the specified percentage. For example, a hard drive scan test could be asked to run at 50%. The most effective way to accomplish this is for the test software to scan every other track, as opposed to only scanning the first half of a drive. It is assumed that the effectiveness of the test is impacted proportional to the percentage of testing requested. Permissible values for this property range from 0 to 100. This property may not be applicable to all tests. If it can be set for a test, the value 7 ("Supports PercentOf TestCoverage") should be entered into the DiagnosticTest's Characteristics array.

MaxValue | sint64 | 100
MinValue | sint64 | 0
ModelCorrespondence | string | CIM_DiagnosticTest.Characteristics
Units | string | Percent
Write | boolean | true
QuickMode | boolean |
Deprecated | string | CIM_DiagnosticSettingRecord.QuickMode
Description | string | When this flag is true, the test software should attempt to run in an accelerated fashion either by reducing the coverage or number of tests performed.
Write | boolean | true
ReportSoftErrors | boolean |
Deprecated | string | CIM_DiagnosticSetting.LogOptions

Description

string

When this flag is true, the diagnostic test will report 'soft errors'. In this context, a soft error is a message from the diagnostic reporting a known defect in the hardware or driver configuration, or execution environment. Examples are: 'Not enough memory', 'Driver IOCTL not implemented', 'Video RAM compare failed during polygon fill test (A known defect in the video chipset)', etc.

Write | boolean | true
ReportStatusMessages | boolean |
Deprecated | string | CIM_DiagnosticSetting.LogOptions
Description | string | When this flag is true, the diagnostic test will report 'status messages'. In this context, a status message indicates that the diagnostic code is at a checkpoint. Examples are: "Completion of phase 1", "Complex pattern", etc.
Write | boolean | true
TestCompletionTime | datetime |
Deprecated | string | No value
Description | string | The date and time when this test completed.
TestStartTime | datetime |
Deprecated | string | CIM_Job.StartTime
Description | string | The date and time when this test started.
TestState | uint16 |
Deprecated | string | No value
Description | string | Describes how the test is progressing. For example, if the test was discontinued, the TestState will be "Stopped" (value=5), or if testing is currently executing, TestState will be "In Progress" (4).
ModelCorrespondence | string | CIM_DiagnosticResult.OtherStateDescription
ValueMap | string | 0, 1, 2, 3, 4, 5
Values | string | Unknown, Other, Passed, Failed, In Progress, Stopped
TestWarningLevel | uint16 |
Deprecated | string | CIM_DiagnosticSetting.LogOptions

Description

string

Sets the level of warning messages to be logged. If for example no warning information is required, the level would be set to "No Warnings" (value=0). Using "Missing Resources" (value=1) will cause warnings to be generated when required resources or hardware are not found. Setting the value to 2, "Testing Impacts", results in both missing resources and 'test impact' warnings (for example, multiple retries required) to be reported.

ValueMap | string | 0, 1, 2, 3
Values | string | No Warnings, Missing Resources, Testing Impacts, All Warnings
Write | boolean | true
TimeStamp | datetime |
Deprecated | string | CIM_LogRecord.MessageTimestamp
Description | string | The date and time the result was last updated.
ErrorCode | string[] |
ArrayType | string | Indexed
Deprecated | string | CIM_DiagnosticServiceRecord.ErrorCode

Description

string

If applicable, this string should contain one or more vendor specific error codes that the diagnostic service detected. These error codes may be used by the vendor for variety of purposes such as: fault data base indexing, field service trouble ticketing, product quality tracking, part failure history, etc. Since these codes are for vendor purposes they may assume any form. Details on suggested use cases will be left to white papers. The array of error codes has model correspondence with an ErrorCount array so the number of errors reported can be analyzed by individual error code.

ModelCorrespondence | string | CIM_DiagnosticResult.ErrorCount
ErrorCount | uint32[] |
ArrayType | string | Indexed
Deprecated | string | CIM_DiagnosticServiceRecord.ErrorCount

Description

string

Since some tests may detect transient and correctable errors such as a network diagnostic or memory test, an error count is useful to indicate the severity of the failure. This field contains an integer value of the number of errors detected by the test. The ErrorCount is an array with model correspondence to ErrorCode so that the test can report an ErrorCount on each type of error encountered. It is recommended that hard errors and correctable or recoverable errors be given different codes so that clients with knowledge of the error codes can evaluate correctable, recoverable, and hard errors independently.

ModelCorrespondence | string | CIM_DiagnosticResult.ErrorCode
TestResults | string[] |
ArrayType | string | Ordered
Deprecated | string | CIM_LogRecord.RecordData

Description

string

TestResults stores one or more textual results from the execution of the DiagnosticTest(s) referenced by the DiagnosticCreationClassName and DiagnosticName properties. One entry is considered a cell location in the array. Each entry is time stamped and contains the following information, in the following format: LogOption|yyymmddhhttssoutc|TestName|message_text Where: LogOption = string identical to the LogOption value in DiagnosticSetting that was used to enable logging this message. yyyy = year, e.g. 2000 mm = month (01 - 12) dd = day (01 - 31) hh = hour (00 - 24) tt = minute (00-59) ss = second (00-59) o = "+" or "-" indicating the sign of the UTC correction field utc = offset from UTC (Universal Coordinated Time) in minutes TestName = Internal test name or current internal subtest name that sent the message. Textual message = free form string that is the 'test result'.

## Class Methods