#2966 closed defect (fixed)

src/allmydata/test/no_network.py, _NoNetworkClient.stopService fails to return a result

Reported by: exarkun Owned by: exarkun
Priority: normal Milestone: undecided
Component: dev-infrastructure Version: 1.12.1
Keywords: Cc:
Launchpad Bug:

Description

_NoNetworkClient is part of the test infrastructure to be able to test Node without doing lots of failure-prone (and, I guess, unnecessary) network operations.

It overrides startService and stopService to bypass the normal node startup and shutdown. However, its stopService implementation fails to return the result of the upcall it makes:

    def stopService(self):
        service.MultiService.stopService(self)

stopService is defined as returning a Deferred which fires when the service has stopped. By failing to return the result of the upcall, none of the child services of the service collection will have their shutdown Deferreds waited on. This leads to premature test completion which leads to "dirty reactor" errors from trial.

Change History (2)

comment:1 Changed at 2019-01-30T17:26:50Z by exarkun

  • Owner set to exarkun
  • Status changed from new to assigned

comment:2 Changed at 2019-02-01T01:43:29Z by GitHub <noreply@…>

  • Resolution set to fixed
  • Status changed from assigned to closed

In e57449e/trunk:

Merge pull request #543 from tahoe-lafs/nonetworkclient-stopservice-return-deferred

Return the result of the base MultiService?.stopService

Fixes: ticket:2966

Note: See TracTickets for help on using tickets.