Conformance Checking Drivers

During development of your driver, and certainly before releasing it, you should use the Driver Conformance Checker tool to test your driver. This tool performs a comprehensive set of tests on a driver to determine its conformance with the relevant ASCOM interface standard. It also tests some aspects of driver behavior against the reference implementation. Conform is a really useful tool to use during development as it exercises all driver functionality. This means you don't have to develop your own set of basic test harnesses to test your driver.

Here are the results from Conform-checking the Platform 6 .NET Focuser Simulator:

ConformanceCheck ASCOM Device Conformance Checker Version 6.0.0.31
ConformanceCheck Running on ASCOM Platform 6.0
 
ConformanceCheck Driver ProgID: ASCOM.Simulator.Focuser
 
Error numbers 
Error number for "Not Implemented" is: 80040400
Error number for "Invalid Value 1" is: 80040404
Error number for "Value Not Set"   is: 80040403
 
09:51:29.425 Driver Access Checks          OK       
09:51:30.042 AccessChecks                  OK       Successfully created driver using late binding
09:51:30.062 AccessChecks                  OK       Successfully connected using late binding
09:51:30.065 AccessChecks                  INFO     The driver is a .NET object
09:51:30.068 AccessChecks                  INFO     The AssemblyQualifiedName is: ASCOM.Simulator.Focuser, ASCOM.Simulator.Focuser, Version=6.0.0.0, Culture=n
09:51:30.072 AccessChecks                  INFO     The driver implements interface: ASCOM.DeviceInterface.IFocuserV2
09:51:30.075 AccessChecks                  INFO     The driver implements interface: System.IDisposable
09:51:30.697 AccessChecks                  INFO     Device does not expose IFocuser interface
09:51:30.724 AccessChecks                  INFO     Device exposes IFocuserV2 interface
09:51:30.745 AccessChecks                  OK       Successfully created driver using driver access toolkit
09:51:30.756 AccessChecks                  OK       Successfully connected using driver access toolkit
 
Conform is using ASCOM.DriverAccess.Focuser to get a Focuser object
09:51:30.786 ConformanceCheck              OK       Driver instance created successfully
09:51:30.798 ConformanceCheck              OK       Connected OK
 
Common Driver Methods 
09:51:30.834 InterfaceVersion              OK       2
09:51:30.840 Connected                     OK       True
09:51:30.846 Description                   OK       ASCOM Focuser Simulator Driver
09:51:30.851 DriverInfo                    OK       Focuser Simulator Driver
09:51:30.856 DriverVersion                 OK       6.0
09:51:30.860 Name                          OK       ASCOM.Simulator.Focuser
09:51:30.866 CommandString                 INFO     Conform cannot test the CommandString method
09:51:30.870 CommandBlind                  INFO     Conform cannot test the CommandBlind method
09:51:30.874 CommandBool                   INFO     Conform cannot test the CommandBool method
09:51:30.878 Action                        INFO     Conform cannot test the Action method
09:51:30.882 SupportedActions              OK       Driver returned an empty action list
 
Properties 
09:51:30.906 Absolute                      OK       True
09:51:30.911 IsMoving                      OK       False
09:51:30.915 MaxStep                       OK       50000
09:51:30.920 MaxIncrement                  OK       50000
09:51:30.924 Position                      OK       25000
09:51:30.929 StepSize                      OK       20
09:51:30.934 TempCompAvailable             OK       True
09:51:30.938 TempComp Read                 OK       False
09:51:30.942 TempComp Write                OK       Successfully turned temperature compensation on
09:51:30.947 TempComp Write                OK       Successfully turned temperature compensation off
09:51:30.952 Temperature                   OK       4.69
 
Methods 
09:51:30.970 Halt                          OK       Focuser halted OK
09:51:30.979 Move                                   Moving to position: 30000
09:51:38.003 Move                          OK       Asynchronous move found
09:51:38.010 Move                          OK       Absolute move OK
09:51:45.036 Move                                   Moving to position: 30000
09:51:45.063 Move - TempComp True          OK       .NET InvalidOperation Exception correctly raised as expected
 
Conformance test complete 
 
No errors, warnings or issues found: your driver passes ASCOM validation!! 
 
Driver Hash Value: A353EA89A605A6A3F27FF72C7981A8AC0A745CF8868080E6F3359451B56E29A9EC58F860BA2261884E5D0BA3ADCFB691D5B05C1E28FD951D3D968FF3AD276A68
Report Hash Value: 7DE8DA5D641C48876F3451D4D3F98ECFAA296D7DD07D77122F4C6B67117AB6AE1AAE4DA66305CE2D853276F5B4F068128E558D2598A4F3D78C64FE2206C15C0B