Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

117 lines
3.2 KiB

rem this will run all tests once
Dim Classy
Set fso = CreateObject("Scripting.FileSystemObject")
Set a = fso.CreateTextFile("filter.log", True)
Set Locator = CreateObject("WbemScripting.SWbemLocator")
' Note that Locator.ConnectServer can be used to connect to remote computers
Set Service = Locator.ConnectServer(, "root\cimv2")
Service.Security_.ImpersonationLevel=3
sub DumpAndList(Name)
a.WriteLine(Name)
Set Collection = Service.InstancesOf (Name)
Err.Clear
for each Instance in Collection
if Err.Number = 0 Then
Set ObjectPath = Instance.Path_
a.WriteLine(" " & ObjectPath.Path)
' WRite out properties too
REM Now try to get object by relpath
Set Instance2 = Service.Get(ObjectPath.Path)
Set ObjectPath2 = Instance2.Path_
a.WriteLine(" ** " & ObjectPath2.Path)
End If
next 'Instance
a.WriteLine("")
end sub
sub DumpAllCdmClasses(BaseName)
Classy = BaseName & "_DiagResult"
DumpAndList(Classy)
Classy = BaseName & "_DiagResultForMSE"
DumpAndList(Classy)
Classy = BaseName & "_DiagResultForTest"
DumpAndList(Classy)
end sub
sub ClearAndRunTest(BaseName, SystemElement, SettingRef)
Dim Collection
Dim InstancePaths()
Dim InstanceCount
Dim ResultRef
Set Collection = Service.InstancesOf (BaseName & "_DiagTest")
InstanceCount = 0
Err.Clear
for each Instance in Collection
if Err.Number = 0 Then
InstanceCount = InstanceCount + 1
ReDim Preserve InstancePaths(InstanceCount)
Set ObjectPath = Instance.Path_
InstancePaths(InstanceCount) = ObjectPath.Path
End If
next 'Instance
if InstanceCount = 0 Then
MsgBox "No instances available for this class"
Else
CurrentInstanceIndex = 1
End if
Err.Clear
Set Instance = Service.Get(InstancePaths(CurrentInstanceIndex))
if Err.Number = 0 Then
RetVal = Instance.RunTest (SystemElement, SettingRef, ResultRef)
if Err.Number = 0 Then
a.Writeline(BaseName & " Run Test Method Execution Succeeded -> " & RetVal)
a.Writeline(" " & ResultRef)
Set Instance2 = Service.Get(ResultRef)
Set ObjectPath2 = Instance2.Path_
a.WriteLine(" ** " & ObjectPath2.Path)
Else
a.Writeline(BaseName & " Run Test Method Execution Failed " & Err.Description)
End if
End if
end sub
a.WriteLine("Before running methods")
DumpAllCdmClasses("Printer_Filter")
DumpAllCdmClasses("Sample_Filter")
DumpAllCdmClasses("Sample_Offline")
a1 = "Printer_Filter"
b1 = "Win32_Keyboard.DeviceID=""ROOT\\*PNP030B\\1_0_22_0_32_0"""
c1 = a1 & "_DiagSetting.SettingID=""" & a1 & "_DiagTest_0_2"""
ClearAndRunTest a1, b1, c1
a1 = "Sample_Filter"
b1 = "Win32_USBController.DeviceID=""PCI\\VEN_8086&DEV_7112&SUBSYS_00000000&REV_01\\2&EBB567F&0&3A"""
c1 = a1 & "_DiagSetting.SettingID=""" & a1 & "_DiagTest_0_2"""
ClearAndRunTest a1, b1, c1
a1 = "Sample_Offline"
b1 = "Win32_USBController.DeviceID=""PCI\\VEN_8086&DEV_7112&SUBSYS_00000000&REV_01\\2&EBB567F&0&3A"""
c1 = a1 & "_DiagSetting.SettingID=""" & a1 & "_DiagTest_0_2"""
ClearAndRunTest a1, b1, c1
a.WriteLine("After running methods")
DumpAllCdmClasses("Printer_Filter")
DumpAllCdmClasses("Sample_Filter")
DumpAllCdmClasses("Sample_Offline")