# Class CIM_DiagnosticTest
extends CIM_DiagnosticService

The CIM_DiagnosticTest class represents the framework for running diagnostic tests. Specific diagnostic tests may be defined by subclassing and/or instantiating this object. To provide more detail for a type of test(s) (i.e, additional properties and methods), subclassing is appropriate. When a DiagnosticTest can be simultaneously executed against several elements, then DiagnosticTest may launch a ConcreteJob to represent each execution.

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

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_Service
|
+--CIM_DiagnosticService
|
+--CIM_DiagnosticTest

## Direct Known Subclasses

CIM_DiskDriveDiagnosticTest
CIM_FCHBADiagnosticTest
CIM_StoragePoolDiagnosticTest

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | The CIM_DiagnosticTest class represents the framework for running diagnostic tests. Specific diagnostic tests may be defined by subclassing and/or instantiating this object. To provide more detail for a type of test(s) (i.e, additional properties and methods), subclassing is appropriate. When a DiagnosticTest can be simultaneously executed against several elements, then DiagnosticTest may launch a ConcreteJob to represent each execution.
UMLPackagePath | string | CIM::System::Diagnostics
Version | string | 2.11.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
IsInUse | boolean |
Deprecated | string | CIM_Service.Started
Description | string | This property is being deprecated. The boolean Started property inherited from CIM_Service should be used instead. If this test is currently being performed, the InUse property is set to TRUE. To determine which ManagedSystem Element is being tested, query the DiagnosticResult objects associated with this test (query DiagnosticResultForTest), and for which the TestState equals 4 ("In Progress"). The DiagnosticResult object is associated with the System Element under test, using DiagnosticResultForMSE.
OtherCharacteristicDescription | string |
Deprecated | string | CIM_DiagnosticTest.OtherCharacteristicsDescriptions
Description | string | Provides additional information for the Characteristic when its value is set to 1 ("Other").
ModelCorrespondence | string | CIM_DiagnosticTest.Characteristics
Characteristics | uint16[] |
Description | string | The descriptions for each Characteristic are below: * "Is Exclusive" (value=2) is specified for the test module only if the diagnostic cannot run more than one test at a time, regardless of how many SystemElements are supported. Typically, this occurs when hardware or software constraints prevent the test from running as multiple, concurrent instances. If the diagnostic can be run against multiple SystemElements, but only once per Element, then set the IsExclusiveForMSE boolean property on the appropriate instances of DiagnosticTestForMSE. * If "Is Interactive" (value=3) is set, then the diagnostic displays a message either before, during or after testing. * Set "Is Destructive" (value=4) if the diagnostic will destroy data, or reconfigure the Element that is being tested. * "Is Risky" (value=5) indicates that data loss may occur if the test is interrupted. Some tests make copies of data, perform the test, and restore the data returning the tested entity to its previous configuration. If the test is interrupted, then loss of data or reconfiguration of the tested ManagedSystemElement may occur. * If "Is Package" (value=6) is set, this test is actually a set of lower level diagnostics, that are packaged together by the test. This packaging is implemented by the diagnostic test, not aggregated by CIM. Information and results associated with the individual tests in the package may be requested by using the "Subtests" value in the DiagnosticSetting.LogOptions array. (value=7) was "Supports PercentOfTestCoverage" in Version 2.6. Value = 7 is being deprecated. Instead, it should be described in DiagnosticServiceCapabilities. "Is Synchronous" (value=8) indicates that this diagnostic service will complete before the RunDiagnostic method returns to the caller. A Job is still created that can be accessed by the client for accounting purposes, but the ability to track progress and status of the Job are lost. Additionally, in certain environments, the client may be "blocked" from further action until the service completes. "Media Required" (value=9) indicates that this diagnostic service requires that media be inserted into the device in order to perform the service. "Additional Hardware Required" (value=10) indicates that this diagnostic service requires that some additional hardware is installed (e.g., wrap plug) in order to perform the service.
ModelCorrespondence | string | CIM_DiagnosticTest.OtherCharacteristicsDescriptions
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Values | string | Unknown, Other, Is Exclusive, Is Interactive, Is Destructive, Is Risky, Is Package, Reserved, Is Synchronous, Media Required, Additional Hardware Required
OtherCharacteristicsDescriptions | string[] |
Description | string | OtherCharacteristicsDescriptions is a Bag array that contains an element with additional information for each Characteristics element with a value of 1 ("Other").
ModelCorrespondence | string | CIM_DiagnosticTest.Characteristics
OtherTestTypesDescriptions | string[] |
ArrayType | string | Indexed
Description | string | OtherTestTypesDescriptions is an array that contains an element with additional information for each TestTypes element with a value of 1 ("Other").
ModelCorrespondence | string | CIM_DiagnosticTest.TestTypes
ResourcesUsed | uint16[] |
Deprecated | string | CIM_ServiceAffectsElement
Description | string | This property is being deprecated and replaced with a more general method for indicating Managed Elements that are affected by this Test. The DiagnosticService parent has a ServiceAffectsElement association to a Managed Element for this purpose. The "Expensive" qualifier can be applied to this class and its RunTest method. If so, the ResourcesUsed property describes the resources that are capitalized, based on a default setup for the test. Multiple resources can be specified since the property is an array.
ValueMap | string | 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
Values | string | CPU, Memory, Hard Disk, CDROM, Floppy, PCI Bus, USB Bus, 1394 Bus, SCSI Bus, IDE Bus, Network, ISA Bus, EISA Bus, VESA Bus, PCMCIA Bus, CardBus, Access.bus, NuBus, AGP, VME Bus, Sbus IEEE 1396-1993, MCA Bus, GIO Bus, XIO Bus, HIO Bus, PMC Bus, SIO Bus
TestTypes | uint16[] |
ArrayType | string | Indexed
Description | string | The descriptions for each test type are below: * If "Functional" (value=2) is set, this tests one, more or all the functionality of the element. * If "Stress" (value=3) is set, this test is a stress test or exerciser for the element. * If "Health Check" (value=4) is set, this test validates the current health of the element. * If "Access Test" (value=5) is set, this test verifies the element is accessible to the system and user. This would include access through the OS as a user would access the element. * If "Media Verify" (value=6) is set, this test verifies the media for the element. This does not validate that specific data is correctly written on the media or even if data can be written to the media, but verifies that the media itself has no faults.
ModelCorrespondence | string | CIM_DiagnosticTest.OtherTestTypesDescriptions
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 0x8000..
Values | string | Unknown, Other, Functional, Stress, Health Check, Access Test, Media Verify, DMTF Reserved, Vendor Reserved

### Inherited Properties

Name | Data Type
--- | ---
Caption | string
CommunicationStatus | uint16
CreationClassName | string
Description | string
DetailedStatus | uint16
ElementName | string
EnabledDefault | uint16
EnabledState | uint16
Generation | uint64
HealthState | uint16
InstallDate | datetime
InstanceID | string
LoSID | string
LoSOrgID | string
Name | string
OperatingStatus | uint16
OtherEnabledState | string
PrimaryOwnerContact | string
PrimaryOwnerName | string
PrimaryStatus | uint16
RequestedState | uint16
Started | boolean
StartMode | string
Status | string
SystemCreationClassName | string
SystemName | string
TimeOfLastStateChange | datetime
TransitioningToState | uint16
AvailableRequestedStates | uint16[]
OperationalStatus | uint16[]
StatusDescriptions | string[]

## Class Methods

### Inherited Class Methods

Name | Return Type
--- | ---
ChangeAffectedElementsAssignedSequence | uint32
RequestStateChange | uint32
RunDiagnostic | uint32
RunDiagnosticService | uint32
StartService | uint32
StopService | uint32