Changeset 6ffc0b for src/documentation/tests
- Timestamp:
- Dec 14, 2012, 1:03:12 PM (12 years ago)
- 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)
- Location:
- src/documentation/tests
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/documentation/tests/regression-tests.dox
r3b75c2 r6ffc0b 85 85 * \section regressiontest-add Adding a new test 86 86 * 87 * The basic working is: have a input file, do something with it and compare 88 * to output file against a stored one. 89 * 87 90 * \attention Name convention of files and directories, e.g. 88 91 * \b tests/regression/Parser/Pdb with \b testsuite-parser-pdb-save.at … … 110 113 * testsuite is automatically re-compiled when one of the test files has changed. 111 114 * 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 * 112 141 * 113 142 * \date 2011-10-31 -
src/documentation/tests/unit-tests.dox
r3b75c2 r6ffc0b 75 75 * -# Add the test to the \b Makefile.am contained in \b unittests. 76 76 * 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 * 77 107 * If there is not yet a \b unittests folder: 78 108 * -# Create a new \b Makefile.am, check out one of the present ones to get … … 98 128 * -# ...LDADD gathers all libs that are required for compilation. 99 129 * 130 * \section unittest-failures Marking tests as expected to fail 100 131 * 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 102 146 * 103 147 */
Note:
See TracChangeset
for help on using the changeset viewer.