dbtestframework.pas 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. {$IFDEF TEST_SQLITE3DS}
  18. Sqlite3DSToolsUnit,
  19. TestSpecificTSqlite3Dataset,
  20. {$ENDIF}
  21. // Units wich contain the tests
  22. tcsdfdata,
  23. TestBasics,
  24. TestDBBasics,
  25. TestFieldTypes,
  26. TestDatasources,
  27. TestBufDatasetStreams,
  28. TestSQLDB,
  29. TestSpecificTBufDataset,
  30. TestSpecificTDBF,
  31. TestSpecificTMemDataset,
  32. TestDBExport,
  33. tccsvdataset,
  34. testsqlscript,
  35. consoletestrunner;
  36. Procedure LegacyOutput;
  37. var
  38. FXMLResultsWriter: TXMLResultsWriter;
  39. FDigestResultsWriter: TDigestResultsWriter;
  40. testResult: TTestResult;
  41. begin
  42. testResult := TTestResult.Create;
  43. FXMLResultsWriter := TXMLResultsWriter.Create;
  44. FDigestResultsWriter := TDigestResultsWriter.Create(nil);
  45. try
  46. testResult.AddListener(FXMLResultsWriter);
  47. testResult.AddListener(FDigestResultsWriter);
  48. FDigestResultsWriter.Comment:=dbtype;
  49. FDigestResultsWriter.Category:='DB';
  50. FDigestResultsWriter.RelSrcDir:='fcl-db';
  51. FXMLResultsWriter.WriteHeader;
  52. // FdiDBResultsWriter.OpenConnection(dbconnectorname+';'+dbconnectorparams);
  53. GetTestRegistry.Run(testResult);
  54. FXMLResultsWriter.WriteResult(testResult);
  55. finally
  56. testResult.Free;
  57. FXMLResultsWriter.Free;
  58. FDigestResultsWriter.Free;
  59. end;
  60. end;
  61. Var
  62. Application : TTestRunner;
  63. begin
  64. InitialiseDBConnector;
  65. Try
  66. Application:=TTestRunner.Create(nil);
  67. With Application do
  68. try
  69. if HasOption('g','legacy') then
  70. LegacyOutput
  71. else
  72. begin
  73. DefaultFormat:=fplain;
  74. DefaultRunAllTests:=True;
  75. Initialize;
  76. Run;
  77. end;
  78. finally
  79. Free;
  80. end;
  81. Finally
  82. FreeDBConnector;
  83. end;
  84. end.