FGPythonSys: Difference between revisions

Jump to navigation Jump to search
1,604 bytes added ,  24 February 2017
m
→‎Testing: this may deserve its own dedicated article at some point ?
m (→‎Testing: this may deserve its own dedicated article at some point ?)
Line 329: Line 329:
   }}</ref>
   }}</ref>


Edward developed this as part of his FGPythonSys experiments to have full system test coverage [1]. The test suite is based on the venerable, yet old CppUnit framework [2]. Edward d'Auvergne has spun this out into its own standalone branches rebased to 2016.4.0 and made independent of embedded Python [3]. The test suite is an almost direct Python->C++ translation my own comprehensive test suite for one of my own software projects [4]. The benefits of such a framework, assuming a good test coverage, include: - Enabling quick and brutal refactorisation of the entire code base - ensuring that the end result works perfectly well. - Interest in independence and modularisation of all FlightGear components to simplify tests. - If all subsystems are tested for standalone creation, destruction, init(), reinit(), shutdown(), etc., then repetitive resetting of FlightGear should work flawlessly. - Allow valgrind and other heavy tools to be run on the absolute minimal code paths, by running individual tests. The functionality of the test suite can be very much expanded in the future [5]. For example there are CppUnit classes for XML output, rather than text, so this test suite is ideal for automated testing and presenting the results through web pages (e.g. Jenkins).<ref>{{cite web
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35661026/
  |title  =  <nowiki> [Flightgear-devel] A FlightGear test suite using CppUnit. </nowiki>
  |author =  <nowiki> Edward d'Auvergne </nowiki>
  |date  =  Feb 11th, 2017
  |added  =  Feb 11th, 2017
  |script_version = 0.40
  }}</ref>


=== Reset/re-init ===
=== Reset/re-init ===

Navigation menu