dbtestframework.pas 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. consoletestrunner;
  26. Procedure LegacyOutput;
  27. var
  28. FXMLResultsWriter: TXMLResultsWriter;
  29. FDigestResultsWriter: TDigestResultsWriter;
  30. testResult: TTestResult;
  31. begin
  32. testResult := TTestResult.Create;
  33. FXMLResultsWriter := TXMLResultsWriter.Create;
  34. FDigestResultsWriter := TDigestResultsWriter.Create(nil);
  35. try
  36. testResult.AddListener(FXMLResultsWriter);
  37. testResult.AddListener(FDigestResultsWriter);
  38. FDigestResultsWriter.Comment:=dbtype;
  39. FDigestResultsWriter.Category:='DB';
  40. FDigestResultsWriter.RelSrcDir:='fcl-db';
  41. FXMLResultsWriter.WriteHeader;
  42. // FdiDBResultsWriter.OpenConnection(dbconnectorname+';'+dbconnectorparams);
  43. GetTestRegistry.Run(testResult);
  44. FXMLResultsWriter.WriteResult(testResult);
  45. finally
  46. testResult.Free;
  47. FXMLResultsWriter.Free;
  48. FDigestResultsWriter.Free;
  49. end;
  50. end;
  51. Var
  52. Application : TTestRunner;
  53. begin
  54. InitialiseDBConnector;
  55. Try
  56. Application:=TTestRunner.Create(nil);
  57. With Application do
  58. try
  59. if HasOption('g','legacy') then
  60. LegacyOutput
  61. else
  62. begin
  63. DefaultFormat:=fplain;
  64. DefaultRunAllTests:=True;
  65. Initialize;
  66. Run;
  67. end;
  68. finally
  69. Free;
  70. end;
  71. Finally
  72. FreeDBConnector;
  73. end;
  74. end.