dbtestframework.pas 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. program dbtestframework;
  2. {$IFDEF FPC}
  3. {$mode objfpc}{$H+}
  4. {$ENDIF}
  5. {$APPTYPE CONSOLE}
  6. uses
  7. SysUtils,
  8. fpcunit, testreport, testregistry,
  9. DigestTestReport,
  10. toolsunit,
  11. // List of supported database connectors
  12. sqldbtoolsunit,
  13. dbftoolsunit,
  14. bufdatasettoolsunit,
  15. memdstoolsunit,
  16. SdfDSToolsUnit,
  17. tcsdfdata,
  18. // Units wich contain the tests
  19. TestBasics,
  20. TestFieldTypes,
  21. TestDatasources,
  22. TestDBBasics,
  23. TestBufDatasetStreams,
  24. TestSpecificTBufDataset,
  25. TestDBExport,
  26. consoletestrunner;
  27. Procedure LegacyOutput;
  28. var
  29. FXMLResultsWriter: TXMLResultsWriter;
  30. FDigestResultsWriter: TDigestResultsWriter;
  31. testResult: TTestResult;
  32. begin
  33. testResult := TTestResult.Create;
  34. FXMLResultsWriter := TXMLResultsWriter.Create;
  35. FDigestResultsWriter := TDigestResultsWriter.Create(nil);
  36. try
  37. testResult.AddListener(FXMLResultsWriter);
  38. testResult.AddListener(FDigestResultsWriter);
  39. FDigestResultsWriter.Comment:=dbtype;
  40. FDigestResultsWriter.Category:='DB';
  41. FDigestResultsWriter.RelSrcDir:='fcl-db';
  42. FXMLResultsWriter.WriteHeader;
  43. // FdiDBResultsWriter.OpenConnection(dbconnectorname+';'+dbconnectorparams);
  44. GetTestRegistry.Run(testResult);
  45. FXMLResultsWriter.WriteResult(testResult);
  46. finally
  47. testResult.Free;
  48. FXMLResultsWriter.Free;
  49. FDigestResultsWriter.Free;
  50. end;
  51. end;
  52. Var
  53. Application : TTestRunner;
  54. begin
  55. InitialiseDBConnector;
  56. Try
  57. Application:=TTestRunner.Create(nil);
  58. With Application do
  59. try
  60. if HasOption('g','legacy') then
  61. LegacyOutput
  62. else
  63. begin
  64. DefaultFormat:=fplain;
  65. DefaultRunAllTests:=True;
  66. Initialize;
  67. Run;
  68. end;
  69. finally
  70. Free;
  71. end;
  72. Finally
  73. FreeDBConnector;
  74. end;
  75. end.