___________________ TestSiteMergeHistory.test_merge_history ____________________ self = <tests.edit_tests.TestSiteMergeHistory testMethod=test_merge_history> def test_merge_history(self): """Test Site.merge_history functionality.""" site = self.get_site() source = pywikibot.Page(site, 'User:Sn1per/MergeTest1') dest = pywikibot.Page(site, 'User:Sn1per/MergeTest2') # Without timestamp self.setup_test_pages() > site.merge_history(source, dest) tests/edit_tests.py:160: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pywikibot/site/_decorators.py:93: in callee return fn(self, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = APISite("test", "wikipedia"), source = Page('User:Sn1per/MergeTest1') dest = Page('User:Sn1per/MergeTest2'), timestamp = None, reason = None @need_right('mergehistory') def merge_history( self, source: BasePage, dest: BasePage, timestamp: pywikibot.Timestamp | None = None, reason: str | None = None, ) -> None: """Merge revisions from one page into another. .. seealso:: - :api:`Mergehistory` - :meth:`page.BasePage.merge_history` (should be preferred) Revisions dating up to the given timestamp in the source will be moved into the destination page history. History merge fails if the timestamps of source and dest revisions overlap (all source revisions must be dated before the earliest dest revision). :param source: Source page from which revisions will be merged :param dest: Destination page to which revisions will be merged :param timestamp: Revisions from this page dating up to this timestamp will be merged into the destination page (if not given or False, all revisions will be merged) :param reason: Optional reason for the history merge :raises APIError: unexpected APIError :raises Error: expected APIError or unexpected response :raises NoPageError: *source* or *dest* does not exist :raises PageSaveRelatedError: *source* is equal to *dest* """ # Data for error messages errdata = { 'site': self, 'source': source, 'dest': dest, 'user': self.user(), } # Check if pages exist before continuing if not source.exists(): raise NoPageError(source, 'Cannot merge revisions from source {source} ' 'because it does not exist on {site}' .format_map(errdata)) if not dest.exists(): raise NoPageError(dest, 'Cannot merge revisions to destination {dest} ' 'because it does not exist on {site}' .format_map(errdata)) if source == dest: # Same pages raise PageSaveRelatedError( page=source, message='Cannot merge revisions of {page} to itself' ) # Send the merge API request token = self.tokens['csrf'] req = self.simple_request(action='mergehistory', token=token) req['from'] = source req['to'] = dest if reason: req['reason'] = reason if timestamp: req['timestamp'] = timestamp self.lock_page(source) self.lock_page(dest) try: result = req.submit() pywikibot.debug(f'mergehistory response: {result}') except APIError as err: if err.code in self._mh_errors: on_error = self._mh_errors[err.code] > raise Error(on_error.format_map(errdata)) from None E pywikibot.exceptions.Error: Source revisions from [[test:User:Sn1per/MergeTest1]] overlap or come after destination revisions of [[test:User:Sn1per/MergeTest2]] pywikibot/site/_apisite.py:2329: Error
Description
Description
Details
Details
Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
[tests] use prompt=False for delete() method | pywikibot/core | master | +2 -3 |
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Open | None | T152961 Improve tests suite | |||
Open | None | T129368 Usages of unittest.expectedFailure or unittest.skip should be solved (goal) | |||
Open | None | T367260 Write test CI github action has ~ 22 failing tests or errors | |||
Resolved | Xqt | T367300 TestSiteMergeHistory.test_merge_history() of edit_tests fails with overlap error |
Event Timeline
Comment Actions
The reason is that promt flag of BasePage.delete() is set to verify the deletion and input_choice gives 'n' then.
Comment Actions
Change #1057845 had a related patch set uploaded (by Xqt; author: Xqt):
[pywikibot/core@master] [tests] use prompt=False for delete() method
Comment Actions
Change #1057845 merged by jenkins-bot:
[pywikibot/core@master] [tests] use prompt=False for delete() method