Ignore:
Timestamp:
Dec 14, 2012, 1:03:12 PM (12 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
7ef5b9a
Parents:
3b75c2
git-author:
Frederik Heber <heber@…> (04/12/12 16:01:24)
git-committer:
Frederik Heber <heber@…> (12/14/12 13:03:12)
Message:

DOCU: Enhanced documentation of tests with information from TRAC.

Location:
src/documentation/tests
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/documentation/tests/regression-tests.dox

    r3b75c2 r6ffc0b  
    8585 * \section regressiontest-add Adding a new test
    8686 *
     87 *  The basic working is: have a input file, do something with it and compare
     88 *  to output file against a stored one.
     89 *
    8790 *  \attention Name convention of files and directories, e.g.
    8891 *  \b tests/regression/Parser/Pdb with \b testsuite-parser-pdb-save.at
     
    110113 *  testsuite is automatically re-compiled when one of the test files has changed.
    111114 *
     115 *  On how to write a testsuite test, we refer you to one of these .at files to get a
     116 *  notion and  here to have a reference of the possible autotest commands at hand.
     117 *  The scheme is always the same basically:
     118 *  \code
     119 * AT_SETUP([General test part - description of this testsuite section])
     120 * AT_KEYWORDS([<some keywords>,<actionname>,[undo/redo]])
     121 * ...
     122 * AT_CHECK([this], <return value>, [ignore], [ignore])
     123 * AT_CHECK([that], <return value>, [stdout], [stderr])
     124 * AT_CHECk([fgrep "test fine" stdout], 0, [ignore], ignore])
     125 * ...
     126 * AT_CLEANUP #remove all temporary files
     127 * \endcode
     128 * where <return value> is some number the code returns to indicate everything
     129 * worked fine. The global theme is specified only once per .at file, file
     130 * AT_SETUP and AT_CLEANUP sort of embrace every specific test that you want to do.
     131 * Note that it is required to list the action name under AT_KEYWORDS and also
     132 * give undo oder redo as an additional keyword if the undo or redo of the action
     133 * is tested. It is advised to give further keywords, e.g. the directory name
     134 * giving the general theme of the tests (selection, analysis, ...). Also note
     135 * that all keywords are always lower-case!
     136 *
     137 * Note that testing the undo/redo-functionality of an Action is always placed
     138 * into the same test file along with the normal functionality but in different
     139 * tests (i.e. undo and redo each have their own AT_SETUP .. AT_CLEANUP wrapping).
     140 *
    112141 *
    113142 * \date 2011-10-31
  • src/documentation/tests/unit-tests.dox

    r3b75c2 r6ffc0b  
    7575 *  -# Add the test to the \b Makefile.am contained in \b unittests.
    7676 *
     77 * Writing a new unit test then consists of writing the source and the header
     78 * file, where you should guide yourself by the already present files. Naming
     79 * convention is usually to suffix the name with UnitTest, e.g.
     80 * \b SingletonUnitTest.cpp.
     81 *
     82 * The test class should be named in a similar manner and has the following
     83 * look:
     84 * \code
     85 * class SingletonTest : public CppUnit::TestFixture
     86 * {
     87 *   CPPUNIT_TEST_SUITE( SingletonTest );
     88 *   CPPUNIT_TEST ( blaTest );
     89 *   CPPUNIT_TEST ( blablaTest );
     90 *   CPPUNIT_TEST_SUITE_END();
     91 *
     92 * public:
     93 *   void setUp();
     94 *   void tearDown();
     95 *
     96 *   void blaTest();
     97 *   void blablaTest();
     98 * };
     99 * \endcode
     100 * It inherits CppUnit::TestFixture and defines it as a TEST_SUITE via the
     101 * initial macros which also give the test functions to call. Below the test
     102 * functions are defined along with setUp() and tearDown() which embrace the
     103 * call of each test function, i.e. which create a common test environment for
     104 * each test function, by allocating some memory, setting some stuff and
     105 * cleaning up in the end again.
     106 *
    77107 *  If there is not yet a \b unittests folder:
    78108 *  -# Create a new \b Makefile.am, check out one of the present ones to get
     
    98128 *    -# ...LDADD gathers all libs that are required for compilation.
    99129 *
     130 * \section unittest-failures Marking tests as expected to fail
    100131 *
    101  * \date 2011-10-31
     132 * If a unit tests fails for a given commit but this is expected because the
     133 * failure is repaired after some other implementation lateron, it is useful
     134 * and required to mark the test as expected to fail.
     135 *
     136 * To do this, add a variable \b XFAIL_TESTS if not present to the Makefile.am
     137 * in which the failing unit test is contained as follows
     138 * \code
     139 *   XFAIL_TESTS = SingletonUnitTest
     140 * \endcode
     141 * This will mark \b SingletonUnitTest as expected to fail and continue testing
     142 * even though the test is not passed.
     143 *
     144 *
     145 * \date 2012-04-12
    102146 *
    103147 */
Note: See TracChangeset for help on using the changeset viewer.