Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clear out uses of addAction in tests/ #955

Closed
PhilMiller opened this issue Jul 28, 2020 · 13 comments · Fixed by #974
Closed

Clear out uses of addAction in tests/ #955

PhilMiller opened this issue Jul 28, 2020 · 13 comments · Fixed by #974
Assignees
Labels
intro A potentially good introductory issue for a new developer to address type: task

Comments

@PhilMiller
Copy link
Member

What Needs to be Done?

We want to largely deprecate casual usage of theTerm()->addAction, in favor of higher-level routines instead. The dominant replacement for a lot of uses should probably be vt::runInEpochCollective(), with the associated action simply sequenced afterward inline.

$ git grep -c addAction tests/
tests/unit/active/test_active_send.cc:1
tests/unit/active/test_pending_send.cc:1
tests/unit/collection/test_checkpoint.extended.cc:1
tests/unit/collection/test_destroy.cc:1
tests/unit/collection/test_insert.extended.cc:6
tests/unit/collectives/test_mpi_collective.cc:3
tests/unit/group/test_group.cc:4
tests/unit/location/test_hops.extended.cc:1
tests/unit/location/test_location_common.h:1
tests/unit/memory/test_memory_active.cc:2
tests/unit/memory/test_memory_lifetime.cc:14
tests/unit/objgroup/test_objgroup.cc:3
tests/unit/pipe/test_callback_bcast.cc:6
tests/unit/pipe/test_callback_bcast_collection.extended.cc:3
tests/unit/pipe/test_callback_func.cc:1
tests/unit/pipe/test_callback_func_ctx.cc:1
tests/unit/pipe/test_callback_send.cc:6
tests/unit/pipe/test_callback_send_collection.extended.cc:3
tests/unit/rdma/test_rdma_collection_handle.extended.cc:1
tests/unit/sequencer/test_sequencer.extended.cc:4
tests/unit/sequencer/test_sequencer_extensive.extended.cc:1
tests/unit/sequencer/test_sequencer_for.extended.cc:1
tests/unit/sequencer/test_sequencer_nested.extended.cc:1
tests/unit/sequencer/test_sequencer_parallel.extended.cc:2
tests/unit/sequencer/test_sequencer_vrt.extended.cc:3
tests/unit/termination/test_termination_action_callable.extended.cc:2
tests/unit/termination/test_termination_action_common.impl.h:2
tests/unit/termination/test_termination_reset.cc:2

There are 77 such calls in total. The ones in tests/unit/termination may be appropriate to leave as is.

Jonathan and I have decided that we'd like to split up this effort among the new-comers, to provide a bit of an exercise, and spread out some experience with the commit, PR, and CI workflow.

https://github.com/DARMA-tasking/vt/pull/953/files#diff-3ab9ba90e26bdf35497656cb95df5b39 gives an illustration of the desired kind of change

I'll post comments with sub-assignments. Please each submit a separate PR, and assign it to me @PhilMiller for review.

Is your feature request related to a problem? Please describe.

Describe potential solution outcome

Describe alternatives you've considered

Additional context

@PhilMiller
Copy link
Member Author

@bradybray please address these

tests/unit/active/test_active_send.cc:1
tests/unit/active/test_pending_send.cc:1
tests/unit/collection/test_checkpoint.extended.cc:1
tests/unit/collection/test_destroy.cc:1
tests/unit/collection/test_insert.extended.cc:6
tests/unit/collectives/test_mpi_collective.cc:3

@PhilMiller
Copy link
Member Author

@cz4rs please address these

tests/unit/group/test_group.cc:4
tests/unit/location/test_hops.extended.cc:1
tests/unit/location/test_location_common.h:1
tests/unit/memory/test_memory_active.cc:2
tests/unit/memory/test_memory_lifetime.cc:14
tests/unit/objgroup/test_objgroup.cc:3
tests/unit/pipe/test_callback_bcast.cc:6
tests/unit/pipe/test_callback_bcast_collection.extended.cc:3

@PhilMiller
Copy link
Member Author

@JacobDomagala please address these

tests/unit/pipe/test_callback_func.cc:1
tests/unit/pipe/test_callback_func_ctx.cc:1
tests/unit/pipe/test_callback_send.cc:6
tests/unit/pipe/test_callback_send_collection.extended.cc:3
tests/unit/rdma/test_rdma_collection_handle.extended.cc:1
tests/unit/sequencer/test_sequencer.extended.cc:4
tests/unit/sequencer/test_sequencer_extensive.extended.cc:1
tests/unit/sequencer/test_sequencer_for.extended.cc:1
tests/unit/sequencer/test_sequencer_nested.extended.cc:1
tests/unit/sequencer/test_sequencer_parallel.extended.cc:2
tests/unit/sequencer/test_sequencer_vrt.extended.cc:3
tests/unit/termination/test_termination_action_callable.extended.cc:2
tests/unit/termination/test_termination_action_common.impl.h:2
tests/unit/termination/test_termination_reset.cc:2

@PhilMiller
Copy link
Member Author

https://darma-tasking.github.io/docs/html/scheduler.html may be a useful point of reference in the documentation

@bradybray
Copy link

@PhilMiller I'm not certain how to address the test_pending_send. It seems any implementation I attempt causes a segfault or a failure of test coverage. Should I file a pull-request with my current commits so they can be discussed there?

bradybray pushed a commit that referenced this issue Aug 10, 2020
lifflander pushed a commit that referenced this issue Sep 14, 2020
lifflander pushed a commit that referenced this issue Sep 14, 2020
lifflander added a commit that referenced this issue Sep 14, 2020
lifflander added a commit that referenced this issue Sep 14, 2020
lifflander pushed a commit that referenced this issue Sep 17, 2020
lifflander pushed a commit that referenced this issue Sep 17, 2020
lifflander pushed a commit that referenced this issue Sep 17, 2020
lifflander pushed a commit that referenced this issue Sep 17, 2020
lifflander pushed a commit that referenced this issue Sep 17, 2020
lifflander added a commit that referenced this issue Sep 17, 2020
lifflander added a commit that referenced this issue Sep 17, 2020
lifflander added a commit that referenced this issue Sep 18, 2020
…ction-in-tests

#955 clear out uses of addAction in tests
@PhilMiller
Copy link
Member Author

This has gone as far as it's going to right now, so I'm closing it. Thanks, all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
intro A potentially good introductory issue for a new developer to address type: task
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants