Github user iilyak commented on the pull request:
https://github.com/apache/couchdb-couch/pull/32#issuecomment-70682346
While working on test suite I had a need for start_couch(ExtraApps) and
stop_couch(ExtraApps). I figure out that this API actually not side-effect
free. Since when we do start_couch(Apps) we start dependencies. I tend to
change it to start_couch/1 -> [started_apps]. So we can pass list of apps to
teardown function. I think it is a sensible change. However this will affect
lot's of repositories. There is an alternative to it which is to start a named
process which would act as a term storage for the current test. Store arbitrary
terms in the state of that process including info about apps that needs to be
stopped on teardown. This would reduce number of arguments we would need to
pass to tests themselves. We also can use unnamed process and pass Pid of it to
every test as a Context and have test_util:get(Context, Key) and [Arg1, Arg2] =
test_util:get(Context, [key1, key2]) to extract args from context. Not sure
about the best approach to this. The change is out of the scope of thi
s ticket anyway.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---