Changeset f3db60
- Timestamp:
- Jun 11, 2015, 11:21:40 PM (10 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:
- fae462
- Parents:
- 0907ad
- git-author:
- Frederik Heber <heber@…> (05/15/15 07:12:44)
- git-committer:
- Frederik Heber <heber@…> (06/11/15 23:21:40)
- Files:
-
- 11 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/userguide/userguide.xml
r0907ad rf3db60 2541 2541 <programlisting>... -v 4</programlisting> 2542 2542 </section> 2543 2544 <section xml:id='various.dry-run'> 2545 <title xml:id='various.dry-run.title'>Dry runs</title> 2546 2547 <para>A "dry run" refers to a test run where commands are not 2548 actually executed. You may bracket a certain set of actions by 2549 putting --dry-run before and --no-dry-run afterwards. Then, all 2550 action in between will be looked at but not executed, i.e. they 2551 make it to the history but nothing is changed in the World.</para> 2552 2553 <para>As an example, the following listing contains the adding of a 2554 hydrogen atom at position (5,5,5) inside the aforementioned dry run 2555 statements. Hence, no hydrogen atom is added but the add action is 2556 stored in the history and will make it to a stored session.</para> 2557 2558 <programlisting> 2559 ... --dry-run \ 2560 --add-atom 1 --domain-position "5,5,5" 2561 --no-dry-run 2562 </programlisting> 2563 2564 </section> 2543 2565 2544 2566 <section xml:id='various.element-db'> -
src/Actions/ActionQueue.cpp
r0907ad rf3db60 63 63 history(new ActionHistory), 64 64 #ifndef HAVE_ACTION_THREAD 65 lastActionOk(true) 65 lastActionOk(true), 66 66 #else 67 67 CurrentAction(0), 68 68 lastActionOk(true), 69 69 run_thread(boost::bind(&ActionQueue::run, this)), 70 run_thread_isIdle(true) 71 #endif 70 run_thread_isIdle(true), 71 #endif 72 dryrun_flag(false) 72 73 { 73 74 // channels of observable … … 109 110 #ifndef HAVE_ACTION_THREAD 110 111 try { 111 newaction->call(); 112 if (!isDryRun(newaction)) 113 newaction->call(); 112 114 lastActionOk = true; 113 115 } catch(ActionFailureException &e) { … … 175 177 LOG(0, "Calling Action " << actionqueue[CurrentAction]->getName() << " ... "); 176 178 try { 177 actionqueue[CurrentAction]->call(); 179 if (!isDryRun(actionqueue[CurrentAction])) 180 actionqueue[CurrentAction]->call(); 178 181 pushStatus("SUCCESS: Action "+actionqueue[CurrentAction]->getName()+" successful."); 179 182 lastActionOk = true; … … 380 383 } 381 384 385 bool ActionQueue::isDryRun(const Action *_nextaction) const 386 { 387 bool status = dryrun_flag; 388 status &= (_nextaction->getName() != "no-dry-run"); 389 return status; 390 } 382 391 383 392 CONSTRUCT_SINGLETON(ActionQueue) -
src/Actions/ActionQueue.hpp
r0907ad rf3db60 40 40 class ActionRegistry; 41 41 class ActionTrait; 42 class DryRunAdvocate; 42 43 43 44 namespace Queuedetail { … … 178 179 { return StatusList; } 179 180 181 /** Getter for isDryRun state flag. 182 * 183 * \return true - ActionQueue does not execute Actions but skips, false - else 184 */ 185 bool getDryRun() const 186 { return dryrun_flag; } 187 180 188 private: 181 189 //!> grant Action access to internal history functions. … … 183 191 //!> grant CommandLineParser access to stop and clearQueue() 184 192 friend class ::CommandLineParser; 193 //!> grant Advocate access to setting dryrun 194 friend class DryRunAdvocate; 185 195 186 196 /** Wrapper function to add state to ActionHistory. … … 255 265 void insertAction(Action *_action, enum Action::QueryOptions state); 256 266 267 /** Sets the current state of the \a isDryRun flag. 268 * 269 * \param _dryrun true - Actions will not get executed anymore, false - else 270 */ 271 void setDryRun(const bool _dryrun) 272 { dryrun_flag = _dryrun; } 273 274 /** Checks whether next Action should be skipped or not. 275 * 276 * \param _nextaction next action to execute to inspect whether it unsets dryrun_flag 277 * \return true - dryrun_flag set and \a _nextaction is not unsetting dry run 278 */ 279 bool isDryRun(const Action *_nextaction) const; 280 257 281 private: 258 282 /** Private cstor for ActionQueue. … … 309 333 //!> internal list of status messages from Actions for UIs to display 310 334 ActionStatusList StatusList; 335 336 //!> internal flag whether to call or skip actions (i.e. do a dry run) 337 bool dryrun_flag; 311 338 }; 312 339 namespace Queuedetail { -
src/Actions/GlobalListOfActions.hpp
r0907ad rf3db60 41 41 (BondAdd) \ 42 42 (BondRemove) \ 43 (CommandDryRun) \ 43 44 (CommandElementDb) \ 44 45 (CommandBondLengthTable) \ … … 46 47 (CommandHelp) \ 47 48 (CommandHelpRedistribute) \ 49 (CommandNoDryRun) \ 48 50 (CommandSetRandomNumbersEngine) \ 49 51 (CommandSetRandomNumbersDistribution) \ -
src/Actions/Makefile.am
r0907ad rf3db60 41 41 Actions/Calculation.hpp \ 42 42 Actions/Calculation_impl.hpp \ 43 Actions/DryRunAdvocate.hpp \ 43 44 Actions/ErrorAction.hpp \ 44 45 Actions/GlobalListOfActions.hpp \ … … 187 188 CMDACTIONSOURCE = \ 188 189 Actions/CommandAction/BondLengthTableAction.cpp \ 190 Actions/CommandAction/DryRunAction.cpp \ 189 191 Actions/CommandAction/ElementDbAction.cpp \ 190 192 Actions/CommandAction/FastParsingAction.cpp \ 191 193 Actions/CommandAction/HelpAction.cpp \ 192 194 Actions/CommandAction/HelpRedistributeAction.cpp \ 195 Actions/CommandAction/NoDryRunAction.cpp \ 193 196 Actions/CommandAction/StoreSessionAction.cpp \ 194 197 Actions/CommandAction/VerboseAction.cpp \ … … 197 200 CMDACTIONHEADER = \ 198 201 Actions/CommandAction/BondLengthTableAction.hpp \ 202 Actions/CommandAction/DryRunAction.hpp \ 199 203 Actions/CommandAction/ElementDbAction.hpp \ 200 204 Actions/CommandAction/FastParsingAction.hpp \ 201 205 Actions/CommandAction/HelpAction.hpp \ 202 206 Actions/CommandAction/HelpRedistributeAction.hpp \ 207 Actions/CommandAction/NoDryRunAction.hpp \ 203 208 Actions/CommandAction/StoreSessionAction.hpp \ 204 209 Actions/CommandAction/VerboseAction.hpp \ … … 207 212 CMDACTIONDEFS = \ 208 213 Actions/CommandAction/BondLengthTableAction.def \ 214 Actions/CommandAction/DryRunAction.def \ 209 215 Actions/CommandAction/ElementDbAction.def \ 210 216 Actions/CommandAction/FastParsingAction.def \ 211 217 Actions/CommandAction/HelpAction.def \ 212 218 Actions/CommandAction/HelpRedistributeAction.def \ 219 Actions/CommandAction/NoDryRunAction.def \ 213 220 Actions/CommandAction/StoreSessionAction.def \ 214 221 Actions/CommandAction/VerboseAction.def \ -
tests/regression/Makefile.am
r0907ad rf3db60 116 116 $(srcdir)/Options/testsuite-options.at \ 117 117 $(srcdir)/Options/BondLengthTable/testsuite-options-bond-length-table.at \ 118 $(srcdir)/Options/DryRun/testsuite-options-dryrun.at \ 119 $(srcdir)/Options/DryRun/testsuite-options-dryrun-storesession.at \ 120 $(srcdir)/Options/DryRun/testsuite-options-no-dryrun.at \ 118 121 $(srcdir)/Options/ElementsDb/testsuite-options-no-elements-db.at \ 119 122 $(srcdir)/Options/ElementsDb/testsuite-options-elements-db.at \ -
tests/regression/Options/testsuite-options.at
r0907ad rf3db60 53 53 m4_include([Options/Session/testsuite-options-store-session-python.at]) 54 54 m4_include([Options/Session/testsuite-options-load-session-python.at]) 55 56 # test dry run 57 m4_include([Options/DryRun/testsuite-options-dryrun.at]) 58 m4_include([Options/DryRun/testsuite-options-no-dryrun.at]) 59 m4_include([Options/DryRun/testsuite-options-dryrun-storesession.at])
Note:
See TracChangeset
for help on using the changeset viewer.