dbtestframework.pas 2.0 KB

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