Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • erp5 erp5
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Merge requests 142
    • Merge requests 142
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedinexedi
  • erp5erp5
  • Merge requests
  • !1651

ERP5TypeLiveTestCase: close request at the end of each test

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Jérome Perrin requested to merge fix/close_livetest_request into master Jul 13, 2022
  • Overview 0
  • Commits 1
  • Pipelines 1
  • Changes 1

This is supposed to fix "Should not load state for ${oid of a skin} when the connection is closed" sometimes happening with live tests (especially when the test self.publish and the developer access the site while the test is suspended on a debugger breakpoint).

The object accessed after the connection is closed was a skin (python script, sometimes page template or form) that was cached in SKINDATA. The mechanism to prune entries from the cache uses REQUEST.hold API which expects that REQUEST.close is called on request, but because requests were not closed at the end of the request, it happened that the cache was reused from another connection.

This change to close the requests, like ERP5TypeTestCase is doing in tearDown (the actual close is done by Testing.ZopeTestCase.connections).

By closing requests at the end of tests, we also have to change so that at the beginning of the test we initialize the request, by using the same setSite and setupCurrentSkin that are done in ERP5TypeTestCase.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: fix/close_livetest_request
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7