Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
erp5 erp5
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 138
    • Merge requests 138
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedi
  • erp5erp5
  • Merge requests
  • !1651

Merged
Created Jul 13, 2022 by Jérome Perrin@jeromeOwner

ERP5TypeLiveTestCase: close request at the end of each test

  • 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
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: fix/close_livetest_request
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7