Merge ~cjwatson/launchpad:doctest-remove-py2-exception-module into launchpad:master
- Git
- lp:~cjwatson/launchpad
- doctest-remove-py2-exception-module
- Merge into master
Proposed by
Colin Watson
Status: | Merged |
---|---|
Approved by: | Colin Watson |
Approved revision: | 8a0009dd616aec3499f79a29a31f0eb3480600fb |
Merge reported by: | Otto Co-Pilot |
Merged at revision: | not available |
Proposed branch: | ~cjwatson/launchpad:doctest-remove-py2-exception-module |
Merge into: | launchpad:master |
Diff against target: |
7819 lines (+53/-851) 311 files modified
lib/lp/answers/doc/faq.txt (+0/-2) lib/lp/answers/doc/faqtarget.txt (+0/-1) lib/lp/answers/doc/questiontarget.txt (+0/-4) lib/lp/answers/doc/workflow.txt (+0/-5) lib/lp/answers/stories/distribution-package-answer-contact.txt (+0/-1) lib/lp/answers/stories/faq-add.txt (+0/-2) lib/lp/answers/stories/faq-browse-and-search.txt (+0/-2) lib/lp/answers/stories/faq-edit.txt (+0/-4) lib/lp/answers/stories/project-add-question.txt (+0/-1) lib/lp/answers/stories/question-add.txt (+0/-1) lib/lp/answers/stories/question-browse-and-search.txt (+0/-7) lib/lp/answers/stories/question-edit.txt (+0/-1) lib/lp/answers/stories/question-overview.txt (+0/-4) lib/lp/answers/stories/question-reject-and-change-status.txt (+0/-3) lib/lp/answers/stories/this-is-a-faq.txt (+0/-3) lib/lp/app/doc/batch-navigation.txt (+0/-1) lib/lp/app/doc/displaying-numbers.txt (+0/-1) lib/lp/app/doc/launchpadform.txt (+0/-1) lib/lp/app/doc/object-privacy.txt (+0/-1) lib/lp/app/doc/tales.txt (+0/-3) lib/lp/app/stories/basics/marketing.txt (+0/-1) lib/lp/app/stories/basics/max-batch-size.txt (+0/-1) lib/lp/app/stories/basics/xx-developerexceptions.txt (+0/-1) lib/lp/app/stories/basics/xx-launchpad-statistics.txt (+0/-1) lib/lp/app/stories/basics/xx-offsite-form-post.txt (+0/-11) lib/lp/app/stories/basics/xx-opstats.txt (+0/-1) lib/lp/app/stories/folder.txt (+7/-7) lib/lp/app/stories/form/xx-form-layout.txt (+0/-2) lib/lp/app/stories/launchpad-root/xx-featuredprojects.txt (+0/-3) lib/lp/app/validators/email.py (+2/-3) lib/lp/app/validators/tests/validation.txt (+0/-5) lib/lp/app/validators/url.py (+0/-1) lib/lp/app/widgets/date.py (+4/-8) lib/lp/app/widgets/doc/announcement-date-widget.txt (+0/-2) lib/lp/app/widgets/doc/image-widget.txt (+6/-6) lib/lp/app/widgets/doc/project-scope-widget.txt (+1/-4) lib/lp/app/widgets/doc/stripped-text-widget.txt (+1/-1) lib/lp/app/widgets/doc/zope3-widgets-use-form-ng.txt (+0/-3) lib/lp/archivepublisher/tests/archive-signing.txt (+0/-1) lib/lp/archiveuploader/tests/nascentupload-announcements.txt (+1/-1) lib/lp/archiveuploader/tests/nascentupload-epoch-handling.txt (+0/-2) lib/lp/archiveuploader/tests/nascentupload.txt (+1/-1) lib/lp/archiveuploader/tests/nascentuploadfile.txt (+0/-2) lib/lp/archiveuploader/tests/upload-path-parsing.txt (+0/-16) lib/lp/blueprints/doc/specgraph.txt (+0/-1) lib/lp/blueprints/stories/blueprints/xx-creation.txt (+0/-2) lib/lp/blueprints/stories/blueprints/xx-dependencies.txt (+0/-4) lib/lp/blueprints/stories/blueprints/xx-editing.txt (+0/-3) lib/lp/blueprints/stories/sprints/sprint-settopics.txt (+0/-3) lib/lp/blueprints/stories/sprints/xx-sprints.txt (+0/-3) lib/lp/blueprints/stories/standalone/subscribing.txt (+0/-1) lib/lp/blueprints/stories/standalone/xx-branch-links.txt (+0/-1) lib/lp/blueprints/stories/standalone/xx-views.txt (+0/-1) lib/lp/bugs/doc/bug-change.txt (+0/-1) lib/lp/bugs/doc/bug-reported-acknowledgement.txt (+0/-7) lib/lp/bugs/doc/bug-reporting-guidelines.txt (+0/-7) lib/lp/bugs/doc/bug-tags.txt (+0/-1) lib/lp/bugs/doc/bug.txt (+1/-6) lib/lp/bugs/doc/bugattachments.txt (+1/-6) lib/lp/bugs/doc/bugmessage-visibility.txt (+0/-1) lib/lp/bugs/doc/bugsubscription.txt (+0/-1) lib/lp/bugs/doc/bugtask-assignee-widget.txt (+2/-2) lib/lp/bugs/doc/bugtask-bugwatch-widget.txt (+0/-1) lib/lp/bugs/doc/bugtask-package-widget.txt (+2/-5) lib/lp/bugs/doc/bugtask-retrieval.txt (+1/-2) lib/lp/bugs/doc/bugtask-search.txt (+0/-1) lib/lp/bugs/doc/bugtask-status-changes.txt (+0/-1) lib/lp/bugs/doc/bugtask-status-workflow.txt (+0/-2) lib/lp/bugs/doc/bugtracker-person.txt (+0/-1) lib/lp/bugs/doc/bugwatch.txt (+0/-2) lib/lp/bugs/doc/bugwidget.txt (+0/-1) lib/lp/bugs/doc/cve-update.txt (+0/-1) lib/lp/bugs/doc/cve.txt (+0/-1) lib/lp/bugs/doc/externalbugtracker-bugzilla-api.txt (+0/-8) lib/lp/bugs/doc/externalbugtracker-bugzilla-lp-plugin.txt (+0/-4) lib/lp/bugs/doc/externalbugtracker-bugzilla-oddities.txt (+0/-1) lib/lp/bugs/doc/externalbugtracker-bugzilla.txt (+0/-7) lib/lp/bugs/doc/externalbugtracker-debbugs.txt (+0/-4) lib/lp/bugs/doc/externalbugtracker-emailaddress.txt (+0/-1) lib/lp/bugs/doc/externalbugtracker-mantis-csv.txt (+0/-1) lib/lp/bugs/doc/externalbugtracker-mantis-logging-in.txt (+0/-1) lib/lp/bugs/doc/externalbugtracker-mantis.txt (+0/-1) lib/lp/bugs/doc/externalbugtracker-roundup-python-bugs.txt (+0/-1) lib/lp/bugs/doc/externalbugtracker-roundup.txt (+0/-2) lib/lp/bugs/doc/externalbugtracker-rt.txt (+0/-4) lib/lp/bugs/doc/externalbugtracker-sourceforge.txt (+0/-4) lib/lp/bugs/doc/externalbugtracker-trac-lp-plugin.txt (+0/-5) lib/lp/bugs/doc/externalbugtracker-trac.txt (+0/-5) lib/lp/bugs/doc/externalbugtracker.txt (+0/-3) lib/lp/bugs/doc/initial-bug-contacts.txt (+0/-2) lib/lp/bugs/doc/malone-xmlrpc.txt (+0/-8) lib/lp/bugs/doc/official-bug-tags.txt (+0/-6) lib/lp/bugs/doc/vocabularies.txt (+0/-1) lib/lp/bugs/stories/bug-privacy/xx-bug-privacy.txt (+0/-2) lib/lp/bugs/stories/bug-privacy/xx-presenting-private-bugs.txt (+0/-2) lib/lp/bugs/stories/bug-release-management/xx-anonymous-bug-nomination.txt (+0/-1) lib/lp/bugs/stories/bug-release-management/xx-bug-release-management.txt (+0/-6) lib/lp/bugs/stories/bug-tags/xx-official-bug-tags.txt (+0/-4) lib/lp/bugs/stories/bugattachments/xx-bugattachments.txt (+0/-1) lib/lp/bugs/stories/bugs/bug-add-subscriber.txt (+0/-1) lib/lp/bugs/stories/bugs/xx-bug-comment-attach-file.txt (+0/-1) lib/lp/bugs/stories/bugs/xx-bug-create-question.txt (+0/-1) lib/lp/bugs/stories/bugs/xx-bug-edit.txt (+0/-1) lib/lp/bugs/stories/bugs/xx-bug-hidden-comments.txt (+0/-1) lib/lp/bugs/stories/bugs/xx-bug-nomination-table-row.txt (+0/-1) lib/lp/bugs/stories/bugs/xx-bugs-advanced-search-upstream-status.txt (+0/-1) lib/lp/bugs/stories/bugs/xx-distribution-bugs-page.txt (+0/-1) lib/lp/bugs/stories/bugs/xx-incomplete-bugs.txt (+0/-1) lib/lp/bugs/stories/bugs/xx-product-bugs-page.txt (+0/-1) lib/lp/bugs/stories/bugs/xx-unique-ids-on-bug-page.txt (+0/-1) lib/lp/bugs/stories/bugtask-management/xx-bug-privileged-statuses.txt (+0/-2) lib/lp/bugs/stories/bugtask-management/xx-bugtask-edit-forms.txt (+0/-1) lib/lp/bugs/stories/bugtask-management/xx-view-editable-bug-task.txt (+0/-2) lib/lp/bugs/stories/bugtask-searches/xx-unexpected-form-data.txt (+0/-3) lib/lp/bugs/stories/bugtracker/xx-bugtracker-handshake-tokens.txt (+0/-1) lib/lp/bugs/stories/bugtracker/xx-bugtracker-remote-bug.txt (+0/-2) lib/lp/bugs/stories/cve/cve-linking.txt (+0/-1) lib/lp/bugs/stories/feeds/xx-bug-atom.txt (+0/-1) lib/lp/bugs/stories/feeds/xx-bug-html.txt (+1/-1) lib/lp/bugs/stories/patches-view/patches-view.txt (+0/-1) lib/lp/bugs/stories/upstream-bugprivacy/xx-upstream-bug-privacy.txt (+0/-2) lib/lp/bugs/stories/xx-bugs-statistics-portlet.txt (+0/-3) lib/lp/bugs/tests/buglinktarget.txt (+1/-4) lib/lp/bugs/tests/bugs-emailinterface.txt (+0/-2) lib/lp/bugs/tests/bugzilla-api-xmlrpc-transport.txt (+0/-4) lib/lp/bugs/tests/bugzilla-xmlrpc-transport.txt (+0/-4) lib/lp/bugs/tests/externalbugtracker-xmlrpc-transport.txt (+0/-1) lib/lp/bugs/tests/trac-xmlrpc-transport.txt (+0/-3) lib/lp/buildmaster/doc/builder.txt (+0/-1) lib/lp/buildmaster/stories/xx-builder-page.txt (+0/-5) lib/lp/buildmaster/stories/xx-buildfarm-index.txt (+0/-2) lib/lp/code/doc/branch.txt (+0/-2) lib/lp/code/doc/codeimport-machine.txt (+0/-1) lib/lp/code/doc/codeimport.txt (+0/-3) lib/lp/code/stories/branches/xx-branch-edit.txt (+0/-1) lib/lp/code/stories/branches/xx-branch-reference.txt (+0/-2) lib/lp/code/stories/branches/xx-branchmergeproposals.txt (+0/-3) lib/lp/code/stories/branches/xx-bug-branch-links.txt (+0/-2) lib/lp/code/stories/branches/xx-code-review-comments.txt (+0/-1) lib/lp/code/stories/branches/xx-subscribing-branches.txt (+0/-2) lib/lp/code/stories/branches/xx-upgrading-branches.txt (+0/-1) lib/lp/code/stories/codeimport/xx-create-codeimport.txt (+0/-1) lib/lp/code/stories/codeimport/xx-edit-codeimport.txt (+0/-3) lib/lp/coop/answersbugs/stories/question-buglink.txt (+0/-1) lib/lp/coop/answersbugs/stories/question-makebug.txt (+0/-1) lib/lp/registry/browser/tests/gpg-views.txt (+0/-1) lib/lp/registry/browser/tests/product-views.txt (+0/-1) lib/lp/registry/browser/tests/team-views.txt (+0/-1) lib/lp/registry/doc/announcement.txt (+0/-3) lib/lp/registry/doc/commercialsubscription.txt (+0/-1) lib/lp/registry/doc/distribution-mirror.txt (+0/-6) lib/lp/registry/doc/distribution.txt (+0/-6) lib/lp/registry/doc/distroseries.txt (+0/-1) lib/lp/registry/doc/karmacache.txt (+0/-1) lib/lp/registry/doc/launchpadlib/project-registry.txt.disabled (+2/-2) lib/lp/registry/doc/milestone.txt (+1/-1) lib/lp/registry/doc/person-account.txt (+0/-2) lib/lp/registry/doc/person.txt (+0/-6) lib/lp/registry/doc/pillar-aliases-field.txt (+0/-5) lib/lp/registry/doc/pillar.txt (+0/-8) lib/lp/registry/doc/private-team-roles.txt (+0/-1) lib/lp/registry/doc/productrelease-file-download.txt (+0/-5) lib/lp/registry/doc/productseries.txt (+0/-4) lib/lp/registry/doc/projectgroup.txt (+0/-2) lib/lp/registry/doc/teammembership-email-notification.txt (+0/-1) lib/lp/registry/doc/teammembership.txt (+0/-5) lib/lp/registry/doc/vocabularies.txt (+0/-2) lib/lp/registry/model/projectgroup.py (+0/-1) lib/lp/registry/stories/announcements/xx-announcements.txt (+0/-7) lib/lp/registry/stories/distribution/xx-distribution-launchpad-usage.txt (+0/-3) lib/lp/registry/stories/distribution/xx-distribution-overview.txt (+0/-3) lib/lp/registry/stories/distributionmirror/xx-distribution-countrymirrors.txt (+0/-1) lib/lp/registry/stories/distributionmirror/xx-distribution-mirrors.txt (+0/-3) lib/lp/registry/stories/distributionmirror/xx-distributionmirror-prober-logs.txt (+0/-2) lib/lp/registry/stories/distributionmirror/xx-reassign-distributionmirror.txt (+0/-2) lib/lp/registry/stories/distroseries/distroseries-admin.txt (+0/-2) lib/lp/registry/stories/distroseries/xx-show-distroseries-packaging.txt (+0/-2) lib/lp/registry/stories/gpg-coc/xx-ubuntu-codeofconduct-signer.txt (+0/-1) lib/lp/registry/stories/location/personlocation-edit.txt (+0/-1) lib/lp/registry/stories/mailinglists/lifecycle.txt (+0/-3) lib/lp/registry/stories/mailinglists/subscriptions.txt (+0/-2) lib/lp/registry/stories/milestone/xx-create-milestone-on-distribution.txt (+0/-1) lib/lp/registry/stories/milestone/xx-milestone-add-and-edit.txt (+0/-5) lib/lp/registry/stories/object/xx-object-branding.txt (+0/-5) lib/lp/registry/stories/person/xx-add-sshkey.txt (+0/-3) lib/lp/registry/stories/person/xx-admin-person-review.txt (+0/-1) lib/lp/registry/stories/person/xx-adminpeoplemerge.txt (+0/-2) lib/lp/registry/stories/person/xx-approve-members.txt (+0/-1) lib/lp/registry/stories/person/xx-deactivate-account.txt (+0/-1) lib/lp/registry/stories/person/xx-person-claim-merge.txt (+1/-1) lib/lp/registry/stories/person/xx-person-home.txt (+0/-1) lib/lp/registry/stories/pillar/xx-pillar-deactivation.txt (+0/-4) lib/lp/registry/stories/pillar/xx-pillar-traversal.txt (+0/-1) lib/lp/registry/stories/product/xx-product-files.txt (+0/-2) lib/lp/registry/stories/product/xx-product-package-pages.txt (+0/-1) lib/lp/registry/stories/product/xx-projects-index.txt (+0/-1) lib/lp/registry/stories/productrelease/xx-productrelease-basics.txt (+0/-3) lib/lp/registry/stories/productrelease/xx-productrelease-delete.txt (+0/-2) lib/lp/registry/stories/productseries/xx-productseries-add-and-edit.txt (+0/-2) lib/lp/registry/stories/productseries/xx-productseries-delete.txt (+0/-1) lib/lp/registry/stories/project/xx-project-add.txt (+0/-1) lib/lp/registry/stories/project/xx-project-edit.txt (+0/-3) lib/lp/registry/stories/project/xx-project-index.txt (+0/-10) lib/lp/registry/stories/team-polls/create-polls.txt (+0/-1) lib/lp/registry/stories/team-polls/edit-options.txt (+0/-1) lib/lp/registry/stories/team/xx-team-add-my-teams.txt (+0/-2) lib/lp/registry/stories/team/xx-team-home.txt (+0/-1) lib/lp/registry/stories/teammembership/private-team.txt (+0/-2) lib/lp/registry/stories/teammembership/xx-add-member.txt (+0/-1) lib/lp/registry/stories/teammembership/xx-member-renewed-membership.txt (+0/-2) lib/lp/registry/stories/teammembership/xx-team-leave.txt (+0/-2) lib/lp/registry/stories/teammembership/xx-teammembership.txt (+0/-2) lib/lp/registry/tests/person_from_principal.txt (+0/-1) lib/lp/services/database/doc/db-policy.txt (+1/-3) lib/lp/services/database/doc/multitablecopy.txt (+0/-1) lib/lp/services/database/doc/storm.txt (+1/-3) lib/lp/services/feeds/doc/feeds.txt (+0/-4) lib/lp/services/feeds/stories/xx-navigation.txt (+0/-4) lib/lp/services/fields/doc/uri-field.txt (+0/-8) lib/lp/services/gpg/doc/gpg-signatures.txt (+0/-5) lib/lp/services/gpg/doc/gpghandler.txt (+0/-8) lib/lp/services/helpers.py (+2/-2) lib/lp/services/identity/doc/emailaddress.txt (+0/-4) lib/lp/services/librarian/doc/librarian.txt (+0/-7) lib/lp/services/mail/doc/emailauthentication.txt (+0/-2) lib/lp/services/mail/doc/mailbox.txt (+2/-2) lib/lp/services/mail/doc/notification-recipient-set.txt (+0/-2) lib/lp/services/mail/tests/incomingmail.txt (+2/-2) lib/lp/services/messages/doc/message.txt (+0/-4) lib/lp/services/oauth/doc/oauth-pages.txt (+0/-2) lib/lp/services/oauth/stories/access-token.txt (+0/-1) lib/lp/services/oauth/stories/authorize-token.txt (+0/-6) lib/lp/services/oauth/stories/managing-tokens.txt (+0/-1) lib/lp/services/temporaryblobstorage/doc/temporaryblobstorage.txt (+0/-1) lib/lp/services/webapp/doc/canonical_url.txt (+2/-5) lib/lp/services/webapp/doc/menus.txt (+0/-2) lib/lp/services/webapp/doc/navigation.txt (+0/-5) lib/lp/services/webapp/doc/renamed-view.txt (+0/-1) lib/lp/services/webapp/doc/test_adapter.txt (+0/-7) lib/lp/services/webapp/doc/test_adapter_permissions.txt (+2/-2) lib/lp/services/webapp/doc/test_adapter_timeout.txt.disabled (+0/-1) lib/lp/services/webapp/doc/timeout.txt (+2/-2) lib/lp/services/webapp/doc/webapp-publication.txt (+0/-9) lib/lp/services/webservice/doc/launchpadlib.txt (+0/-1) lib/lp/services/webservice/stories/launchpadlib.txt (+0/-1) lib/lp/soyuz/browser/tests/archive-views.txt (+0/-1) lib/lp/soyuz/browser/tests/distroseriesqueue-views.txt (+0/-1) lib/lp/soyuz/doc/archive.txt (+0/-23) lib/lp/soyuz/doc/archiveauthtoken.txt (+0/-4) lib/lp/soyuz/doc/archivepermission.txt (+0/-2) lib/lp/soyuz/doc/archivesubscriber.txt (+0/-11) lib/lp/soyuz/doc/build-files.txt (+0/-2) lib/lp/soyuz/doc/distroseriesqueue.txt (+2/-6) lib/lp/soyuz/doc/package-diff.txt (+0/-1) lib/lp/soyuz/doc/publishing-security.txt (+0/-4) lib/lp/soyuz/stories/distroseries/add-architecture.txt (+0/-2) lib/lp/soyuz/stories/ppa/xx-copy-packages.txt (+0/-3) lib/lp/soyuz/stories/ppa/xx-delete-packages.txt (+0/-5) lib/lp/soyuz/stories/ppa/xx-edit-dependencies.txt (+0/-5) lib/lp/soyuz/stories/ppa/xx-ppa-files.txt (+0/-3) lib/lp/soyuz/stories/ppa/xx-ppa-navigation.txt (+0/-4) lib/lp/soyuz/stories/ppa/xx-ppa-packages.txt (+0/-3) lib/lp/soyuz/stories/ppa/xx-ppa-workflow.txt (+0/-9) lib/lp/soyuz/stories/ppa/xx-private-ppa-subscriptions.txt (+0/-3) lib/lp/soyuz/stories/ppa/xx-private-ppas.txt (+0/-3) lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.txt (+0/-3) lib/lp/soyuz/stories/soyuz/xx-build-record.txt (+0/-6) lib/lp/soyuz/stories/soyuz/xx-builds-pages.txt (+0/-2) lib/lp/soyuz/stories/soyuz/xx-distribution-add.txt (+0/-2) lib/lp/soyuz/stories/soyuz/xx-distribution-archives.txt (+0/-1) lib/lp/soyuz/stories/soyuz/xx-distributionsourcepackagerelease-pages.txt (+0/-1) lib/lp/soyuz/stories/soyuz/xx-distroarchseries-binpackages.txt (+0/-1) lib/lp/soyuz/stories/soyuz/xx-distroarchseries.txt (+0/-1) lib/lp/soyuz/stories/soyuz/xx-package-diff.txt (+0/-1) lib/lp/soyuz/stories/soyuz/xx-person-packages.txt (+0/-1) lib/lp/soyuz/stories/soyuz/xx-private-builds.txt (+0/-1) lib/lp/soyuz/stories/soyuz/xx-sourcepackage-changelog.txt (+0/-1) lib/lp/soyuz/stories/webservice/xx-builders.txt (+1/-1) lib/lp/testing/doc/pagetest-helpers.txt (+0/-1) lib/lp/translations/browser/tests/pofile-views.txt (+0/-3) lib/lp/translations/doc/browser-helpers.txt (+0/-2) lib/lp/translations/doc/potranslation.txt (+0/-1) lib/lp/translations/doc/translationmessage-destroy.txt (+0/-1) lib/lp/translations/stories/distribution/xx-distribution-change-language-pack-admins.txt (+0/-2) lib/lp/translations/stories/distribution/xx-distribution-translations.txt (+0/-2) lib/lp/translations/stories/distroseries/xx-distroseries-translations.txt (+0/-9) lib/lp/translations/stories/importqueue/xx-translation-import-queue-filtering.txt (+0/-2) lib/lp/translations/stories/productseries/xx-productseries-export-to-branch.txt (+0/-1) lib/lp/translations/stories/productseries/xx-productseries-translation-export.txt (+0/-2) lib/lp/translations/stories/project/xx-project-translations.txt (+0/-2) lib/lp/translations/stories/standalone/custom-language-codes.txt (+0/-4) lib/lp/translations/stories/standalone/xx-language.txt (+0/-6) lib/lp/translations/stories/standalone/xx-licensing.txt (+0/-2) lib/lp/translations/stories/standalone/xx-person-editlanguages.txt (+0/-1) lib/lp/translations/stories/standalone/xx-pofile-export.txt (+0/-1) lib/lp/translations/stories/standalone/xx-pofile-translate-alternative-language.txt (+0/-1) lib/lp/translations/stories/standalone/xx-pofile-translate.txt (+0/-1) lib/lp/translations/stories/standalone/xx-potemplate-admin.txt (+0/-1) lib/lp/translations/stories/standalone/xx-potemplate-edit.txt (+0/-2) lib/lp/translations/stories/standalone/xx-potemplate-export.txt (+0/-1) lib/lp/translations/stories/standalone/xx-potemplate-index.txt (+0/-3) lib/lp/translations/stories/standalone/xx-product-export.txt (+0/-3) lib/lp/translations/stories/standalone/xx-product-translations.txt (+0/-3) lib/lp/translations/stories/standalone/xx-series-templates.txt (+0/-2) lib/lp/translations/stories/standalone/xx-translationmessage-translate.txt (+0/-5) lib/lp/translations/stories/translationgroups/xx-change-translation-policy.txt (+0/-2) lib/lp/translations/stories/translationgroups/xx-translationgroups.txt (+0/-12) lib/lp/translations/stories/translations/xx-translations.txt (+0/-3) lib/lp/translations/utilities/doc/gettext_mo_exporter.txt (+0/-1) lib/lp/translations/utilities/doc/gettext_po_parser.txt (+0/-7) lib/lp/translations/utilities/gettext_po_parser.py (+0/-5) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Cristian Gonzalez (community) | Approve | ||
Review via email: mp+407194@code.launchpad.net |
Commit message
Remove all uses of IGNORE_
Description of the change
This is no longer needed now that we require Python 3.
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | diff --git a/lib/lp/answers/doc/faq.txt b/lib/lp/answers/doc/faq.txt | |||
2 | index 594242d..c4af905 100644 | |||
3 | --- a/lib/lp/answers/doc/faq.txt | |||
4 | +++ b/lib/lp/answers/doc/faq.txt | |||
5 | @@ -320,7 +320,6 @@ That change is also considered an answer: | |||
6 | 320 | It is not possible to modify the faq attribute directly: | 320 | It is not possible to modify the faq attribute directly: |
7 | 321 | 321 | ||
8 | 322 | >>> fnord_question.faq = None | 322 | >>> fnord_question.faq = None |
9 | 323 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
10 | 324 | Traceback (most recent call last): | 323 | Traceback (most recent call last): |
11 | 325 | ... | 324 | ... |
12 | 326 | zope.security.interfaces.ForbiddenAttribute: ... | 325 | zope.security.interfaces.ForbiddenAttribute: ... |
13 | @@ -329,7 +328,6 @@ And it is not allowed to call linkFAQ() when the FAQ is already linked: | |||
14 | 329 | 328 | ||
15 | 330 | >>> message = fnord_question.linkFAQ( | 329 | >>> message = fnord_question.linkFAQ( |
16 | 331 | ... no_priv, firefox_faq, 'See the FAQ.') | 330 | ... no_priv, firefox_faq, 'See the FAQ.') |
17 | 332 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
18 | 333 | Traceback (most recent call last): | 331 | Traceback (most recent call last): |
19 | 334 | ... | 332 | ... |
20 | 335 | lp.answers.errors.FAQTargetError: Cannot call linkFAQ() with already linked FAQ. | 333 | lp.answers.errors.FAQTargetError: Cannot call linkFAQ() with already linked FAQ. |
21 | diff --git a/lib/lp/answers/doc/faqtarget.txt b/lib/lp/answers/doc/faqtarget.txt | |||
22 | index 0518e70..d3302d1 100644 | |||
23 | --- a/lib/lp/answers/doc/faqtarget.txt | |||
24 | +++ b/lib/lp/answers/doc/faqtarget.txt | |||
25 | @@ -38,7 +38,6 @@ the target. | |||
26 | 38 | 38 | ||
27 | 39 | >>> no_priv = getUtility(ILaunchBag).user | 39 | >>> no_priv = getUtility(ILaunchBag).user |
28 | 40 | >>> target.newFAQ(no_priv, 'Title', 'Summary', content='Content') | 40 | >>> target.newFAQ(no_priv, 'Title', 'Summary', content='Content') |
29 | 41 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
30 | 42 | Traceback (most recent call last): | 41 | Traceback (most recent call last): |
31 | 43 | ... | 42 | ... |
32 | 44 | zope.security.interfaces.Unauthorized: ... | 43 | zope.security.interfaces.Unauthorized: ... |
33 | diff --git a/lib/lp/answers/doc/questiontarget.txt b/lib/lp/answers/doc/questiontarget.txt | |||
34 | index 99731b0..252d463 100644 | |||
35 | --- a/lib/lp/answers/doc/questiontarget.txt | |||
36 | +++ b/lib/lp/answers/doc/questiontarget.txt | |||
37 | @@ -89,7 +89,6 @@ Anonymous users cannot use newQuestion(). | |||
38 | 89 | >>> login(ANONYMOUS) | 89 | >>> login(ANONYMOUS) |
39 | 90 | >>> question = target.newQuestion( | 90 | >>> question = target.newQuestion( |
40 | 91 | ... sample_person, 'This will fail', 'Failed?') | 91 | ... sample_person, 'This will fail', 'Failed?') |
41 | 92 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
42 | 93 | Traceback (most recent call last): | 92 | Traceback (most recent call last): |
43 | 94 | ... | 93 | ... |
44 | 95 | zope.security.interfaces.Unauthorized: ... | 94 | zope.security.interfaces.Unauthorized: ... |
45 | @@ -388,7 +387,6 @@ is only available to registered users. | |||
46 | 388 | 387 | ||
47 | 389 | >>> name18 = getUtility(IPersonSet).getByName('name18') | 388 | >>> name18 = getUtility(IPersonSet).getByName('name18') |
48 | 390 | >>> target.addAnswerContact(name18, name18) | 389 | >>> target.addAnswerContact(name18, name18) |
49 | 391 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
50 | 392 | Traceback (most recent call last): | 390 | Traceback (most recent call last): |
51 | 393 | ... | 391 | ... |
52 | 394 | zope.security.interfaces.Unauthorized: ... | 392 | zope.security.interfaces.Unauthorized: ... |
53 | @@ -419,7 +417,6 @@ languages. | |||
54 | 419 | >>> len(sample_person.languages) | 417 | >>> len(sample_person.languages) |
55 | 420 | 0 | 418 | 0 |
56 | 421 | >>> target.addAnswerContact(sample_person, sample_person) | 419 | >>> target.addAnswerContact(sample_person, sample_person) |
57 | 422 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
58 | 423 | Traceback (most recent call last): | 420 | Traceback (most recent call last): |
59 | 424 | ... | 421 | ... |
60 | 425 | lp.answers.errors.AddAnswerContactError: An answer contact must speak a language... | 422 | lp.answers.errors.AddAnswerContactError: An answer contact must speak a language... |
61 | @@ -441,7 +438,6 @@ Only registered users can remove an answer contact. | |||
62 | 441 | 438 | ||
63 | 442 | >>> login(ANONYMOUS) | 439 | >>> login(ANONYMOUS) |
64 | 443 | >>> target.removeAnswerContact(name18, name18) | 440 | >>> target.removeAnswerContact(name18, name18) |
65 | 444 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
66 | 445 | Traceback (most recent call last): | 441 | Traceback (most recent call last): |
67 | 446 | ... | 442 | ... |
68 | 447 | zope.security.interfaces.Unauthorized: ... | 443 | zope.security.interfaces.Unauthorized: ... |
69 | diff --git a/lib/lp/answers/doc/workflow.txt b/lib/lp/answers/doc/workflow.txt | |||
70 | index c9d3c74..6f25e23 100644 | |||
71 | --- a/lib/lp/answers/doc/workflow.txt | |||
72 | +++ b/lib/lp/answers/doc/workflow.txt | |||
73 | @@ -426,7 +426,6 @@ As a Launchpad administrator, so can Stub. | |||
74 | 426 | >>> login(marilize.preferredemail.email) | 426 | >>> login(marilize.preferredemail.email) |
75 | 427 | >>> spam_question.reject( | 427 | >>> spam_question.reject( |
76 | 428 | ... marilize, "We don't send free CDs any more.") | 428 | ... marilize, "We don't send free CDs any more.") |
77 | 429 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
78 | 430 | Traceback (most recent call last): | 429 | Traceback (most recent call last): |
79 | 431 | ... | 430 | ... |
80 | 432 | zope.security.interfaces.Unauthorized: ... | 431 | zope.security.interfaces.Unauthorized: ... |
81 | @@ -485,7 +484,6 @@ It is not possible to change the status attribute directly. | |||
82 | 485 | >>> login('foo.bar@canonical.com') | 484 | >>> login('foo.bar@canonical.com') |
83 | 486 | >>> question = ubuntu.newQuestion(**new_question_args) | 485 | >>> question = ubuntu.newQuestion(**new_question_args) |
84 | 487 | >>> question.status = QuestionStatus.INVALID | 486 | >>> question.status = QuestionStatus.INVALID |
85 | 488 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
86 | 489 | Traceback (most recent call last): | 487 | Traceback (most recent call last): |
87 | 490 | ... | 488 | ... |
88 | 491 | zope.security.interfaces.ForbiddenAttribute: ... | 489 | zope.security.interfaces.ForbiddenAttribute: ... |
89 | @@ -544,7 +542,6 @@ permission, an Unauthorized exception is thrown. | |||
90 | 544 | 542 | ||
91 | 545 | >>> login('test@canonical.com') | 543 | >>> login('test@canonical.com') |
92 | 546 | >>> question.setStatus(sample_person, QuestionStatus.EXPIRED, 'Expire.') | 544 | >>> question.setStatus(sample_person, QuestionStatus.EXPIRED, 'Expire.') |
93 | 547 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
94 | 548 | Traceback (most recent call last): | 545 | Traceback (most recent call last): |
95 | 549 | ... | 546 | ... |
96 | 550 | zope.security.interfaces.Unauthorized: ... | 547 | zope.security.interfaces.Unauthorized: ... |
97 | @@ -593,7 +590,6 @@ Users without launchpad.Moderator privileges cannot set the assignee. | |||
98 | 593 | 590 | ||
99 | 594 | >>> login('no-priv@canonical.com') | 591 | >>> login('no-priv@canonical.com') |
100 | 595 | >>> question.assignee = sample_person | 592 | >>> question.assignee = sample_person |
101 | 596 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
102 | 597 | Traceback (most recent call last): | 593 | Traceback (most recent call last): |
103 | 598 | ... | 594 | ... |
104 | 599 | zope.security.interfaces.Unauthorized: (<lp.answers.model.question.Question ...>, 'assignee', 'launchpad.Append') | 595 | zope.security.interfaces.Unauthorized: (<lp.answers.model.question.Question ...>, 'assignee', 'launchpad.Append') |
105 | @@ -767,7 +763,6 @@ method. | |||
106 | 767 | 763 | ||
107 | 768 | >>> login(stub.preferredemail.email) | 764 | >>> login(stub.preferredemail.email) |
108 | 769 | >>> question.setStatus(stub, QuestionStatus.OPEN, reject_message) | 765 | >>> question.setStatus(stub, QuestionStatus.OPEN, reject_message) |
109 | 770 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
110 | 771 | Traceback (most recent call last): | 766 | Traceback (most recent call last): |
111 | 772 | ... | 767 | ... |
112 | 773 | lp.answers.errors.NotMessageOwnerError: ... | 768 | lp.answers.errors.NotMessageOwnerError: ... |
113 | diff --git a/lib/lp/answers/stories/distribution-package-answer-contact.txt b/lib/lp/answers/stories/distribution-package-answer-contact.txt | |||
114 | index 2aa64a0..2d2ebd8 100644 | |||
115 | --- a/lib/lp/answers/stories/distribution-package-answer-contact.txt | |||
116 | +++ b/lib/lp/answers/stories/distribution-package-answer-contact.txt | |||
117 | @@ -38,7 +38,6 @@ To register themselves as answer contact, the user clicks on the | |||
118 | 38 | 'Set answer contact' link. They need to login to access that function. | 38 | 'Set answer contact' link. They need to login to access that function. |
119 | 39 | 39 | ||
120 | 40 | >>> anon_browser.getLink('Set answer contact').click() | 40 | >>> anon_browser.getLink('Set answer contact').click() |
121 | 41 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
122 | 42 | Traceback (most recent call last): | 41 | Traceback (most recent call last): |
123 | 43 | ... | 42 | ... |
124 | 44 | zope.security.interfaces.Unauthorized: ... | 43 | zope.security.interfaces.Unauthorized: ... |
125 | diff --git a/lib/lp/answers/stories/faq-add.txt b/lib/lp/answers/stories/faq-add.txt | |||
126 | index ac6023e..ae54966 100644 | |||
127 | --- a/lib/lp/answers/stories/faq-add.txt | |||
128 | +++ b/lib/lp/answers/stories/faq-add.txt | |||
129 | @@ -11,14 +11,12 @@ the project owner, therefore they cannot create a new FAQ. | |||
130 | 11 | >>> user_browser.getLink('All FAQs').click() | 11 | >>> user_browser.getLink('All FAQs').click() |
131 | 12 | 12 | ||
132 | 13 | >>> user_browser.getLink('Create a new FAQ') | 13 | >>> user_browser.getLink('Create a new FAQ') |
133 | 14 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
134 | 15 | Traceback (most recent call last): | 14 | Traceback (most recent call last): |
135 | 16 | ... | 15 | ... |
136 | 17 | zope.testbrowser.browser.LinkNotFoundError | 16 | zope.testbrowser.browser.LinkNotFoundError |
137 | 18 | 17 | ||
138 | 19 | >>> user_browser.open( | 18 | >>> user_browser.open( |
139 | 20 | ... 'http://answers.launchpad.test/firefox/+createfaq') | 19 | ... 'http://answers.launchpad.test/firefox/+createfaq') |
140 | 21 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
141 | 22 | Traceback (most recent call last): | 20 | Traceback (most recent call last): |
142 | 23 | ... | 21 | ... |
143 | 24 | zope.security.interfaces.Unauthorized: ... | 22 | zope.security.interfaces.Unauthorized: ... |
144 | diff --git a/lib/lp/answers/stories/faq-browse-and-search.txt b/lib/lp/answers/stories/faq-browse-and-search.txt | |||
145 | index fab6403..b911c59 100644 | |||
146 | --- a/lib/lp/answers/stories/faq-browse-and-search.txt | |||
147 | +++ b/lib/lp/answers/stories/faq-browse-and-search.txt | |||
148 | @@ -185,13 +185,11 @@ Accessing an FAQ directly | |||
149 | 185 | Asking for a non-existent FAQ or an invalid ID will raise a 404 error. | 185 | Asking for a non-existent FAQ or an invalid ID will raise a 404 error. |
150 | 186 | 186 | ||
151 | 187 | >>> anon_browser.open('http://answers.launchpad.test/ubuntu/+faq/171717') | 187 | >>> anon_browser.open('http://answers.launchpad.test/ubuntu/+faq/171717') |
152 | 188 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
153 | 189 | Traceback (most recent call last): | 188 | Traceback (most recent call last): |
154 | 190 | ... | 189 | ... |
155 | 191 | zope.publisher.interfaces.NotFound: ... | 190 | zope.publisher.interfaces.NotFound: ... |
156 | 192 | 191 | ||
157 | 193 | >>> anon_browser.open('http://answers.launchpad.test/ubuntu/+faq/bad') | 192 | >>> anon_browser.open('http://answers.launchpad.test/ubuntu/+faq/bad') |
158 | 194 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
159 | 195 | Traceback (most recent call last): | 193 | Traceback (most recent call last): |
160 | 196 | ... | 194 | ... |
161 | 197 | zope.publisher.interfaces.NotFound: ... | 195 | zope.publisher.interfaces.NotFound: ... |
162 | diff --git a/lib/lp/answers/stories/faq-edit.txt b/lib/lp/answers/stories/faq-edit.txt | |||
163 | index 9a635d4..be6a95e 100644 | |||
164 | --- a/lib/lp/answers/stories/faq-edit.txt | |||
165 | +++ b/lib/lp/answers/stories/faq-edit.txt | |||
166 | @@ -14,14 +14,12 @@ appear for the anonymous user nor No Privileges Person: | |||
167 | 14 | FAQ #7 : Questions : Mozilla Firefox | 14 | FAQ #7 : Questions : Mozilla Firefox |
168 | 15 | 15 | ||
169 | 16 | >>> anon_browser.getLink('Edit FAQ') | 16 | >>> anon_browser.getLink('Edit FAQ') |
170 | 17 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
171 | 18 | Traceback (most recent call last): | 17 | Traceback (most recent call last): |
172 | 19 | ... | 18 | ... |
173 | 20 | zope.testbrowser.browser.LinkNotFoundError | 19 | zope.testbrowser.browser.LinkNotFoundError |
174 | 21 | 20 | ||
175 | 22 | >>> user_browser.open('http://answers.launchpad.test/firefox/+faq/7') | 21 | >>> user_browser.open('http://answers.launchpad.test/firefox/+faq/7') |
176 | 23 | >>> user_browser.getLink('Edit FAQ') | 22 | >>> user_browser.getLink('Edit FAQ') |
177 | 24 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
178 | 25 | Traceback (most recent call last): | 23 | Traceback (most recent call last): |
179 | 26 | ... | 24 | ... |
180 | 27 | zope.testbrowser.browser.LinkNotFoundError | 25 | zope.testbrowser.browser.LinkNotFoundError |
181 | @@ -30,13 +28,11 @@ Even trying to access the link directly will fail: | |||
182 | 30 | 28 | ||
183 | 31 | >>> anon_browser.open( | 29 | >>> anon_browser.open( |
184 | 32 | ... 'http://answers.launchpad.test/firefox/+faq/7/+edit') | 30 | ... 'http://answers.launchpad.test/firefox/+faq/7/+edit') |
185 | 33 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
186 | 34 | Traceback (most recent call last): | 31 | Traceback (most recent call last): |
187 | 35 | ... | 32 | ... |
188 | 36 | zope.security.interfaces.Unauthorized: ... | 33 | zope.security.interfaces.Unauthorized: ... |
189 | 37 | >>> user_browser.open( | 34 | >>> user_browser.open( |
190 | 38 | ... 'http://answers.launchpad.test/firefox/+faq/7/+edit') | 35 | ... 'http://answers.launchpad.test/firefox/+faq/7/+edit') |
191 | 39 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
192 | 40 | Traceback (most recent call last): | 36 | Traceback (most recent call last): |
193 | 41 | ... | 37 | ... |
194 | 42 | zope.security.interfaces.Unauthorized: ... | 38 | zope.security.interfaces.Unauthorized: ... |
195 | diff --git a/lib/lp/answers/stories/project-add-question.txt b/lib/lp/answers/stories/project-add-question.txt | |||
196 | index eb3703c..737952c 100644 | |||
197 | --- a/lib/lp/answers/stories/project-add-question.txt | |||
198 | +++ b/lib/lp/answers/stories/project-add-question.txt | |||
199 | @@ -26,7 +26,6 @@ Project in this case. | |||
200 | 26 | 26 | ||
201 | 27 | >>> anon_browser.open('http://answers.launchpad.test/mozilla') | 27 | >>> anon_browser.open('http://answers.launchpad.test/mozilla') |
202 | 28 | >>> anon_browser.getLink('Ask a question').click() | 28 | >>> anon_browser.getLink('Ask a question').click() |
203 | 29 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
204 | 30 | Traceback (most recent call last): | 29 | Traceback (most recent call last): |
205 | 31 | ... | 30 | ... |
206 | 32 | zope.security.interfaces.Unauthorized: ... | 31 | zope.security.interfaces.Unauthorized: ... |
207 | diff --git a/lib/lp/answers/stories/question-add.txt b/lib/lp/answers/stories/question-add.txt | |||
208 | index e7debb4..b24893c 100644 | |||
209 | --- a/lib/lp/answers/stories/question-add.txt | |||
210 | +++ b/lib/lp/answers/stories/question-add.txt | |||
211 | @@ -18,7 +18,6 @@ The user sees an involvement link to ask a question. | |||
212 | 18 | Asking a new question requires logging in: | 18 | Asking a new question requires logging in: |
213 | 19 | 19 | ||
214 | 20 | >>> browser.getLink('Ask a question').click() | 20 | >>> browser.getLink('Ask a question').click() |
215 | 21 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
216 | 22 | Traceback (most recent call last): | 21 | Traceback (most recent call last): |
217 | 23 | ... | 22 | ... |
218 | 24 | zope.security.interfaces.Unauthorized: ... | 23 | zope.security.interfaces.Unauthorized: ... |
219 | diff --git a/lib/lp/answers/stories/question-browse-and-search.txt b/lib/lp/answers/stories/question-browse-and-search.txt | |||
220 | index cbbfaec..0af0cb3 100644 | |||
221 | --- a/lib/lp/answers/stories/question-browse-and-search.txt | |||
222 | +++ b/lib/lp/answers/stories/question-browse-and-search.txt | |||
223 | @@ -44,7 +44,6 @@ For projects that don't have products, the Answers facet is disabled. | |||
224 | 44 | 44 | ||
225 | 45 | >>> browser.open('http://launchpad.test/aaa') | 45 | >>> browser.open('http://launchpad.test/aaa') |
226 | 46 | >>> browser.getLink('Answers') | 46 | >>> browser.getLink('Answers') |
227 | 47 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
228 | 48 | Traceback (most recent call last): | 47 | Traceback (most recent call last): |
229 | 49 | ... | 48 | ... |
230 | 50 | zope.testbrowser.browser.LinkNotFoundError | 49 | zope.testbrowser.browser.LinkNotFoundError |
231 | @@ -88,14 +87,12 @@ out. | |||
232 | 88 | >>> 'Next' in browser.contents | 87 | >>> 'Next' in browser.contents |
233 | 89 | True | 88 | True |
234 | 90 | >>> browser.getLink('Next') | 89 | >>> browser.getLink('Next') |
235 | 91 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
236 | 92 | Traceback (most recent call last): | 90 | Traceback (most recent call last): |
237 | 93 | .. | 91 | .. |
238 | 94 | zope.testbrowser.browser.LinkNotFoundError | 92 | zope.testbrowser.browser.LinkNotFoundError |
239 | 95 | >>> 'Last' in browser.contents | 93 | >>> 'Last' in browser.contents |
240 | 96 | True | 94 | True |
241 | 97 | >>> browser.getLink('Last') | 95 | >>> browser.getLink('Last') |
242 | 98 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
243 | 99 | Traceback (most recent call last): | 96 | Traceback (most recent call last): |
244 | 100 | .. | 97 | .. |
245 | 101 | zope.testbrowser.browser.LinkNotFoundError | 98 | zope.testbrowser.browser.LinkNotFoundError |
246 | @@ -111,14 +108,12 @@ greyed out: | |||
247 | 111 | >>> 'Previous' in browser.contents | 108 | >>> 'Previous' in browser.contents |
248 | 112 | True | 109 | True |
249 | 113 | >>> browser.getLink('Previous') | 110 | >>> browser.getLink('Previous') |
250 | 114 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
251 | 115 | Traceback (most recent call last): | 111 | Traceback (most recent call last): |
252 | 116 | .. | 112 | .. |
253 | 117 | zope.testbrowser.browser.LinkNotFoundError | 113 | zope.testbrowser.browser.LinkNotFoundError |
254 | 118 | >>> 'First' in browser.contents | 114 | >>> 'First' in browser.contents |
255 | 119 | True | 115 | True |
256 | 120 | >>> browser.getLink('First') | 116 | >>> browser.getLink('First') |
257 | 121 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
258 | 122 | Traceback (most recent call last): | 117 | Traceback (most recent call last): |
259 | 123 | .. | 118 | .. |
260 | 124 | zope.testbrowser.browser.LinkNotFoundError | 119 | zope.testbrowser.browser.LinkNotFoundError |
261 | @@ -386,7 +381,6 @@ They need to login to access that page: | |||
262 | 386 | ... 'http://launchpad.test/ubuntu/+source/mozilla-firefox/' | 381 | ... 'http://launchpad.test/ubuntu/+source/mozilla-firefox/' |
263 | 387 | ... '+questions') | 382 | ... '+questions') |
264 | 388 | >>> anon_browser.getLink('My questions').click() | 383 | >>> anon_browser.getLink('My questions').click() |
265 | 389 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
266 | 390 | Traceback (most recent call last): | 384 | Traceback (most recent call last): |
267 | 391 | ... | 385 | ... |
268 | 392 | zope.security.interfaces.Unauthorized: ... | 386 | zope.security.interfaces.Unauthorized: ... |
269 | @@ -460,7 +454,6 @@ They need to login to access that page: | |||
270 | 460 | 454 | ||
271 | 461 | >>> anon_browser.open('http://launchpad.test/distros/ubuntu/+questions') | 455 | >>> anon_browser.open('http://launchpad.test/distros/ubuntu/+questions') |
272 | 462 | >>> anon_browser.getLink('Need attention').click() | 456 | >>> anon_browser.getLink('Need attention').click() |
273 | 463 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
274 | 464 | Traceback (most recent call last): | 457 | Traceback (most recent call last): |
275 | 465 | ... | 458 | ... |
276 | 466 | zope.security.interfaces.Unauthorized: ... | 459 | zope.security.interfaces.Unauthorized: ... |
277 | diff --git a/lib/lp/answers/stories/question-edit.txt b/lib/lp/answers/stories/question-edit.txt | |||
278 | index ef36a05..8aeed0d 100644 | |||
279 | --- a/lib/lp/answers/stories/question-edit.txt | |||
280 | +++ b/lib/lp/answers/stories/question-edit.txt | |||
281 | @@ -8,7 +8,6 @@ title and description. | |||
282 | 8 | 8 | ||
283 | 9 | >>> anon_browser.open('http://launchpad.test/firefox/+question/2') | 9 | >>> anon_browser.open('http://launchpad.test/firefox/+question/2') |
284 | 10 | >>> anon_browser.getLink('Edit question').click() | 10 | >>> anon_browser.getLink('Edit question').click() |
285 | 11 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
286 | 12 | Traceback (most recent call last): | 11 | Traceback (most recent call last): |
287 | 13 | ... | 12 | ... |
288 | 14 | zope.security.interfaces.Unauthorized: ... | 13 | zope.security.interfaces.Unauthorized: ... |
289 | diff --git a/lib/lp/answers/stories/question-overview.txt b/lib/lp/answers/stories/question-overview.txt | |||
290 | index 374dc16..54afeb6 100644 | |||
291 | --- a/lib/lp/answers/stories/question-overview.txt | |||
292 | +++ b/lib/lp/answers/stories/question-overview.txt | |||
293 | @@ -235,13 +235,11 @@ Asking for a non-existent question or an invalid ID will still raise a | |||
294 | 235 | 404 though: | 235 | 404 though: |
295 | 236 | 236 | ||
296 | 237 | >>> browser.open('http://answers.launchpad.test/questions/255') | 237 | >>> browser.open('http://answers.launchpad.test/questions/255') |
297 | 238 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
298 | 239 | Traceback (most recent call last): | 238 | Traceback (most recent call last): |
299 | 240 | ... | 239 | ... |
300 | 241 | zope.publisher.interfaces.NotFound: ... | 240 | zope.publisher.interfaces.NotFound: ... |
301 | 242 | 241 | ||
302 | 243 | >>> browser.open('http://answers.launchpad.test/questions/bad_id') | 242 | >>> browser.open('http://answers.launchpad.test/questions/bad_id') |
303 | 244 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
304 | 245 | Traceback (most recent call last): | 243 | Traceback (most recent call last): |
305 | 246 | ... | 244 | ... |
306 | 247 | zope.publisher.interfaces.NotFound: ... | 245 | zope.publisher.interfaces.NotFound: ... |
307 | @@ -268,14 +266,12 @@ It also works with pages below that URL: | |||
308 | 268 | But again, an invalid ID still raises a 404: | 266 | But again, an invalid ID still raises a 404: |
309 | 269 | 267 | ||
310 | 270 | >>> browser.open('http://answers.launchpad.test/ubuntu/+question/255') | 268 | >>> browser.open('http://answers.launchpad.test/ubuntu/+question/255') |
311 | 271 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
312 | 272 | Traceback (most recent call last): | 269 | Traceback (most recent call last): |
313 | 273 | ... | 270 | ... |
314 | 274 | zope.publisher.interfaces.NotFound: ... | 271 | zope.publisher.interfaces.NotFound: ... |
315 | 275 | 272 | ||
316 | 276 | >>> browser.open( | 273 | >>> browser.open( |
317 | 277 | ... 'http://answers.launchpad.test/ubuntu/+question/bad_id') | 274 | ... 'http://answers.launchpad.test/ubuntu/+question/bad_id') |
318 | 278 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
319 | 279 | Traceback (most recent call last): | 275 | Traceback (most recent call last): |
320 | 280 | ... | 276 | ... |
321 | 281 | zope.publisher.interfaces.NotFound: ... | 277 | zope.publisher.interfaces.NotFound: ... |
322 | diff --git a/lib/lp/answers/stories/question-reject-and-change-status.txt b/lib/lp/answers/stories/question-reject-and-change-status.txt | |||
323 | index c7466fd..bdbffe2 100644 | |||
324 | --- a/lib/lp/answers/stories/question-reject-and-change-status.txt | |||
325 | +++ b/lib/lp/answers/stories/question-reject-and-change-status.txt | |||
326 | @@ -10,7 +10,6 @@ don't have access to that feature. | |||
327 | 10 | 10 | ||
328 | 11 | >>> user_browser.open('http://launchpad.test/firefox/+question/2') | 11 | >>> user_browser.open('http://launchpad.test/firefox/+question/2') |
329 | 12 | >>> user_browser.getLink('Reject question') | 12 | >>> user_browser.getLink('Reject question') |
330 | 13 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
331 | 14 | Traceback (most recent call last): | 13 | Traceback (most recent call last): |
332 | 15 | ... | 14 | ... |
333 | 16 | zope.testbrowser.browser.LinkNotFoundError | 15 | zope.testbrowser.browser.LinkNotFoundError |
334 | @@ -20,7 +19,6 @@ error. | |||
335 | 20 | 19 | ||
336 | 21 | >>> user_browser.open( | 20 | >>> user_browser.open( |
337 | 22 | ... 'http://launchpad.test/firefox/+question/2/+reject') | 21 | ... 'http://launchpad.test/firefox/+question/2/+reject') |
338 | 23 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
339 | 24 | Traceback (most recent call last): | 22 | Traceback (most recent call last): |
340 | 25 | ... | 23 | ... |
341 | 26 | zope.security.interfaces.Unauthorized: ... | 24 | zope.security.interfaces.Unauthorized: ... |
342 | @@ -104,7 +102,6 @@ That action isn't available to a non-privileged user: | |||
343 | 104 | 102 | ||
344 | 105 | >>> browser.open('http://launchpad.test/firefox/+question/2') | 103 | >>> browser.open('http://launchpad.test/firefox/+question/2') |
345 | 106 | >>> browser.getLink('Change status') | 104 | >>> browser.getLink('Change status') |
346 | 107 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
347 | 108 | Traceback (most recent call last): | 105 | Traceback (most recent call last): |
348 | 109 | ... | 106 | ... |
349 | 110 | zope.testbrowser.browser.LinkNotFoundError | 107 | zope.testbrowser.browser.LinkNotFoundError |
350 | diff --git a/lib/lp/answers/stories/this-is-a-faq.txt b/lib/lp/answers/stories/this-is-a-faq.txt | |||
351 | index 3438e03..d382d3b 100644 | |||
352 | --- a/lib/lp/answers/stories/this-is-a-faq.txt | |||
353 | +++ b/lib/lp/answers/stories/this-is-a-faq.txt | |||
354 | @@ -209,21 +209,18 @@ Since No Privileges Person isn't an answer contact for the project nor | |||
355 | 209 | the project owner, they don't have the possibility to create a new FAQ. | 209 | the project owner, they don't have the possibility to create a new FAQ. |
356 | 210 | 210 | ||
357 | 211 | >>> user_browser.getLink('Create a FAQ') | 211 | >>> user_browser.getLink('Create a FAQ') |
358 | 212 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
359 | 213 | Traceback (most recent call last): | 212 | Traceback (most recent call last): |
360 | 214 | ... | 213 | ... |
361 | 215 | zope.testbrowser.browser.LinkNotFoundError | 214 | zope.testbrowser.browser.LinkNotFoundError |
362 | 216 | 215 | ||
363 | 217 | >>> user_browser.getLink('Link to a FAQ').click() | 216 | >>> user_browser.getLink('Link to a FAQ').click() |
364 | 218 | >>> user_browser.getLink('create a new FAQ') | 217 | >>> user_browser.getLink('create a new FAQ') |
365 | 219 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
366 | 220 | Traceback (most recent call last): | 218 | Traceback (most recent call last): |
367 | 221 | ... | 219 | ... |
368 | 222 | zope.testbrowser.browser.LinkNotFoundError | 220 | zope.testbrowser.browser.LinkNotFoundError |
369 | 223 | 221 | ||
370 | 224 | >>> user_browser.open( | 222 | >>> user_browser.open( |
371 | 225 | ... 'http://answers.launchpad.test/firefox/+question/2/+createfaq') | 223 | ... 'http://answers.launchpad.test/firefox/+question/2/+createfaq') |
372 | 226 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
373 | 227 | Traceback (most recent call last): | 224 | Traceback (most recent call last): |
374 | 228 | ... | 225 | ... |
375 | 229 | zope.security.interfaces.Unauthorized: ... | 226 | zope.security.interfaces.Unauthorized: ... |
376 | diff --git a/lib/lp/app/doc/batch-navigation.txt b/lib/lp/app/doc/batch-navigation.txt | |||
377 | index eebef5d..7087dc2 100644 | |||
378 | --- a/lib/lp/app/doc/batch-navigation.txt | |||
379 | +++ b/lib/lp/app/doc/batch-navigation.txt | |||
380 | @@ -81,7 +81,6 @@ InvalidBatchSizeError is raised. | |||
381 | 81 | ... """)) | 81 | ... """)) |
382 | 82 | >>> request = build_request({"start": "0", "batch": "20"}) | 82 | >>> request = build_request({"start": "0", "batch": "20"}) |
383 | 83 | >>> BatchNavigator(reindeer, request=request ) | 83 | >>> BatchNavigator(reindeer, request=request ) |
384 | 84 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
385 | 85 | Traceback (most recent call last): | 84 | Traceback (most recent call last): |
386 | 86 | ... | 85 | ... |
387 | 87 | lazr.batchnavigator.interfaces.InvalidBatchSizeError: Maximum for "batch" parameter is 5. | 86 | lazr.batchnavigator.interfaces.InvalidBatchSizeError: Maximum for "batch" parameter is 5. |
388 | diff --git a/lib/lp/app/doc/displaying-numbers.txt b/lib/lp/app/doc/displaying-numbers.txt | |||
389 | index fcdd4e0..6da695d 100644 | |||
390 | --- a/lib/lp/app/doc/displaying-numbers.txt | |||
391 | +++ b/lib/lp/app/doc/displaying-numbers.txt | |||
392 | @@ -59,7 +59,6 @@ Is the same as: | |||
393 | 59 | Here's a set of exhaustive examples: | 59 | Here's a set of exhaustive examples: |
394 | 60 | 60 | ||
395 | 61 | >>> test_tales('foo/fmt:float', foo=12345.67890) | 61 | >>> test_tales('foo/fmt:float', foo=12345.67890) |
396 | 62 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
397 | 63 | Traceback (most recent call last): | 62 | Traceback (most recent call last): |
398 | 64 | ... | 63 | ... |
399 | 65 | zope.location.interfaces.LocationError: 'fmt:float requires a single decimal argument' | 64 | zope.location.interfaces.LocationError: 'fmt:float requires a single decimal argument' |
400 | diff --git a/lib/lp/app/doc/launchpadform.txt b/lib/lp/app/doc/launchpadform.txt | |||
401 | index a42833f..58239fb 100644 | |||
402 | --- a/lib/lp/app/doc/launchpadform.txt | |||
403 | +++ b/lib/lp/app/doc/launchpadform.txt | |||
404 | @@ -568,7 +568,6 @@ request: | |||
405 | 568 | ... 'field.actions.change': 'Change'}) | 568 | ... 'field.actions.change': 'Change'}) |
406 | 569 | >>> view = UnsafeActionTestView(context, request) | 569 | >>> view = UnsafeActionTestView(context, request) |
407 | 570 | >>> view.initialize() | 570 | >>> view.initialize() |
408 | 571 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
409 | 572 | Traceback (most recent call last): | 571 | Traceback (most recent call last): |
410 | 573 | ... | 572 | ... |
411 | 574 | lp.services.webapp.interfaces.UnsafeFormGetSubmissionError: field.actions.change | 573 | lp.services.webapp.interfaces.UnsafeFormGetSubmissionError: field.actions.change |
412 | diff --git a/lib/lp/app/doc/object-privacy.txt b/lib/lp/app/doc/object-privacy.txt | |||
413 | index 18c14e5..7f2c46e 100644 | |||
414 | --- a/lib/lp/app/doc/object-privacy.txt | |||
415 | +++ b/lib/lp/app/doc/object-privacy.txt | |||
416 | @@ -30,7 +30,6 @@ private. | |||
417 | 30 | 30 | ||
418 | 31 | >>> question = getUtility(IQuestionSet).get(1) | 31 | >>> question = getUtility(IQuestionSet).get(1) |
419 | 32 | >>> question.private | 32 | >>> question.private |
420 | 33 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
421 | 34 | Traceback (most recent call last): | 33 | Traceback (most recent call last): |
422 | 35 | ... | 34 | ... |
423 | 36 | zope.security.interfaces.ForbiddenAttribute: ... | 35 | zope.security.interfaces.ForbiddenAttribute: ... |
424 | diff --git a/lib/lp/app/doc/tales.txt b/lib/lp/app/doc/tales.txt | |||
425 | index 0d56ac6..e5d2284 100644 | |||
426 | --- a/lib/lp/app/doc/tales.txt | |||
427 | +++ b/lib/lp/app/doc/tales.txt | |||
428 | @@ -1314,7 +1314,6 @@ Everything you can do with 'something/fmt:foo', you should be able to do | |||
429 | 1314 | with 'None/fmt:foo'. | 1314 | with 'None/fmt:foo'. |
430 | 1315 | 1315 | ||
431 | 1316 | >>> test_tales('foo/fmt:shorten', foo=None) | 1316 | >>> test_tales('foo/fmt:shorten', foo=None) |
432 | 1317 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
433 | 1318 | Traceback (most recent call last): | 1317 | Traceback (most recent call last): |
434 | 1319 | ... | 1318 | ... |
435 | 1320 | zope.location.interfaces.LocationError: 'you need to traverse a number after fmt:shorten' | 1319 | zope.location.interfaces.LocationError: 'you need to traverse a number after fmt:shorten' |
436 | @@ -1417,7 +1416,6 @@ We don't get a ValueError when we use a value that doesn't appear in the | |||
437 | 1417 | DBSchema the item comes from. | 1416 | DBSchema the item comes from. |
438 | 1418 | 1417 | ||
439 | 1419 | >>> test_tales('deb/enumvalue:CHEESEFISH', deb=udeb) | 1418 | >>> test_tales('deb/enumvalue:CHEESEFISH', deb=udeb) |
440 | 1420 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
441 | 1421 | Traceback (most recent call last): | 1419 | Traceback (most recent call last): |
442 | 1422 | ... | 1420 | ... |
443 | 1423 | zope.location.interfaces.LocationError: 'The enumerated type BinaryPackageFormat does not have a value CHEESEFISH.' | 1421 | zope.location.interfaces.LocationError: 'The enumerated type BinaryPackageFormat does not have a value CHEESEFISH.' |
444 | @@ -1439,7 +1437,6 @@ dbschema items too: | |||
445 | 1439 | False | 1437 | False |
446 | 1440 | 1438 | ||
447 | 1441 | >>> test_tales('deb/enumvalue:CHEESEFISH', deb=wrapped_deb) | 1439 | >>> test_tales('deb/enumvalue:CHEESEFISH', deb=wrapped_deb) |
448 | 1442 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
449 | 1443 | Traceback (most recent call last): | 1440 | Traceback (most recent call last): |
450 | 1444 | ... | 1441 | ... |
451 | 1445 | zope.location.interfaces.LocationError: 'The enumerated type BinaryPackageFormat does not have a value CHEESEFISH.' | 1442 | zope.location.interfaces.LocationError: 'The enumerated type BinaryPackageFormat does not have a value CHEESEFISH.' |
452 | diff --git a/lib/lp/app/stories/basics/marketing.txt b/lib/lp/app/stories/basics/marketing.txt | |||
453 | index eeb08b6..4ccc41a 100644 | |||
454 | --- a/lib/lp/app/stories/basics/marketing.txt | |||
455 | +++ b/lib/lp/app/stories/basics/marketing.txt | |||
456 | @@ -45,7 +45,6 @@ But the source directory isn't available: | |||
457 | 45 | 45 | ||
458 | 46 | >>> browser.open( | 46 | >>> browser.open( |
459 | 47 | ... 'http://launchpad.test/+tour/source/code-hosting_SVG.svg') | 47 | ... 'http://launchpad.test/+tour/source/code-hosting_SVG.svg') |
460 | 48 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
461 | 49 | Traceback (most recent call last): | 48 | Traceback (most recent call last): |
462 | 50 | ... | 49 | ... |
463 | 51 | zope.publisher.interfaces.NotFound: ... | 50 | zope.publisher.interfaces.NotFound: ... |
464 | diff --git a/lib/lp/app/stories/basics/max-batch-size.txt b/lib/lp/app/stories/basics/max-batch-size.txt | |||
465 | index ce3d44b..71c9635 100644 | |||
466 | --- a/lib/lp/app/stories/basics/max-batch-size.txt | |||
467 | +++ b/lib/lp/app/stories/basics/max-batch-size.txt | |||
468 | @@ -8,7 +8,6 @@ large and what is the current maximum. | |||
469 | 8 | 8 | ||
470 | 9 | >>> anon_browser.handleErrors = True | 9 | >>> anon_browser.handleErrors = True |
471 | 10 | >>> anon_browser.open('http://launchpad.test/projects/+all?start=0&batch=1000') | 10 | >>> anon_browser.open('http://launchpad.test/projects/+all?start=0&batch=1000') |
472 | 11 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
473 | 12 | Traceback (most recent call last): | 11 | Traceback (most recent call last): |
474 | 13 | ... | 12 | ... |
475 | 14 | urllib.error.HTTPError: HTTP Error 400: Bad Request | 13 | urllib.error.HTTPError: HTTP Error 400: Bad Request |
476 | diff --git a/lib/lp/app/stories/basics/xx-developerexceptions.txt b/lib/lp/app/stories/basics/xx-developerexceptions.txt | |||
477 | index b8373f8..42a794d 100644 | |||
478 | --- a/lib/lp/app/stories/basics/xx-developerexceptions.txt | |||
479 | +++ b/lib/lp/app/stories/basics/xx-developerexceptions.txt | |||
480 | @@ -106,7 +106,6 @@ want to see tracebacks instead of error pages. | |||
481 | 106 | >>> print(http(r""" | 106 | >>> print(http(r""" |
482 | 107 | ... GET /whatever HTTP/1.1 | 107 | ... GET /whatever HTTP/1.1 |
483 | 108 | ... """, handle_errors=False)) | 108 | ... """, handle_errors=False)) |
484 | 109 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
485 | 110 | Traceback (most recent call last): | 109 | Traceback (most recent call last): |
486 | 111 | ... | 110 | ... |
487 | 112 | zope.publisher.interfaces.NotFound: ... | 111 | zope.publisher.interfaces.NotFound: ... |
488 | diff --git a/lib/lp/app/stories/basics/xx-launchpad-statistics.txt b/lib/lp/app/stories/basics/xx-launchpad-statistics.txt | |||
489 | index f7185c7..c81ca7a 100644 | |||
490 | --- a/lib/lp/app/stories/basics/xx-launchpad-statistics.txt | |||
491 | +++ b/lib/lp/app/stories/basics/xx-launchpad-statistics.txt | |||
492 | @@ -3,7 +3,6 @@ We also have the special Launchpad Statistics summary page. This is only | |||
493 | 3 | acessible to launchpad Admins: | 3 | acessible to launchpad Admins: |
494 | 4 | 4 | ||
495 | 5 | >>> user_browser.open('http://launchpad.test/+statistics') | 5 | >>> user_browser.open('http://launchpad.test/+statistics') |
496 | 6 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
497 | 7 | Traceback (most recent call last): | 6 | Traceback (most recent call last): |
498 | 8 | ... | 7 | ... |
499 | 9 | zope.security.interfaces.Unauthorized: ... | 8 | zope.security.interfaces.Unauthorized: ... |
500 | diff --git a/lib/lp/app/stories/basics/xx-offsite-form-post.txt b/lib/lp/app/stories/basics/xx-offsite-form-post.txt | |||
501 | index f00a78e..12d4127 100644 | |||
502 | --- a/lib/lp/app/stories/basics/xx-offsite-form-post.txt | |||
503 | +++ b/lib/lp/app/stories/basics/xx-offsite-form-post.txt | |||
504 | @@ -44,7 +44,6 @@ If we try to create a new team with with the referrer set to | |||
505 | 44 | >>> browser.getControl('Name', index=0).value = 'team1' | 44 | >>> browser.getControl('Name', index=0).value = 'team1' |
506 | 45 | >>> browser.getControl('Display Name').value = 'Team 1' | 45 | >>> browser.getControl('Display Name').value = 'Team 1' |
507 | 46 | >>> browser.getControl('Create').click() | 46 | >>> browser.getControl('Create').click() |
508 | 47 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
509 | 48 | Traceback (most recent call last): | 47 | Traceback (most recent call last): |
510 | 49 | ... | 48 | ... |
511 | 50 | lp.services.webapp.interfaces.OffsiteFormPostError: http://evil.people.com/ | 49 | lp.services.webapp.interfaces.OffsiteFormPostError: http://evil.people.com/ |
512 | @@ -57,7 +56,6 @@ Similarly, posting with a garbage referer fails: | |||
513 | 57 | >>> browser.getControl('Name', index=0).value = 'team2' | 56 | >>> browser.getControl('Name', index=0).value = 'team2' |
514 | 58 | >>> browser.getControl('Display Name').value = 'Team 2' | 57 | >>> browser.getControl('Display Name').value = 'Team 2' |
515 | 59 | >>> browser.getControl('Create').click() | 58 | >>> browser.getControl('Create').click() |
516 | 60 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
517 | 61 | Traceback (most recent call last): | 59 | Traceback (most recent call last): |
518 | 62 | ... | 60 | ... |
519 | 63 | lp.services.webapp.interfaces.OffsiteFormPostError: not a url | 61 | lp.services.webapp.interfaces.OffsiteFormPostError: not a url |
520 | @@ -70,7 +68,6 @@ It also fails if there is no referrer. | |||
521 | 70 | >>> browser.getControl('Name', index=0).value = 'team3' | 68 | >>> browser.getControl('Name', index=0).value = 'team3' |
522 | 71 | >>> browser.getControl('Display Name').value = 'Team 3' | 69 | >>> browser.getControl('Display Name').value = 'Team 3' |
523 | 72 | >>> browser.getControl('Create').click() | 70 | >>> browser.getControl('Create').click() |
524 | 73 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
525 | 74 | Traceback (most recent call last): | 71 | Traceback (most recent call last): |
526 | 75 | ... | 72 | ... |
527 | 76 | lp.services.webapp.interfaces.NoReferrerError: No value for REFERER header | 73 | lp.services.webapp.interfaces.NoReferrerError: No value for REFERER header |
528 | @@ -84,7 +81,6 @@ present a hopefully helpful error message. | |||
529 | 84 | >>> browser.getControl('Name', index=0).value = 'team3' | 81 | >>> browser.getControl('Name', index=0).value = 'team3' |
530 | 85 | >>> browser.getControl('Display Name').value = 'Team 3' | 82 | >>> browser.getControl('Display Name').value = 'Team 3' |
531 | 86 | >>> browser.getControl('Create').click() | 83 | >>> browser.getControl('Create').click() |
532 | 87 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
533 | 88 | Traceback (most recent call last): | 84 | Traceback (most recent call last): |
534 | 89 | ... | 85 | ... |
535 | 90 | urllib.error.HTTPError: ... | 86 | urllib.error.HTTPError: ... |
536 | @@ -117,7 +113,6 @@ exception for +access-token, it would result in an | |||
537 | 117 | OffsiteFormPostError. | 113 | OffsiteFormPostError. |
538 | 118 | 114 | ||
539 | 119 | >>> browser.post('http://launchpad.test/+access-token', 'x=1') | 115 | >>> browser.post('http://launchpad.test/+access-token', 'x=1') |
540 | 120 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
541 | 121 | Traceback (most recent call last): | 116 | Traceback (most recent call last): |
542 | 122 | ... | 117 | ... |
543 | 123 | urllib.error.HTTPError: HTTP Error 401: Unauthorized | 118 | urllib.error.HTTPError: HTTP Error 401: Unauthorized |
544 | @@ -154,14 +149,12 @@ a referrerless POST request to the browser-accessible API. | |||
545 | 154 | 149 | ||
546 | 155 | >>> browser.post( | 150 | >>> browser.post( |
547 | 156 | ... 'http://launchpad.test/api/devel/people', 'ws.op=foo&x=1') | 151 | ... 'http://launchpad.test/api/devel/people', 'ws.op=foo&x=1') |
548 | 157 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
549 | 158 | Traceback (most recent call last): | 152 | Traceback (most recent call last): |
550 | 159 | ... | 153 | ... |
551 | 160 | lp.services.webapp.interfaces.OffsiteFormPostError: http://evil.people.com/ | 154 | lp.services.webapp.interfaces.OffsiteFormPostError: http://evil.people.com/ |
552 | 161 | 155 | ||
553 | 162 | >>> no_referrer_browser.post( | 156 | >>> no_referrer_browser.post( |
554 | 163 | ... 'http://launchpad.test/api/devel/people', 'ws.op=foo&x=1') | 157 | ... 'http://launchpad.test/api/devel/people', 'ws.op=foo&x=1') |
555 | 164 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
556 | 165 | Traceback (most recent call last): | 158 | Traceback (most recent call last): |
557 | 166 | ... | 159 | ... |
558 | 167 | lp.services.webapp.interfaces.NoReferrerError: No value for REFERER header | 160 | lp.services.webapp.interfaces.NoReferrerError: No value for REFERER header |
559 | @@ -172,7 +165,6 @@ though it were signed with OAuth. | |||
560 | 172 | >>> browser.post( | 165 | >>> browser.post( |
561 | 173 | ... 'http://launchpad.test/', | 166 | ... 'http://launchpad.test/', |
562 | 174 | ... 'oauth_consumer_key=foo&oauth_token=bar') | 167 | ... 'oauth_consumer_key=foo&oauth_token=bar') |
563 | 175 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
564 | 176 | Traceback (most recent call last): | 168 | Traceback (most recent call last): |
565 | 177 | ... | 169 | ... |
566 | 178 | lp.services.webapp.interfaces.OffsiteFormPostError: http://evil.people.com/ | 170 | lp.services.webapp.interfaces.OffsiteFormPostError: http://evil.people.com/ |
567 | @@ -180,7 +172,6 @@ though it were signed with OAuth. | |||
568 | 180 | >>> no_referrer_browser.post( | 172 | >>> no_referrer_browser.post( |
569 | 181 | ... 'http://launchpad.test/', | 173 | ... 'http://launchpad.test/', |
570 | 182 | ... 'oauth_consumer_key=foo&oauth_token=bar') | 174 | ... 'oauth_consumer_key=foo&oauth_token=bar') |
571 | 183 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
572 | 184 | Traceback (most recent call last): | 175 | Traceback (most recent call last): |
573 | 185 | ... | 176 | ... |
574 | 186 | lp.services.webapp.interfaces.NoReferrerError: No value for REFERER header | 177 | lp.services.webapp.interfaces.NoReferrerError: No value for REFERER header |
575 | @@ -200,7 +191,6 @@ But the browser-accessible API ignores OAuth credentials altogether. | |||
576 | 200 | 191 | ||
577 | 201 | >>> browser.post( | 192 | >>> browser.post( |
578 | 202 | ... 'http://launchpad.test/api/devel/projects', sig) | 193 | ... 'http://launchpad.test/api/devel/projects', sig) |
579 | 203 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
580 | 204 | Traceback (most recent call last): | 194 | Traceback (most recent call last): |
581 | 205 | ... | 195 | ... |
582 | 206 | lp.services.webapp.interfaces.OffsiteFormPostError: http://evil.people.com/ | 196 | lp.services.webapp.interfaces.OffsiteFormPostError: http://evil.people.com/ |
583 | @@ -209,7 +199,6 @@ If you go through the 'api' vhost, the signed request will be | |||
584 | 209 | processed despite the bogus referrer, but... | 199 | processed despite the bogus referrer, but... |
585 | 210 | 200 | ||
586 | 211 | >>> browser.post('http://api.launchpad.test/devel/projects', sig) | 201 | >>> browser.post('http://api.launchpad.test/devel/projects', sig) |
587 | 212 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
588 | 213 | Traceback (most recent call last): | 202 | Traceback (most recent call last): |
589 | 214 | ... | 203 | ... |
590 | 215 | storm.exceptions.NoneError: None isn't acceptable as a value for Product... | 204 | storm.exceptions.NoneError: None isn't acceptable as a value for Product... |
591 | diff --git a/lib/lp/app/stories/basics/xx-opstats.txt b/lib/lp/app/stories/basics/xx-opstats.txt | |||
592 | index 32002b3..de80e59 100644 | |||
593 | --- a/lib/lp/app/stories/basics/xx-opstats.txt | |||
594 | +++ b/lib/lp/app/stories/basics/xx-opstats.txt | |||
595 | @@ -352,7 +352,6 @@ But our database connections are broken. | |||
596 | 352 | >>> from lp.services.database.interfaces import IStore | 352 | >>> from lp.services.database.interfaces import IStore |
597 | 353 | >>> from lp.registry.model.person import Person | 353 | >>> from lp.registry.model.person import Person |
598 | 354 | >>> IStore(Person).find(Person, name='janitor') | 354 | >>> IStore(Person).find(Person, name='janitor') |
599 | 355 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
600 | 356 | Traceback (most recent call last): | 355 | Traceback (most recent call last): |
601 | 357 | ... | 356 | ... |
602 | 358 | storm.exceptions.DisconnectionError: FATAL: database "nonexistant" does not exist | 357 | storm.exceptions.DisconnectionError: FATAL: database "nonexistant" does not exist |
603 | diff --git a/lib/lp/app/stories/folder.txt b/lib/lp/app/stories/folder.txt | |||
604 | index 8124932..8bde596 100644 | |||
605 | --- a/lib/lp/app/stories/folder.txt | |||
606 | +++ b/lib/lp/app/stories/folder.txt | |||
607 | @@ -67,7 +67,7 @@ Requesting a directory raises a NotFound. | |||
608 | 67 | 67 | ||
609 | 68 | >>> view = MyFolder(object(), FakeRequest(version="devel")) | 68 | >>> view = MyFolder(object(), FakeRequest(version="devel")) |
610 | 69 | >>> view = view.publishTraverse(view.request, 'a_dir') | 69 | >>> view = view.publishTraverse(view.request, 'a_dir') |
612 | 70 | >>> view() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 70 | >>> view() |
613 | 71 | Traceback (most recent call last): | 71 | Traceback (most recent call last): |
614 | 72 | ... | 72 | ... |
615 | 73 | zope.publisher.interfaces.NotFound: ... | 73 | zope.publisher.interfaces.NotFound: ... |
616 | @@ -78,7 +78,7 @@ this) | |||
617 | 78 | >>> view = MyFolder(object(), FakeRequest(version="devel")) | 78 | >>> view = MyFolder(object(), FakeRequest(version="devel")) |
618 | 79 | >>> view = view.publishTraverse(view.request, 'a_dir') | 79 | >>> view = view.publishTraverse(view.request, 'a_dir') |
619 | 80 | >>> view = view.publishTraverse(view.request, 'other.txt') | 80 | >>> view = view.publishTraverse(view.request, 'other.txt') |
621 | 81 | >>> view() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 81 | >>> view() |
622 | 82 | Traceback (most recent call last): | 82 | Traceback (most recent call last): |
623 | 83 | ... | 83 | ... |
624 | 84 | zope.publisher.interfaces.NotFound: ... | 84 | zope.publisher.interfaces.NotFound: ... |
625 | @@ -86,7 +86,7 @@ this) | |||
626 | 86 | Not requesting any file, also raises NotFound. | 86 | Not requesting any file, also raises NotFound. |
627 | 87 | 87 | ||
628 | 88 | >>> view = MyFolder(object(), FakeRequest(version="devel")) | 88 | >>> view = MyFolder(object(), FakeRequest(version="devel")) |
630 | 89 | >>> view() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 89 | >>> view() |
631 | 90 | Traceback (most recent call last): | 90 | Traceback (most recent call last): |
632 | 91 | ... | 91 | ... |
633 | 92 | zope.publisher.interfaces.NotFound: ... | 92 | zope.publisher.interfaces.NotFound: ... |
634 | @@ -95,7 +95,7 @@ As requesting a non-existent file. | |||
635 | 95 | 95 | ||
636 | 96 | >>> view = MyFolder(object(), FakeRequest(version="devel")) | 96 | >>> view = MyFolder(object(), FakeRequest(version="devel")) |
637 | 97 | >>> view = view.publishTraverse(view.request, 'image2') | 97 | >>> view = view.publishTraverse(view.request, 'image2') |
639 | 98 | >>> view() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 98 | >>> view() |
640 | 99 | Traceback (most recent call last): | 99 | Traceback (most recent call last): |
641 | 100 | ... | 100 | ... |
642 | 101 | zope.publisher.interfaces.NotFound: ... | 101 | zope.publisher.interfaces.NotFound: ... |
643 | @@ -176,7 +176,7 @@ But traversing to the subdirectory itself will raise a NotFound. | |||
644 | 176 | 176 | ||
645 | 177 | >>> view = MyTree(object(), FakeRequest(version="devel")) | 177 | >>> view = MyTree(object(), FakeRequest(version="devel")) |
646 | 178 | >>> view = view.publishTraverse(view.request, 'public') | 178 | >>> view = view.publishTraverse(view.request, 'public') |
648 | 179 | >>> view() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 179 | >>> view() |
649 | 180 | Traceback (most recent call last): | 180 | Traceback (most recent call last): |
650 | 181 | ... | 181 | ... |
651 | 182 | zope.publisher.interfaces.NotFound: ... | 182 | zope.publisher.interfaces.NotFound: ... |
652 | @@ -186,7 +186,7 @@ Trying to request a non-existent file, will also raise a NotFound. | |||
653 | 186 | >>> view = MyTree(object(), FakeRequest(version="devel")) | 186 | >>> view = MyTree(object(), FakeRequest(version="devel")) |
654 | 187 | >>> view = view.publishTraverse(view.request, 'public') | 187 | >>> view = view.publishTraverse(view.request, 'public') |
655 | 188 | >>> view = view.publishTraverse(view.request, 'nosuchfile.txt') | 188 | >>> view = view.publishTraverse(view.request, 'nosuchfile.txt') |
657 | 189 | >>> view() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 189 | >>> view() |
658 | 190 | Traceback (most recent call last): | 190 | Traceback (most recent call last): |
659 | 191 | ... | 191 | ... |
660 | 192 | zope.publisher.interfaces.NotFound: ... | 192 | zope.publisher.interfaces.NotFound: ... |
661 | @@ -199,7 +199,7 @@ NotFound. | |||
662 | 199 | >>> view = view.publishTraverse(view.request, 'subdir1') | 199 | >>> view = view.publishTraverse(view.request, 'subdir1') |
663 | 200 | >>> view = view.publishTraverse(view.request, 'test1.txt') | 200 | >>> view = view.publishTraverse(view.request, 'test1.txt') |
664 | 201 | >>> view = view.publishTraverse(view.request, 'nosuchpath') | 201 | >>> view = view.publishTraverse(view.request, 'nosuchpath') |
666 | 202 | >>> view() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 202 | >>> view() |
667 | 203 | Traceback (most recent call last): | 203 | Traceback (most recent call last): |
668 | 204 | ... | 204 | ... |
669 | 205 | zope.publisher.interfaces.NotFound: ... | 205 | zope.publisher.interfaces.NotFound: ... |
670 | diff --git a/lib/lp/app/stories/form/xx-form-layout.txt b/lib/lp/app/stories/form/xx-form-layout.txt | |||
671 | index c9b09ea..478c97e 100644 | |||
672 | --- a/lib/lp/app/stories/form/xx-form-layout.txt | |||
673 | +++ b/lib/lp/app/stories/form/xx-form-layout.txt | |||
674 | @@ -98,7 +98,6 @@ display forms. | |||
675 | 98 | 98 | ||
676 | 99 | >>> cprov_browser.open( | 99 | >>> cprov_browser.open( |
677 | 100 | ... 'http://launchpad.test/~cprov/+editsshkeys/++form++') | 100 | ... 'http://launchpad.test/~cprov/+editsshkeys/++form++') |
678 | 101 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
679 | 102 | Traceback (most recent call last): | 101 | Traceback (most recent call last): |
680 | 103 | ... | 102 | ... |
681 | 104 | zope.publisher.interfaces.NotFound: ... | 103 | zope.publisher.interfaces.NotFound: ... |
682 | @@ -107,7 +106,6 @@ Nor will it allow unauthorized access to data that it should not present. | |||
683 | 107 | 106 | ||
684 | 108 | >>> browser.open( | 107 | >>> browser.open( |
685 | 109 | ... 'http://launchpad.test/~cprov/+archive/ppa/+edit/++form++') | 108 | ... 'http://launchpad.test/~cprov/+archive/ppa/+edit/++form++') |
686 | 110 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
687 | 111 | Traceback (most recent call last): | 109 | Traceback (most recent call last): |
688 | 112 | ... | 110 | ... |
689 | 113 | zope.security.interfaces.Unauthorized: ... | 111 | zope.security.interfaces.Unauthorized: ... |
690 | diff --git a/lib/lp/app/stories/launchpad-root/xx-featuredprojects.txt b/lib/lp/app/stories/launchpad-root/xx-featuredprojects.txt | |||
691 | index 060a023..8e54d4c 100644 | |||
692 | --- a/lib/lp/app/stories/launchpad-root/xx-featuredprojects.txt | |||
693 | +++ b/lib/lp/app/stories/launchpad-root/xx-featuredprojects.txt | |||
694 | @@ -52,7 +52,6 @@ Adding a featured project | |||
695 | 52 | Anonymous users cannot see the link to administer featured projects: | 52 | Anonymous users cannot see the link to administer featured projects: |
696 | 53 | 53 | ||
697 | 54 | >>> anon_browser.getLink(MANAGE_LINK) | 54 | >>> anon_browser.getLink(MANAGE_LINK) |
698 | 55 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
699 | 56 | Traceback (most recent call last): | 55 | Traceback (most recent call last): |
700 | 57 | ... | 56 | ... |
701 | 58 | zope.testbrowser.browser.LinkNotFoundError | 57 | zope.testbrowser.browser.LinkNotFoundError |
702 | @@ -61,7 +60,6 @@ A user without privileges cannot see the administration link, either: | |||
703 | 61 | 60 | ||
704 | 62 | >>> user_browser.open('http://launchpad.test/') | 61 | >>> user_browser.open('http://launchpad.test/') |
705 | 63 | >>> user_browser.getLink(MANAGE_LINK) | 62 | >>> user_browser.getLink(MANAGE_LINK) |
706 | 64 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
707 | 65 | Traceback (most recent call last): | 63 | Traceback (most recent call last): |
708 | 66 | ... | 64 | ... |
709 | 67 | zope.testbrowser.browser.LinkNotFoundError | 65 | zope.testbrowser.browser.LinkNotFoundError |
710 | @@ -76,7 +74,6 @@ But Foo Bar, who is an administrator, can see the management link: | |||
711 | 76 | No Privilege persons is denied access to this page: | 74 | No Privilege persons is denied access to this page: |
712 | 77 | 75 | ||
713 | 78 | >>> user_browser.open('http://launchpad.test/+featuredprojects') | 76 | >>> user_browser.open('http://launchpad.test/+featuredprojects') |
714 | 79 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
715 | 80 | Traceback (most recent call last): | 77 | Traceback (most recent call last): |
716 | 81 | ... | 78 | ... |
717 | 82 | zope.security.interfaces.Unauthorized: ... | 79 | zope.security.interfaces.Unauthorized: ... |
718 | diff --git a/lib/lp/app/validators/email.py b/lib/lp/app/validators/email.py | |||
719 | index 04599f8..8f57276 100644 | |||
720 | --- a/lib/lp/app/validators/email.py | |||
721 | +++ b/lib/lp/app/validators/email.py | |||
722 | @@ -77,11 +77,10 @@ def email_validator(emailaddr): | |||
723 | 77 | >>> email_validator('bugs@example.com') | 77 | >>> email_validator('bugs@example.com') |
724 | 78 | True | 78 | True |
725 | 79 | >>> email_validator('not-valid') | 79 | >>> email_validator('not-valid') |
726 | 80 | ... # noqa | ||
727 | 81 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
728 | 82 | Traceback (most recent call last): | 80 | Traceback (most recent call last): |
729 | 83 | ... | 81 | ... |
731 | 84 | lp.app.validators.LaunchpadValidationError: Invalid email 'not-valid'. | 82 | lp.app.validators.LaunchpadValidationError: Invalid email |
732 | 83 | 'not-valid'. | ||
733 | 85 | """ | 84 | """ |
734 | 86 | if not valid_email(emailaddr): | 85 | if not valid_email(emailaddr): |
735 | 87 | raise LaunchpadValidationError(_( | 86 | raise LaunchpadValidationError(_( |
736 | diff --git a/lib/lp/app/validators/tests/validation.txt b/lib/lp/app/validators/tests/validation.txt | |||
737 | index a8d4a8e..b66c031 100644 | |||
738 | --- a/lib/lp/app/validators/tests/validation.txt | |||
739 | +++ b/lib/lp/app/validators/tests/validation.txt | |||
740 | @@ -38,13 +38,11 @@ fail for that specific series. | |||
741 | 38 | 38 | ||
742 | 39 | >>> nomination = bug.addNomination(no_priv, firefox.series[0]) | 39 | >>> nomination = bug.addNomination(no_priv, firefox.series[0]) |
743 | 40 | >>> can_be_nominated_for_series(firefox.series) | 40 | >>> can_be_nominated_for_series(firefox.series) |
744 | 41 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
745 | 42 | Traceback (most recent call last): | 41 | Traceback (most recent call last): |
746 | 43 | ... | 42 | ... |
747 | 44 | lp.app.validators.LaunchpadValidationError: ... | 43 | lp.app.validators.LaunchpadValidationError: ... |
748 | 45 | 44 | ||
749 | 46 | >>> can_be_nominated_for_series([firefox.series[0]]) | 45 | >>> can_be_nominated_for_series([firefox.series[0]]) |
750 | 47 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
751 | 48 | Traceback (most recent call last): | 46 | Traceback (most recent call last): |
752 | 49 | ... | 47 | ... |
753 | 50 | lp.app.validators.LaunchpadValidationError: ... | 48 | lp.app.validators.LaunchpadValidationError: ... |
754 | @@ -62,7 +60,6 @@ fail: | |||
755 | 62 | ... 'foo.bar@canonical.com') | 60 | ... 'foo.bar@canonical.com') |
756 | 63 | >>> nomination.approve(foo_bar) | 61 | >>> nomination.approve(foo_bar) |
757 | 64 | >>> can_be_nominated_for_series([firefox.series[0]]) | 62 | >>> can_be_nominated_for_series([firefox.series[0]]) |
758 | 65 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
759 | 66 | Traceback (most recent call last): | 63 | Traceback (most recent call last): |
760 | 67 | ... | 64 | ... |
761 | 68 | lp.app.validators.LaunchpadValidationError: ... | 65 | lp.app.validators.LaunchpadValidationError: ... |
762 | @@ -73,7 +70,6 @@ nominated. | |||
763 | 73 | >>> trunk_nomination = bug.addNomination( | 70 | >>> trunk_nomination = bug.addNomination( |
764 | 74 | ... no_priv, firefox.series[1]) | 71 | ... no_priv, firefox.series[1]) |
765 | 75 | >>> can_be_nominated_for_series(firefox.series) | 72 | >>> can_be_nominated_for_series(firefox.series) |
766 | 76 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
767 | 77 | Traceback (most recent call last): | 73 | Traceback (most recent call last): |
768 | 78 | ... | 74 | ... |
769 | 79 | lp.app.validators.LaunchpadValidationError: This bug has already been nominated for these series: 1.0, Trunk | 75 | lp.app.validators.LaunchpadValidationError: This bug has already been nominated for these series: 1.0, Trunk |
770 | @@ -115,7 +111,6 @@ Or a name that is not already in use. | |||
771 | 115 | But you can't use Mark's name, of course. ;) | 111 | But you can't use Mark's name, of course. ;) |
772 | 116 | 112 | ||
773 | 117 | >>> field.validate(u'mark') | 113 | >>> field.validate(u'mark') |
774 | 118 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
775 | 119 | Traceback (most recent call last): | 114 | Traceback (most recent call last): |
776 | 120 | ... | 115 | ... |
777 | 121 | lp.app.validators.LaunchpadValidationError: ...mark is already in use by another person or team... | 116 | lp.app.validators.LaunchpadValidationError: ...mark is already in use by another person or team... |
778 | diff --git a/lib/lp/app/validators/url.py b/lib/lp/app/validators/url.py | |||
779 | index 8df0a18..8dcc05b 100644 | |||
780 | --- a/lib/lp/app/validators/url.py | |||
781 | +++ b/lib/lp/app/validators/url.py | |||
782 | @@ -152,7 +152,6 @@ def valid_webref(web_ref): | |||
783 | 152 | >>> valid_webref('sftp://example.com//absolute/path/maybe') | 152 | >>> valid_webref('sftp://example.com//absolute/path/maybe') |
784 | 153 | True | 153 | True |
785 | 154 | >>> valid_webref('other://example.com/moo') | 154 | >>> valid_webref('other://example.com/moo') |
786 | 155 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
787 | 156 | Traceback (most recent call last): | 155 | Traceback (most recent call last): |
788 | 157 | ... | 156 | ... |
789 | 158 | lp.app.validators.LaunchpadValidationError: ... | 157 | lp.app.validators.LaunchpadValidationError: ... |
790 | diff --git a/lib/lp/app/widgets/date.py b/lib/lp/app/widgets/date.py | |||
791 | index c24da8f..4d58907 100644 | |||
792 | --- a/lib/lp/app/widgets/date.py | |||
793 | +++ b/lib/lp/app/widgets/date.py | |||
794 | @@ -85,12 +85,11 @@ class DateTimeWidget(TextWidget): | |||
795 | 85 | >>> widget.from_date = datetime(2006, 5, 23, | 85 | >>> widget.from_date = datetime(2006, 5, 23, |
796 | 86 | ... tzinfo=pytz.timezone('UTC')) | 86 | ... tzinfo=pytz.timezone('UTC')) |
797 | 87 | >>> print(widget.getInputValue()) | 87 | >>> print(widget.getInputValue()) |
798 | 88 | ... # noqa | ||
799 | 89 | ... # doctest: +NORMALIZE_WHITESPACE,+ELLIPSIS | 88 | ... # doctest: +NORMALIZE_WHITESPACE,+ELLIPSIS |
800 | 90 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
801 | 91 | Traceback (most recent call last): | 89 | Traceback (most recent call last): |
802 | 92 | ... | 90 | ... |
804 | 93 | zope.formlib.interfaces.WidgetInputError: (...Please pick a date after 2006-05-22 17:00:00...) | 91 | zope.formlib.interfaces.WidgetInputError: |
805 | 92 | (...Please pick a date after 2006-05-22 17:00:00...) | ||
806 | 94 | 93 | ||
807 | 95 | If the date provided is greater than from_date then the widget works as | 94 | If the date provided is greater than from_date then the widget works as |
808 | 96 | expected. | 95 | expected. |
809 | @@ -104,12 +103,11 @@ class DateTimeWidget(TextWidget): | |||
810 | 104 | >>> widget.to_date = datetime(2008, 1, 26, | 103 | >>> widget.to_date = datetime(2008, 1, 26, |
811 | 105 | ... tzinfo=pytz.timezone('UTC')) | 104 | ... tzinfo=pytz.timezone('UTC')) |
812 | 106 | >>> print(widget.getInputValue()) | 105 | >>> print(widget.getInputValue()) |
813 | 107 | ... # noqa | ||
814 | 108 | ... # doctest: +NORMALIZE_WHITESPACE,+ELLIPSIS | 106 | ... # doctest: +NORMALIZE_WHITESPACE,+ELLIPSIS |
815 | 109 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
816 | 110 | Traceback (most recent call last): | 107 | Traceback (most recent call last): |
817 | 111 | ... | 108 | ... |
819 | 112 | zope.formlib.interfaces.WidgetInputError: (...Please pick a date before 2008-01-25 16:00:00...) | 109 | zope.formlib.interfaces.WidgetInputError: |
820 | 110 | (...Please pick a date before 2008-01-25 16:00:00...) | ||
821 | 113 | 111 | ||
822 | 114 | A datetime picker can be disabled initially: | 112 | A datetime picker can be disabled initially: |
823 | 115 | 113 | ||
824 | @@ -392,7 +390,6 @@ class DateTimeWidget(TextWidget): | |||
825 | 392 | 390 | ||
826 | 393 | >>> print(widget._parseInput('not a date')) | 391 | >>> print(widget._parseInput('not a date')) |
827 | 394 | ... # doctest: +NORMALIZE_WHITESPACE,+ELLIPSIS | 392 | ... # doctest: +NORMALIZE_WHITESPACE,+ELLIPSIS |
828 | 395 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
829 | 396 | Traceback (most recent call last): | 393 | Traceback (most recent call last): |
830 | 397 | ... | 394 | ... |
831 | 398 | zope.formlib.interfaces.ConversionError: ('Invalid date value', ...) | 395 | zope.formlib.interfaces.ConversionError: ('Invalid date value', ...) |
832 | @@ -555,7 +552,6 @@ class DateWidget(DateTimeWidget): | |||
833 | 555 | 552 | ||
834 | 556 | >>> print(widget._toFieldValue('not a date')) | 553 | >>> print(widget._toFieldValue('not a date')) |
835 | 557 | ... # doctest: +NORMALIZE_WHITESPACE,+ELLIPSIS | 554 | ... # doctest: +NORMALIZE_WHITESPACE,+ELLIPSIS |
836 | 558 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
837 | 559 | Traceback (most recent call last): | 555 | Traceback (most recent call last): |
838 | 560 | ... | 556 | ... |
839 | 561 | zope.formlib.interfaces.ConversionError: ('Invalid date value', ...) | 557 | zope.formlib.interfaces.ConversionError: ('Invalid date value', ...) |
840 | diff --git a/lib/lp/app/widgets/doc/announcement-date-widget.txt b/lib/lp/app/widgets/doc/announcement-date-widget.txt | |||
841 | index b33fcaa..a50a431 100644 | |||
842 | --- a/lib/lp/app/widgets/doc/announcement-date-widget.txt | |||
843 | +++ b/lib/lp/app/widgets/doc/announcement-date-widget.txt | |||
844 | @@ -57,7 +57,6 @@ If you choose to publish immediately, the date field must be empty. | |||
845 | 57 | >>> action_widget.request.form[action_widget.name] = 'immediately' | 57 | >>> action_widget.request.form[action_widget.name] = 'immediately' |
846 | 58 | >>> date_widget.request.form[date_widget.name] = '2005-07-23' | 58 | >>> date_widget.request.form[date_widget.name] = '2005-07-23' |
847 | 59 | >>> print(widget.getInputValue()) | 59 | >>> print(widget.getInputValue()) |
848 | 60 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
849 | 61 | Traceback (most recent call last): | 60 | Traceback (most recent call last): |
850 | 62 | ... | 61 | ... |
851 | 63 | zope.formlib.interfaces.WidgetInputError: ('field.foo', ...'Foo', LaunchpadValidationError(...'Please do not provide a date if you want to publish immediately.')) | 62 | zope.formlib.interfaces.WidgetInputError: ('field.foo', ...'Foo', LaunchpadValidationError(...'Please do not provide a date if you want to publish immediately.')) |
852 | @@ -68,7 +67,6 @@ must be filled. | |||
853 | 68 | >>> action_widget.request.form[action_widget.name] = 'specific' | 67 | >>> action_widget.request.form[action_widget.name] = 'specific' |
854 | 69 | >>> date_widget.request.form[date_widget.name] = '' | 68 | >>> date_widget.request.form[date_widget.name] = '' |
855 | 70 | >>> print(widget.getInputValue()) | 69 | >>> print(widget.getInputValue()) |
856 | 71 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
857 | 72 | Traceback (most recent call last): | 70 | Traceback (most recent call last): |
858 | 73 | ... | 71 | ... |
859 | 74 | zope.formlib.interfaces.WidgetInputError: ('field.foo', ...'Foo', LaunchpadValidationError(...'Please provide a publication date.')) | 72 | zope.formlib.interfaces.WidgetInputError: ('field.foo', ...'Foo', LaunchpadValidationError(...'Please provide a publication date.')) |
860 | diff --git a/lib/lp/app/widgets/doc/image-widget.txt b/lib/lp/app/widgets/doc/image-widget.txt | |||
861 | index 0d68f3b..35bc4ab 100644 | |||
862 | --- a/lib/lp/app/widgets/doc/image-widget.txt | |||
863 | +++ b/lib/lp/app/widgets/doc/image-widget.txt | |||
864 | @@ -266,7 +266,7 @@ dimensions smaller than person_mugshot.dimensions, it must be rejected. | |||
865 | 266 | >>> form = {'field.mugshot.action': 'change', 'field.mugshot.image': logo} | 266 | >>> form = {'field.mugshot.action': 'change', 'field.mugshot.image': logo} |
866 | 267 | >>> widget = ImageChangeWidget( | 267 | >>> widget = ImageChangeWidget( |
867 | 268 | ... person_mugshot, LaunchpadTestRequest(form=form), edit_style) | 268 | ... person_mugshot, LaunchpadTestRequest(form=form), edit_style) |
869 | 269 | >>> widget.getInputValue() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 269 | >>> widget.getInputValue() |
870 | 270 | Traceback (most recent call last): | 270 | Traceback (most recent call last): |
871 | 271 | ... | 271 | ... |
872 | 272 | zope.formlib.interfaces.WidgetInputError: ('field.mugshot', ...'Mugshot', LaunchpadValidationError(...'\nThis image is not exactly 192x192\npixels in size.')) | 272 | zope.formlib.interfaces.WidgetInputError: ('field.mugshot', ...'Mugshot', LaunchpadValidationError(...'\nThis image is not exactly 192x192\npixels in size.')) |
873 | @@ -310,7 +310,7 @@ image, we'll get a validation error. | |||
874 | 310 | >>> _ = mugshot.seek(0) | 310 | >>> _ = mugshot.seek(0) |
875 | 311 | >>> widget = ImageChangeWidget( | 311 | >>> widget = ImageChangeWidget( |
876 | 312 | ... person_mugshot, LaunchpadTestRequest(form=form), edit_style) | 312 | ... person_mugshot, LaunchpadTestRequest(form=form), edit_style) |
878 | 313 | >>> widget.getInputValue() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 313 | >>> widget.getInputValue() |
879 | 314 | Traceback (most recent call last): | 314 | Traceback (most recent call last): |
880 | 315 | ... | 315 | ... |
881 | 316 | zope.formlib.interfaces.WidgetInputError: ('field.mugshot', ...'Mugshot', LaunchpadValidationError(...'\nThis image exceeds the maximum allowed size in bytes.')) | 316 | zope.formlib.interfaces.WidgetInputError: ('field.mugshot', ...'Mugshot', LaunchpadValidationError(...'\nThis image exceeds the maximum allowed size in bytes.')) |
882 | @@ -323,7 +323,7 @@ the maximum we allow. | |||
883 | 323 | >>> _ = mugshot.seek(0) | 323 | >>> _ = mugshot.seek(0) |
884 | 324 | >>> widget = ImageChangeWidget( | 324 | >>> widget = ImageChangeWidget( |
885 | 325 | ... person_mugshot, LaunchpadTestRequest(form=form), edit_style) | 325 | ... person_mugshot, LaunchpadTestRequest(form=form), edit_style) |
887 | 326 | >>> widget.getInputValue() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 326 | >>> widget.getInputValue() |
888 | 327 | Traceback (most recent call last): | 327 | Traceback (most recent call last): |
889 | 328 | ... | 328 | ... |
890 | 329 | zope.formlib.interfaces.WidgetInputError: ('field.mugshot', ...'Mugshot', LaunchpadValidationError(...'\nThis image is not exactly 191x193\npixels in size.')) | 329 | zope.formlib.interfaces.WidgetInputError: ('field.mugshot', ...'Mugshot', LaunchpadValidationError(...'\nThis image is not exactly 191x193\npixels in size.')) |
891 | @@ -332,7 +332,7 @@ the maximum we allow. | |||
892 | 332 | >>> _ = mugshot.seek(0) | 332 | >>> _ = mugshot.seek(0) |
893 | 333 | >>> widget = ImageChangeWidget( | 333 | >>> widget = ImageChangeWidget( |
894 | 334 | ... person_mugshot, LaunchpadTestRequest(form=form), edit_style) | 334 | ... person_mugshot, LaunchpadTestRequest(form=form), edit_style) |
896 | 335 | >>> widget.getInputValue() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 335 | >>> widget.getInputValue() |
897 | 336 | Traceback (most recent call last): | 336 | Traceback (most recent call last): |
898 | 337 | ... | 337 | ... |
899 | 338 | zope.formlib.interfaces.WidgetInputError: ('field.mugshot', ...'Mugshot', LaunchpadValidationError(...'\nThis image is not exactly 193x191\npixels in size.')) | 338 | zope.formlib.interfaces.WidgetInputError: ('field.mugshot', ...'Mugshot', LaunchpadValidationError(...'\nThis image is not exactly 193x191\npixels in size.')) |
900 | @@ -343,7 +343,7 @@ a file to be uploaded. | |||
901 | 343 | >>> form = {'field.mugshot.action': 'change', 'field.mugshot.image': ''} | 343 | >>> form = {'field.mugshot.action': 'change', 'field.mugshot.image': ''} |
902 | 344 | >>> widget = ImageChangeWidget( | 344 | >>> widget = ImageChangeWidget( |
903 | 345 | ... person_mugshot, LaunchpadTestRequest(form=form), edit_style) | 345 | ... person_mugshot, LaunchpadTestRequest(form=form), edit_style) |
905 | 346 | >>> widget.getInputValue() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 346 | >>> widget.getInputValue() |
906 | 347 | Traceback (most recent call last): | 347 | Traceback (most recent call last): |
907 | 348 | ... | 348 | ... |
908 | 349 | zope.formlib.interfaces.WidgetInputError: ('field.mugshot', ...'Mugshot', LaunchpadValidationError(...'Please specify the image you want to use.')) | 349 | zope.formlib.interfaces.WidgetInputError: ('field.mugshot', ...'Mugshot', LaunchpadValidationError(...'Please specify the image you want to use.')) |
909 | @@ -365,7 +365,7 @@ by setting the exact_dimensions attribute of the field to False: | |||
910 | 365 | ... 'field.mugshot.image': mugshot} | 365 | ... 'field.mugshot.image': mugshot} |
911 | 366 | >>> widget = ImageChangeWidget( | 366 | >>> widget = ImageChangeWidget( |
912 | 367 | ... person_mugshot, LaunchpadTestRequest(form=form), edit_style) | 367 | ... person_mugshot, LaunchpadTestRequest(form=form), edit_style) |
914 | 368 | >>> widget.getInputValue() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 368 | >>> widget.getInputValue() |
915 | 369 | Traceback (most recent call last): | 369 | Traceback (most recent call last): |
916 | 370 | ... | 370 | ... |
917 | 371 | zope.formlib.interfaces.WidgetInputError: ('field.mugshot', ...'Mugshot', LaunchpadValidationError(...'\nThis image is larger than 64x64\npixels in size.')) | 371 | zope.formlib.interfaces.WidgetInputError: ('field.mugshot', ...'Mugshot', LaunchpadValidationError(...'\nThis image is larger than 64x64\npixels in size.')) |
918 | diff --git a/lib/lp/app/widgets/doc/project-scope-widget.txt b/lib/lp/app/widgets/doc/project-scope-widget.txt | |||
919 | index e0bf442..1f11593 100644 | |||
920 | --- a/lib/lp/app/widgets/doc/project-scope-widget.txt | |||
921 | +++ b/lib/lp/app/widgets/doc/project-scope-widget.txt | |||
922 | @@ -52,7 +52,7 @@ If the widget is required, getInputValue() raises UnexpectedFormData if | |||
923 | 52 | there is no input. | 52 | there is no input. |
924 | 53 | 53 | ||
925 | 54 | >>> widget.required = True | 54 | >>> widget.required = True |
927 | 55 | >>> widget.getInputValue() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 55 | >>> widget.getInputValue() |
928 | 56 | Traceback (most recent call last): | 56 | Traceback (most recent call last): |
929 | 57 | ... | 57 | ... |
930 | 58 | lp.app.errors.UnexpectedFormData: No valid option was selected. | 58 | lp.app.errors.UnexpectedFormData: No valid option was selected. |
931 | @@ -120,7 +120,6 @@ raised: | |||
932 | 120 | >>> widget.hasInput() | 120 | >>> widget.hasInput() |
933 | 121 | True | 121 | True |
934 | 122 | >>> selected_scope = widget.getInputValue() | 122 | >>> selected_scope = widget.getInputValue() |
935 | 123 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
936 | 124 | Traceback (most recent call last): | 123 | Traceback (most recent call last): |
937 | 125 | ... | 124 | ... |
938 | 126 | zope.formlib.interfaces.WidgetInputError: ('field.scope', ...'', LaunchpadValidationError(...'There is no project named 'invalid' registered in Launchpad')) | 125 | zope.formlib.interfaces.WidgetInputError: ('field.scope', ...'', LaunchpadValidationError(...'There is no project named 'invalid' registered in Launchpad')) |
939 | @@ -139,7 +138,6 @@ If no project name is given at all, a widget error is also raised: | |||
940 | 139 | >>> widget.hasInput() | 138 | >>> widget.hasInput() |
941 | 140 | True | 139 | True |
942 | 141 | >>> selected_scope = widget.getInputValue() | 140 | >>> selected_scope = widget.getInputValue() |
943 | 142 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
944 | 143 | Traceback (most recent call last): | 141 | Traceback (most recent call last): |
945 | 144 | ... | 142 | ... |
946 | 145 | zope.formlib.interfaces.WidgetInputError: ('field.scope', ...'', LaunchpadValidationError(...'Please enter a project name')) | 143 | zope.formlib.interfaces.WidgetInputError: ('field.scope', ...'', LaunchpadValidationError(...'Please enter a project name')) |
947 | @@ -154,7 +152,6 @@ If no project name is given at all, a widget error is also raised: | |||
948 | 154 | >>> widget.hasInput() | 152 | >>> widget.hasInput() |
949 | 155 | True | 153 | True |
950 | 156 | >>> selected_scope = widget.getInputValue() | 154 | >>> selected_scope = widget.getInputValue() |
951 | 157 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
952 | 158 | Traceback (most recent call last): | 155 | Traceback (most recent call last): |
953 | 159 | ... | 156 | ... |
954 | 160 | zope.formlib.interfaces.WidgetInputError: ('field.scope', ...'', LaunchpadValidationError(...'Please enter a project name')) | 157 | zope.formlib.interfaces.WidgetInputError: ('field.scope', ...'', LaunchpadValidationError(...'Please enter a project name')) |
955 | diff --git a/lib/lp/app/widgets/doc/stripped-text-widget.txt b/lib/lp/app/widgets/doc/stripped-text-widget.txt | |||
956 | index 7648db0..7c393da 100644 | |||
957 | --- a/lib/lp/app/widgets/doc/stripped-text-widget.txt | |||
958 | +++ b/lib/lp/app/widgets/doc/stripped-text-widget.txt | |||
959 | @@ -60,7 +60,7 @@ provided. | |||
960 | 60 | ... __name__=six.ensure_str('field'), title=u'Title', required=True) | 60 | ... __name__=six.ensure_str('field'), title=u'Title', required=True) |
961 | 61 | >>> request = LaunchpadTestRequest(form={'field.field':' \n '}) | 61 | >>> request = LaunchpadTestRequest(form={'field.field':' \n '}) |
962 | 62 | >>> widget = StrippedTextWidget(required_field, request) | 62 | >>> widget = StrippedTextWidget(required_field, request) |
964 | 63 | >>> widget.getInputValue() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 63 | >>> widget.getInputValue() |
965 | 64 | Traceback (most recent call last): | 64 | Traceback (most recent call last): |
966 | 65 | ... | 65 | ... |
967 | 66 | zope.formlib.interfaces.WidgetInputError: ('field', ...'Title', RequiredMissing('field')) | 66 | zope.formlib.interfaces.WidgetInputError: ('field', ...'Title', RequiredMissing('field')) |
968 | diff --git a/lib/lp/app/widgets/doc/zope3-widgets-use-form-ng.txt b/lib/lp/app/widgets/doc/zope3-widgets-use-form-ng.txt | |||
969 | index 5888dee..dea969a 100644 | |||
970 | --- a/lib/lp/app/widgets/doc/zope3-widgets-use-form-ng.txt | |||
971 | +++ b/lib/lp/app/widgets/doc/zope3-widgets-use-form-ng.txt | |||
972 | @@ -41,7 +41,6 @@ contains more than one argument. | |||
973 | 41 | >>> Zope3WidgetsUseIBrowserFormNGMonkeyPatch.install() | 41 | >>> Zope3WidgetsUseIBrowserFormNGMonkeyPatch.install() |
974 | 42 | 42 | ||
975 | 43 | >>> int_widget.getInputValue() | 43 | >>> int_widget.getInputValue() |
976 | 44 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
977 | 45 | Traceback (most recent call last): | 44 | Traceback (most recent call last): |
978 | 46 | ... | 45 | ... |
979 | 47 | lp.app.errors.UnexpectedFormData: ... | 46 | lp.app.errors.UnexpectedFormData: ... |
980 | @@ -51,7 +50,6 @@ contains more than one argument. | |||
981 | 51 | ... form={'field.text': ['two', 'strings']}) | 50 | ... form={'field.text': ['two', 'strings']}) |
982 | 52 | >>> text_widget = TextWidget(text_field, request) | 51 | >>> text_widget = TextWidget(text_field, request) |
983 | 53 | >>> text_widget.getInputValue() | 52 | >>> text_widget.getInputValue() |
984 | 54 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
985 | 55 | Traceback (most recent call last): | 53 | Traceback (most recent call last): |
986 | 56 | ... | 54 | ... |
987 | 57 | lp.app.errors.UnexpectedFormData: ... | 55 | lp.app.errors.UnexpectedFormData: ... |
988 | @@ -63,7 +61,6 @@ with the Launchpad widgets extending it: | |||
989 | 63 | 61 | ||
990 | 64 | >>> stripped_text_widget = StrippedTextWidget(text_field, request) | 62 | >>> stripped_text_widget = StrippedTextWidget(text_field, request) |
991 | 65 | >>> stripped_text_widget.getInputValue() | 63 | >>> stripped_text_widget.getInputValue() |
992 | 66 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
993 | 67 | Traceback (most recent call last): | 64 | Traceback (most recent call last): |
994 | 68 | ... | 65 | ... |
995 | 69 | lp.app.errors.UnexpectedFormData: ... | 66 | lp.app.errors.UnexpectedFormData: ... |
996 | diff --git a/lib/lp/archivepublisher/tests/archive-signing.txt b/lib/lp/archivepublisher/tests/archive-signing.txt | |||
997 | index d2efc4f..266b42b 100644 | |||
998 | --- a/lib/lp/archivepublisher/tests/archive-signing.txt | |||
999 | +++ b/lib/lp/archivepublisher/tests/archive-signing.txt | |||
1000 | @@ -457,7 +457,6 @@ have a 'signing_key' set, it raises an error. | |||
1001 | 457 | >>> del get_property_cache(cprov.archive).signing_key | 457 | >>> del get_property_cache(cprov.archive).signing_key |
1002 | 458 | 458 | ||
1003 | 459 | >>> archive_signing_key.signRepository(test_suite) | 459 | >>> archive_signing_key.signRepository(test_suite) |
1004 | 460 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1005 | 461 | Traceback (most recent call last): | 460 | Traceback (most recent call last): |
1006 | 462 | ... | 461 | ... |
1007 | 463 | lp.archivepublisher.interfaces.archivegpgsigningkey.CannotSignArchive: No signing key available for PPA for Celso Providelo | 462 | lp.archivepublisher.interfaces.archivegpgsigningkey.CannotSignArchive: No signing key available for PPA for Celso Providelo |
1008 | diff --git a/lib/lp/archiveuploader/tests/nascentupload-announcements.txt b/lib/lp/archiveuploader/tests/nascentupload-announcements.txt | |||
1009 | index 9f7c2f9..fc12cfd 100644 | |||
1010 | --- a/lib/lp/archiveuploader/tests/nascentupload-announcements.txt | |||
1011 | +++ b/lib/lp/archiveuploader/tests/nascentupload-announcements.txt | |||
1012 | @@ -754,7 +754,7 @@ And then try to upload using the changes file with the malformed name. | |||
1013 | 754 | 754 | ||
1014 | 755 | >>> bar_src = NascentUpload.from_changesfile_path( | 755 | >>> bar_src = NascentUpload.from_changesfile_path( |
1015 | 756 | ... copyp, sync_policy, DevNullLogger()) | 756 | ... copyp, sync_policy, DevNullLogger()) |
1017 | 757 | >>> bar_src.process() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 757 | >>> bar_src.process() |
1018 | 758 | Traceback (most recent call last): | 758 | Traceback (most recent call last): |
1019 | 759 | ... | 759 | ... |
1020 | 760 | lp.archiveuploader.nascentupload.EarlyReturnUploadError: An error occurred that prevented further processing. | 760 | lp.archiveuploader.nascentupload.EarlyReturnUploadError: An error occurred that prevented further processing. |
1021 | diff --git a/lib/lp/archiveuploader/tests/nascentupload-epoch-handling.txt b/lib/lp/archiveuploader/tests/nascentupload-epoch-handling.txt | |||
1022 | index 45190aa..cb4c2ef 100644 | |||
1023 | --- a/lib/lp/archiveuploader/tests/nascentupload-epoch-handling.txt | |||
1024 | +++ b/lib/lp/archiveuploader/tests/nascentupload-epoch-handling.txt | |||
1025 | @@ -151,7 +151,6 @@ Published the 'non-epoched' bar source version as the base package: | |||
1026 | 151 | When publishing the 'epoched' bar source the collision is detected: | 151 | When publishing the 'epoched' bar source the collision is detected: |
1027 | 152 | 152 | ||
1028 | 153 | >>> bar_src_queue_epoch.realiseUpload() | 153 | >>> bar_src_queue_epoch.realiseUpload() |
1029 | 154 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1030 | 155 | Traceback (most recent call last): | 154 | Traceback (most recent call last): |
1031 | 156 | ... | 155 | ... |
1032 | 157 | lp.soyuz.interfaces.queue.QueueInconsistentStateError: bar_1.0-1.diff.gz is already published in archive for hoary | 156 | lp.soyuz.interfaces.queue.QueueInconsistentStateError: bar_1.0-1.diff.gz is already published in archive for hoary |
1033 | @@ -170,7 +169,6 @@ containing a orig file with diferent contents than the one already | |||
1034 | 170 | published in 'non-epoched' version: | 169 | published in 'non-epoched' version: |
1035 | 171 | 170 | ||
1036 | 172 | >>> bar_src_queue_epoch2.realiseUpload() | 171 | >>> bar_src_queue_epoch2.realiseUpload() |
1037 | 173 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1038 | 174 | Traceback (most recent call last): | 172 | Traceback (most recent call last): |
1039 | 175 | ... | 173 | ... |
1040 | 176 | lp.soyuz.interfaces.queue.QueueInconsistentStateError: bar_1.0.orig.tar.gz is already published in archive for hoary with a different SHA1 hash (e918d6f5ec2184ae1d795a130da36c9a82c4beaf != 73a04163fee97fd2257ab266bd48f1d3d528e012) | 174 | lp.soyuz.interfaces.queue.QueueInconsistentStateError: bar_1.0.orig.tar.gz is already published in archive for hoary with a different SHA1 hash (e918d6f5ec2184ae1d795a130da36c9a82c4beaf != 73a04163fee97fd2257ab266bd48f1d3d528e012) |
1041 | diff --git a/lib/lp/archiveuploader/tests/nascentupload.txt b/lib/lp/archiveuploader/tests/nascentupload.txt | |||
1042 | index 20fb5f1..30272a4 100644 | |||
1043 | --- a/lib/lp/archiveuploader/tests/nascentupload.txt | |||
1044 | +++ b/lib/lp/archiveuploader/tests/nascentupload.txt | |||
1045 | @@ -54,7 +54,7 @@ on that. | |||
1046 | 54 | 54 | ||
1047 | 55 | >>> nonexistent = NascentUpload.from_changesfile_path( | 55 | >>> nonexistent = NascentUpload.from_changesfile_path( |
1048 | 56 | ... datadir("DOES-NOT-EXIST"), buildd_policy, FakeLogger()) | 56 | ... datadir("DOES-NOT-EXIST"), buildd_policy, FakeLogger()) |
1050 | 57 | >>> nonexistent.process() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 57 | >>> nonexistent.process() |
1051 | 58 | Traceback (most recent call last): | 58 | Traceback (most recent call last): |
1052 | 59 | ... | 59 | ... |
1053 | 60 | lp.archiveuploader.nascentupload.EarlyReturnUploadError: An error occurred that prevented further processing. | 60 | lp.archiveuploader.nascentupload.EarlyReturnUploadError: An error occurred that prevented further processing. |
1054 | diff --git a/lib/lp/archiveuploader/tests/nascentuploadfile.txt b/lib/lp/archiveuploader/tests/nascentuploadfile.txt | |||
1055 | index 60ea018..0747315 100644 | |||
1056 | --- a/lib/lp/archiveuploader/tests/nascentuploadfile.txt | |||
1057 | +++ b/lib/lp/archiveuploader/tests/nascentuploadfile.txt | |||
1058 | @@ -44,7 +44,6 @@ Construct the base object with just enough data to do the check: | |||
1059 | 44 | The filename tries to use an epoch in an invalid way: | 44 | The filename tries to use an epoch in an invalid way: |
1060 | 45 | 45 | ||
1061 | 46 | >>> upload_file.checkNameIsTaintFree() | 46 | >>> upload_file.checkNameIsTaintFree() |
1062 | 47 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1063 | 48 | Traceback (most recent call last): | 47 | Traceback (most recent call last): |
1064 | 49 | ... | 48 | ... |
1065 | 50 | lp.archiveuploader.utils.UploadError: Invalid character(s) in filename: 'package-1.1.2-3:0ubuntu4'. | 49 | lp.archiveuploader.utils.UploadError: Invalid character(s) in filename: 'package-1.1.2-3:0ubuntu4'. |
1066 | @@ -263,7 +262,6 @@ Launchpad: | |||
1067 | 263 | If the address is unparsable, we get an error. | 262 | If the address is unparsable, we get an error. |
1068 | 264 | 263 | ||
1069 | 265 | >>> sig_file.parseAddress("Cannot Parse Me <FOOO>") | 264 | >>> sig_file.parseAddress("Cannot Parse Me <FOOO>") |
1070 | 266 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1071 | 267 | Traceback (most recent call last): | 265 | Traceback (most recent call last): |
1072 | 268 | ... | 266 | ... |
1073 | 269 | lp.archiveuploader.utils.UploadError: Cannot Parse Me <FOOO>: no @ found in email address part. | 267 | lp.archiveuploader.utils.UploadError: Cannot Parse Me <FOOO>: no @ found in email address part. |
1074 | diff --git a/lib/lp/archiveuploader/tests/upload-path-parsing.txt b/lib/lp/archiveuploader/tests/upload-path-parsing.txt | |||
1075 | index c4c998d..41a834e 100644 | |||
1076 | --- a/lib/lp/archiveuploader/tests/upload-path-parsing.txt | |||
1077 | +++ b/lib/lp/archiveuploader/tests/upload-path-parsing.txt | |||
1078 | @@ -48,7 +48,6 @@ If such distribution doesn't exist, parse_upload_path() raises | |||
1079 | 48 | `UploadPathError`. | 48 | `UploadPathError`. |
1080 | 49 | 49 | ||
1081 | 50 | >>> check_upload('does-not-exist') | 50 | >>> check_upload('does-not-exist') |
1082 | 51 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1083 | 52 | Traceback (most recent call last): | 51 | Traceback (most recent call last): |
1084 | 53 | ... | 52 | ... |
1085 | 54 | lp.archiveuploader.uploadprocessor.UploadPathError: Could not find distribution 'does-not-exist'. | 53 | lp.archiveuploader.uploadprocessor.UploadPathError: Could not find distribution 'does-not-exist'. |
1086 | @@ -70,7 +69,6 @@ Again, if the given suite name can not be found an `UploadPathError` | |||
1087 | 70 | is raised. | 69 | is raised. |
1088 | 71 | 70 | ||
1089 | 72 | >>> check_upload('debian/imaginary') | 71 | >>> check_upload('debian/imaginary') |
1090 | 73 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1091 | 74 | Traceback (most recent call last): | 72 | Traceback (most recent call last): |
1092 | 75 | ... | 73 | ... |
1093 | 76 | lp.archiveuploader.uploadprocessor.UploadPathError: Could not find suite 'imaginary'. | 74 | lp.archiveuploader.uploadprocessor.UploadPathError: Could not find suite 'imaginary'. |
1094 | @@ -104,13 +102,11 @@ up as a Person in Launchpad. | |||
1095 | 104 | Suite: None | 102 | Suite: None |
1096 | 105 | 103 | ||
1097 | 106 | >>> check_upload('~does-not-exist/ubuntu/ppa') | 104 | >>> check_upload('~does-not-exist/ubuntu/ppa') |
1098 | 107 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1099 | 108 | Traceback (most recent call last): | 105 | Traceback (most recent call last): |
1100 | 109 | ... | 106 | ... |
1101 | 110 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: Could not find person or team named 'does-not-exist'. | 107 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: Could not find person or team named 'does-not-exist'. |
1102 | 111 | 108 | ||
1103 | 112 | >>> check_upload('~cprov/notbuntu/ppa') | 109 | >>> check_upload('~cprov/notbuntu/ppa') |
1104 | 113 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1105 | 114 | Traceback (most recent call last): | 110 | Traceback (most recent call last): |
1106 | 115 | ... | 111 | ... |
1107 | 116 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: Could not find distribution 'notbuntu'. | 112 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: Could not find distribution 'notbuntu'. |
1108 | @@ -148,7 +144,6 @@ valid. It's also supported for uploads to the deprecated paths. | |||
1109 | 148 | Suite: warty-backports | 144 | Suite: warty-backports |
1110 | 149 | 145 | ||
1111 | 150 | >>> check_upload('~cprov/ppa/ubuntu/boing') | 146 | >>> check_upload('~cprov/ppa/ubuntu/boing') |
1112 | 151 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1113 | 152 | Traceback (most recent call last): | 147 | Traceback (most recent call last): |
1114 | 153 | ... | 148 | ... |
1115 | 154 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: Could not find suite 'boing'. | 149 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: Could not find suite 'boing'. |
1116 | @@ -164,13 +159,11 @@ an error. | |||
1117 | 164 | >>> transaction.commit() | 159 | >>> transaction.commit() |
1118 | 165 | 160 | ||
1119 | 166 | >>> check_upload('~cprov/ubuntu/ppa') | 161 | >>> check_upload('~cprov/ubuntu/ppa') |
1120 | 167 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1121 | 168 | Traceback (most recent call last): | 162 | Traceback (most recent call last): |
1122 | 169 | ... | 163 | ... |
1123 | 170 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: PPA for Celso Providelo is disabled. | 164 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: PPA for Celso Providelo is disabled. |
1124 | 171 | 165 | ||
1125 | 172 | >>> check_upload('~cprov/ppa/ubuntu') | 166 | >>> check_upload('~cprov/ppa/ubuntu') |
1126 | 173 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1127 | 174 | Traceback (most recent call last): | 167 | Traceback (most recent call last): |
1128 | 175 | ... | 168 | ... |
1129 | 176 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: PPA for Celso Providelo is disabled. | 169 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: PPA for Celso Providelo is disabled. |
1130 | @@ -178,13 +171,11 @@ an error. | |||
1131 | 178 | Uploading to named PPA that does not exist fails. | 171 | Uploading to named PPA that does not exist fails. |
1132 | 179 | 172 | ||
1133 | 180 | >>> check_upload('~cprov/ubuntu/beta') | 173 | >>> check_upload('~cprov/ubuntu/beta') |
1134 | 181 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1135 | 182 | Traceback (most recent call last): | 174 | Traceback (most recent call last): |
1136 | 183 | ... | 175 | ... |
1137 | 184 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: Could not find a PPA owned by 'cprov' for 'ubuntu' named 'beta'. | 176 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: Could not find a PPA owned by 'cprov' for 'ubuntu' named 'beta'. |
1138 | 185 | 177 | ||
1139 | 186 | >>> check_upload('~cprov/beta/ubuntu') | 178 | >>> check_upload('~cprov/beta/ubuntu') |
1140 | 187 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1141 | 188 | Traceback (most recent call last): | 179 | Traceback (most recent call last): |
1142 | 189 | ... | 180 | ... |
1143 | 190 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: Could not find a PPA owned by 'cprov' for 'ubuntu' named 'beta'. | 181 | lp.archiveuploader.uploadprocessor.PPAUploadPathError: Could not find a PPA owned by 'cprov' for 'ubuntu' named 'beta'. |
1144 | @@ -216,7 +207,6 @@ identifies and warns users accordingly. | |||
1145 | 216 | An extra path part that cannot be processed for distribution uploads. | 207 | An extra path part that cannot be processed for distribution uploads. |
1146 | 217 | 208 | ||
1147 | 218 | >>> check_upload('ubuntu/warty/ding-dong') | 209 | >>> check_upload('ubuntu/warty/ding-dong') |
1148 | 219 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1149 | 220 | Traceback (most recent call last): | 210 | Traceback (most recent call last): |
1150 | 221 | ... | 211 | ... |
1151 | 222 | lp.archiveuploader.uploadprocessor.UploadPathError: Path format mismatch. | 212 | lp.archiveuploader.uploadprocessor.UploadPathError: Path format mismatch. |
1152 | @@ -225,7 +215,6 @@ A distribution specific uploads starting with '~' as if it was a | |||
1153 | 225 | person name. Note that users can't be named like distribution anyways. | 215 | person name. Note that users can't be named like distribution anyways. |
1154 | 226 | 216 | ||
1155 | 227 | >>> check_upload('~ubuntu') | 217 | >>> check_upload('~ubuntu') |
1156 | 228 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1157 | 229 | Traceback (most recent call last): | 218 | Traceback (most recent call last): |
1158 | 230 | ... | 219 | ... |
1159 | 231 | lp.archiveuploader.uploadprocessor.UploadPathError: Path format mismatch. | 220 | lp.archiveuploader.uploadprocessor.UploadPathError: Path format mismatch. |
1160 | @@ -233,7 +222,6 @@ person name. Note that users can't be named like distribution anyways. | |||
1161 | 233 | An extra path part that cannot be processed for PPA uploads. | 222 | An extra path part that cannot be processed for PPA uploads. |
1162 | 234 | 223 | ||
1163 | 235 | >>> check_upload('~cprov/ubuntu/ppa/warty/ding-dong') | 224 | >>> check_upload('~cprov/ubuntu/ppa/warty/ding-dong') |
1164 | 236 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1165 | 237 | Traceback (most recent call last): | 225 | Traceback (most recent call last): |
1166 | 238 | ... | 226 | ... |
1167 | 239 | lp.archiveuploader.uploadprocessor.UploadPathError: Path format mismatch. | 227 | lp.archiveuploader.uploadprocessor.UploadPathError: Path format mismatch. |
1168 | @@ -241,7 +229,6 @@ An extra path part that cannot be processed for PPA uploads. | |||
1169 | 241 | A PPA upload missing '~': | 229 | A PPA upload missing '~': |
1170 | 242 | 230 | ||
1171 | 243 | >>> check_upload('cprov/ubuntu/ppa') | 231 | >>> check_upload('cprov/ubuntu/ppa') |
1172 | 244 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1173 | 245 | Traceback (most recent call last): | 232 | Traceback (most recent call last): |
1174 | 246 | ... | 233 | ... |
1175 | 247 | lp.archiveuploader.uploadprocessor.UploadPathError: Path format mismatch. | 234 | lp.archiveuploader.uploadprocessor.UploadPathError: Path format mismatch. |
1176 | @@ -249,7 +236,6 @@ A PPA upload missing '~': | |||
1177 | 249 | A old-style PPA upload missing '~': | 236 | A old-style PPA upload missing '~': |
1178 | 250 | 237 | ||
1179 | 251 | >>> check_upload('cprov/ubuntu') | 238 | >>> check_upload('cprov/ubuntu') |
1180 | 252 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1181 | 253 | Traceback (most recent call last): | 239 | Traceback (most recent call last): |
1182 | 254 | ... | 240 | ... |
1183 | 255 | lp.archiveuploader.uploadprocessor.UploadPathError: Could not find distribution 'cprov'. | 241 | lp.archiveuploader.uploadprocessor.UploadPathError: Could not find distribution 'cprov'. |
1184 | @@ -257,7 +243,6 @@ A old-style PPA upload missing '~': | |||
1185 | 257 | An old-style named PPA upload missing '~'. | 243 | An old-style named PPA upload missing '~'. |
1186 | 258 | 244 | ||
1187 | 259 | >>> check_upload('cprov/ppa/ubuntu') | 245 | >>> check_upload('cprov/ppa/ubuntu') |
1188 | 260 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1189 | 261 | Traceback (most recent call last): | 246 | Traceback (most recent call last): |
1190 | 262 | ... | 247 | ... |
1191 | 263 | lp.archiveuploader.uploadprocessor.UploadPathError: Path format mismatch. | 248 | lp.archiveuploader.uploadprocessor.UploadPathError: Path format mismatch. |
1192 | @@ -301,7 +286,6 @@ In the case where an archive cannot be found an 'UploadPathError' exception | |||
1193 | 301 | is raised. | 286 | is raised. |
1194 | 302 | 287 | ||
1195 | 303 | >>> check_upload('1234567890/ubuntu') | 288 | >>> check_upload('1234567890/ubuntu') |
1196 | 304 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1197 | 305 | Traceback (most recent call last): | 289 | Traceback (most recent call last): |
1198 | 306 | ... | 290 | ... |
1199 | 307 | lp.archiveuploader.uploadprocessor.UploadPathError: Could not find archive with id=1234567890. | 291 | lp.archiveuploader.uploadprocessor.UploadPathError: Could not find archive with id=1234567890. |
1200 | diff --git a/lib/lp/blueprints/doc/specgraph.txt b/lib/lp/blueprints/doc/specgraph.txt | |||
1201 | index ad3114e..4e2f985 100644 | |||
1202 | --- a/lib/lp/blueprints/doc/specgraph.txt | |||
1203 | +++ b/lib/lp/blueprints/doc/specgraph.txt | |||
1204 | @@ -306,7 +306,6 @@ to the command is bad: | |||
1205 | 306 | ... (svg_support, request), name="+deptreeimgtag") | 306 | ... (svg_support, request), name="+deptreeimgtag") |
1206 | 307 | >>> graph_view.initialize() | 307 | >>> graph_view.initialize() |
1207 | 308 | >>> graph_view.renderGraphvizGraph('cmapx') | 308 | >>> graph_view.renderGraphvizGraph('cmapx') |
1208 | 309 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1209 | 310 | Traceback (most recent call last): | 309 | Traceback (most recent call last): |
1210 | 311 | ... | 310 | ... |
1211 | 312 | lp.blueprints.browser.specification.ProblemRenderingGraph: (... syntax error in line 1 near 'bad'...) | 311 | lp.blueprints.browser.specification.ProblemRenderingGraph: (... syntax error in line 1 near 'bad'...) |
1212 | diff --git a/lib/lp/blueprints/stories/blueprints/xx-creation.txt b/lib/lp/blueprints/stories/blueprints/xx-creation.txt | |||
1213 | index 265dbff..c95ab67 100644 | |||
1214 | --- a/lib/lp/blueprints/stories/blueprints/xx-creation.txt | |||
1215 | +++ b/lib/lp/blueprints/stories/blueprints/xx-creation.txt | |||
1216 | @@ -723,7 +723,6 @@ individual user's blueprint listing page: | |||
1217 | 723 | 723 | ||
1218 | 724 | >>> user_browser.open('http://blueprints.launchpad.test/~mark') | 724 | >>> user_browser.open('http://blueprints.launchpad.test/~mark') |
1219 | 725 | >>> print(user_browser.getLink('Register a blueprint')) | 725 | >>> print(user_browser.getLink('Register a blueprint')) |
1220 | 726 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1221 | 727 | Traceback (most recent call last): | 726 | Traceback (most recent call last): |
1222 | 728 | ... | 727 | ... |
1223 | 729 | zope.testbrowser.browser.LinkNotFoundError | 728 | zope.testbrowser.browser.LinkNotFoundError |
1224 | @@ -733,7 +732,6 @@ listing page: | |||
1225 | 733 | 732 | ||
1226 | 734 | >>> user_browser.open('http://blueprints.launchpad.test/~admins') | 733 | >>> user_browser.open('http://blueprints.launchpad.test/~admins') |
1227 | 735 | >>> print(user_browser.getLink('Register a blueprint')) | 734 | >>> print(user_browser.getLink('Register a blueprint')) |
1228 | 736 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1229 | 737 | Traceback (most recent call last): | 735 | Traceback (most recent call last): |
1230 | 738 | ... | 736 | ... |
1231 | 739 | zope.testbrowser.browser.LinkNotFoundError | 737 | zope.testbrowser.browser.LinkNotFoundError |
1232 | diff --git a/lib/lp/blueprints/stories/blueprints/xx-dependencies.txt b/lib/lp/blueprints/stories/blueprints/xx-dependencies.txt | |||
1233 | index 39b6a01..0164163 100644 | |||
1234 | --- a/lib/lp/blueprints/stories/blueprints/xx-dependencies.txt | |||
1235 | +++ b/lib/lp/blueprints/stories/blueprints/xx-dependencies.txt | |||
1236 | @@ -41,14 +41,12 @@ users with launchpad.Edit permission for the blueprint. | |||
1237 | 41 | >>> user_browser.open( | 41 | >>> user_browser.open( |
1238 | 42 | ... 'http://blueprints.launchpad.test/firefox/+spec/canvas') | 42 | ... 'http://blueprints.launchpad.test/firefox/+spec/canvas') |
1239 | 43 | >>> user_browser.getLink('Add dependency') | 43 | >>> user_browser.getLink('Add dependency') |
1240 | 44 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1241 | 45 | Traceback (most recent call last): | 44 | Traceback (most recent call last): |
1242 | 46 | ... | 45 | ... |
1243 | 47 | zope.testbrowser.browser.LinkNotFoundError | 46 | zope.testbrowser.browser.LinkNotFoundError |
1244 | 48 | >>> user_browser.open( | 47 | >>> user_browser.open( |
1245 | 49 | ... 'http://blueprints.launchpad.test/firefox/+spec/canvas/' | 48 | ... 'http://blueprints.launchpad.test/firefox/+spec/canvas/' |
1246 | 50 | ... '+linkdependency') | 49 | ... '+linkdependency') |
1247 | 51 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1248 | 52 | Traceback (most recent call last): | 50 | Traceback (most recent call last): |
1249 | 53 | ... | 51 | ... |
1250 | 54 | zope.security.interfaces.Unauthorized: ... | 52 | zope.security.interfaces.Unauthorized: ... |
1251 | @@ -114,14 +112,12 @@ users with launchpad.Edit permission for the blueprint. | |||
1252 | 114 | >>> user_browser.open( | 112 | >>> user_browser.open( |
1253 | 115 | ... 'http://blueprints.launchpad.test/firefox/+spec/canvas') | 113 | ... 'http://blueprints.launchpad.test/firefox/+spec/canvas') |
1254 | 116 | >>> user_browser.getLink('Remove dependency') | 114 | >>> user_browser.getLink('Remove dependency') |
1255 | 117 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1256 | 118 | Traceback (most recent call last): | 115 | Traceback (most recent call last): |
1257 | 119 | ... | 116 | ... |
1258 | 120 | zope.testbrowser.browser.LinkNotFoundError | 117 | zope.testbrowser.browser.LinkNotFoundError |
1259 | 121 | >>> user_browser.open( | 118 | >>> user_browser.open( |
1260 | 122 | ... 'http://blueprints.launchpad.test/firefox/+spec/canvas/' | 119 | ... 'http://blueprints.launchpad.test/firefox/+spec/canvas/' |
1261 | 123 | ... '+removedependency') | 120 | ... '+removedependency') |
1262 | 124 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1263 | 125 | Traceback (most recent call last): | 121 | Traceback (most recent call last): |
1264 | 126 | ... | 122 | ... |
1265 | 127 | zope.security.interfaces.Unauthorized: ... | 123 | zope.security.interfaces.Unauthorized: ... |
1266 | diff --git a/lib/lp/blueprints/stories/blueprints/xx-editing.txt b/lib/lp/blueprints/stories/blueprints/xx-editing.txt | |||
1267 | index cf0a920..8c9009b 100644 | |||
1268 | --- a/lib/lp/blueprints/stories/blueprints/xx-editing.txt | |||
1269 | +++ b/lib/lp/blueprints/stories/blueprints/xx-editing.txt | |||
1270 | @@ -116,7 +116,6 @@ Any logged in user can edit a specification whiteboard. | |||
1271 | 116 | Regular users can't access the change status page. | 116 | Regular users can't access the change status page. |
1272 | 117 | 117 | ||
1273 | 118 | >>> user_browser.getLink(url='+status') | 118 | >>> user_browser.getLink(url='+status') |
1274 | 119 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1275 | 120 | Traceback (most recent call last): | 119 | Traceback (most recent call last): |
1276 | 121 | ... | 120 | ... |
1277 | 122 | zope.testbrowser.browser.LinkNotFoundError | 121 | zope.testbrowser.browser.LinkNotFoundError |
1278 | @@ -124,7 +123,6 @@ Regular users can't access the change status page. | |||
1279 | 124 | >>> user_browser.open( | 123 | >>> user_browser.open( |
1280 | 125 | ... 'http://blueprints.launchpad.test/kubuntu/' | 124 | ... 'http://blueprints.launchpad.test/kubuntu/' |
1281 | 126 | ... '+spec/krunch-desktop-plan/+status') | 125 | ... '+spec/krunch-desktop-plan/+status') |
1282 | 127 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1283 | 128 | Traceback (most recent call last): | 126 | Traceback (most recent call last): |
1284 | 129 | ... | 127 | ... |
1285 | 130 | zope.security.interfaces.Unauthorized: ... | 128 | zope.security.interfaces.Unauthorized: ... |
1286 | @@ -135,7 +133,6 @@ Nor can they change a blueprint's priority. | |||
1287 | 135 | ... 'http://blueprints.launchpad.test/kubuntu/' | 133 | ... 'http://blueprints.launchpad.test/kubuntu/' |
1288 | 136 | ... '+spec/krunch-desktop-plan') | 134 | ... '+spec/krunch-desktop-plan') |
1289 | 137 | >>> user_browser.getLink(url='+priority') | 135 | >>> user_browser.getLink(url='+priority') |
1290 | 138 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1291 | 139 | Traceback (most recent call last): | 136 | Traceback (most recent call last): |
1292 | 140 | ... | 137 | ... |
1293 | 141 | zope.testbrowser.browser.LinkNotFoundError | 138 | zope.testbrowser.browser.LinkNotFoundError |
1294 | diff --git a/lib/lp/blueprints/stories/sprints/sprint-settopics.txt b/lib/lp/blueprints/stories/sprints/sprint-settopics.txt | |||
1295 | index d0185b9..a0a0775 100644 | |||
1296 | --- a/lib/lp/blueprints/stories/sprints/sprint-settopics.txt | |||
1297 | +++ b/lib/lp/blueprints/stories/sprints/sprint-settopics.txt | |||
1298 | @@ -23,21 +23,18 @@ Regular users can't approve items to be discussed in a sprint. | |||
1299 | 23 | 23 | ||
1300 | 24 | >>> user_browser.open('http://launchpad.test/sprints/uds-guacamole') | 24 | >>> user_browser.open('http://launchpad.test/sprints/uds-guacamole') |
1301 | 25 | >>> user_browser.getLink('proposed') | 25 | >>> user_browser.getLink('proposed') |
1302 | 26 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1303 | 27 | Traceback (most recent call last): | 26 | Traceback (most recent call last): |
1304 | 28 | ... | 27 | ... |
1305 | 29 | zope.testbrowser.browser.LinkNotFoundError | 28 | zope.testbrowser.browser.LinkNotFoundError |
1306 | 30 | 29 | ||
1307 | 31 | >>> user_browser.getLink('Blueprints').click() | 30 | >>> user_browser.getLink('Blueprints').click() |
1308 | 32 | >>> user_browser.getLink('Set agenda').click() | 31 | >>> user_browser.getLink('Set agenda').click() |
1309 | 33 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1310 | 34 | Traceback (most recent call last): | 32 | Traceback (most recent call last): |
1311 | 35 | ... | 33 | ... |
1312 | 36 | zope.testbrowser.browser.LinkNotFoundError | 34 | zope.testbrowser.browser.LinkNotFoundError |
1313 | 37 | 35 | ||
1314 | 38 | >>> user_browser.open( | 36 | >>> user_browser.open( |
1315 | 39 | ... 'http://launchpad.test/sprints/uds-guacamole/+settopics') | 37 | ... 'http://launchpad.test/sprints/uds-guacamole/+settopics') |
1316 | 40 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1317 | 41 | Traceback (most recent call last): | 38 | Traceback (most recent call last): |
1318 | 42 | ... | 39 | ... |
1319 | 43 | zope.security.interfaces.Unauthorized: ... | 40 | zope.security.interfaces.Unauthorized: ... |
1320 | diff --git a/lib/lp/blueprints/stories/sprints/xx-sprints.txt b/lib/lp/blueprints/stories/sprints/xx-sprints.txt | |||
1321 | index 0068d91..ea2e537 100644 | |||
1322 | --- a/lib/lp/blueprints/stories/sprints/xx-sprints.txt | |||
1323 | +++ b/lib/lp/blueprints/stories/sprints/xx-sprints.txt | |||
1324 | @@ -174,7 +174,6 @@ available to those who have permissions to edit that sprint. | |||
1325 | 174 | Ubuntu Below Zero : Meetings | 174 | Ubuntu Below Zero : Meetings |
1326 | 175 | 175 | ||
1327 | 176 | >>> anon_browser.getLink('Change details') | 176 | >>> anon_browser.getLink('Change details') |
1328 | 177 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1329 | 178 | Traceback (most recent call last): | 177 | Traceback (most recent call last): |
1330 | 179 | ... | 178 | ... |
1331 | 180 | zope.testbrowser.browser.LinkNotFoundError | 179 | zope.testbrowser.browser.LinkNotFoundError |
1332 | @@ -498,13 +497,11 @@ Unregistered and anonymous users cannot access the CSV report. | |||
1333 | 498 | 497 | ||
1334 | 499 | >>> user_browser.open('http://launchpad.test/sprints/ubz') | 498 | >>> user_browser.open('http://launchpad.test/sprints/ubz') |
1335 | 500 | >>> user_browser.getLink('Export attendees to CSV').click() | 499 | >>> user_browser.getLink('Export attendees to CSV').click() |
1336 | 501 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1337 | 502 | Traceback (most recent call last): | 500 | Traceback (most recent call last): |
1338 | 503 | ... | 501 | ... |
1339 | 504 | zope.testbrowser.browser.LinkNotFoundError | 502 | zope.testbrowser.browser.LinkNotFoundError |
1340 | 505 | 503 | ||
1341 | 506 | >>> anon_browser.open('http://launchpad.test/sprints/ubz/+attendees-csv') | 504 | >>> anon_browser.open('http://launchpad.test/sprints/ubz/+attendees-csv') |
1342 | 507 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1343 | 508 | Traceback (most recent call last): | 505 | Traceback (most recent call last): |
1344 | 509 | ... | 506 | ... |
1345 | 510 | zope.security.interfaces.Unauthorized: ... | 507 | zope.security.interfaces.Unauthorized: ... |
1346 | diff --git a/lib/lp/blueprints/stories/standalone/subscribing.txt b/lib/lp/blueprints/stories/standalone/subscribing.txt | |||
1347 | index f3feaef..beab847 100644 | |||
1348 | --- a/lib/lp/blueprints/stories/standalone/subscribing.txt | |||
1349 | +++ b/lib/lp/blueprints/stories/standalone/subscribing.txt | |||
1350 | @@ -18,7 +18,6 @@ First, let's make sure we can see the link called "Subscribe..." | |||
1351 | 18 | If I try to go to the subscription page I will be told to login. | 18 | If I try to go to the subscription page I will be told to login. |
1352 | 19 | 19 | ||
1353 | 20 | >>> subscribe_link.click() | 20 | >>> subscribe_link.click() |
1354 | 21 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1355 | 22 | Traceback (most recent call last): | 21 | Traceback (most recent call last): |
1356 | 23 | ... | 22 | ... |
1357 | 24 | zope.security.interfaces.Unauthorized: ...AnyP... | 23 | zope.security.interfaces.Unauthorized: ...AnyP... |
1358 | diff --git a/lib/lp/blueprints/stories/standalone/xx-branch-links.txt b/lib/lp/blueprints/stories/standalone/xx-branch-links.txt | |||
1359 | index f95f051..9af766c 100644 | |||
1360 | --- a/lib/lp/blueprints/stories/standalone/xx-branch-links.txt | |||
1361 | +++ b/lib/lp/blueprints/stories/standalone/xx-branch-links.txt | |||
1362 | @@ -19,7 +19,6 @@ If the user is not logged in, they will be asked to log in. | |||
1363 | 19 | >>> anon_browser.open( | 19 | >>> anon_browser.open( |
1364 | 20 | ... 'http://code.launchpad.test/~name12/firefox/main') | 20 | ... 'http://code.launchpad.test/~name12/firefox/main') |
1365 | 21 | >>> anon_browser.getLink('Link to a blueprint').click() | 21 | >>> anon_browser.getLink('Link to a blueprint').click() |
1366 | 22 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1367 | 23 | Traceback (most recent call last): | 22 | Traceback (most recent call last): |
1368 | 24 | ... | 23 | ... |
1369 | 25 | zope.security.interfaces.Unauthorized: (...launchpad.AnyPerson') | 24 | zope.security.interfaces.Unauthorized: (...launchpad.AnyPerson') |
1370 | diff --git a/lib/lp/blueprints/stories/standalone/xx-views.txt b/lib/lp/blueprints/stories/standalone/xx-views.txt | |||
1371 | index 570fa1d..05bec72 100644 | |||
1372 | --- a/lib/lp/blueprints/stories/standalone/xx-views.txt | |||
1373 | +++ b/lib/lp/blueprints/stories/standalone/xx-views.txt | |||
1374 | @@ -223,7 +223,6 @@ second blueprint is no longer visible: | |||
1375 | 223 | >>> browser.getLink('blueprint-1') | 223 | >>> browser.getLink('blueprint-1') |
1376 | 224 | <Link... | 224 | <Link... |
1377 | 225 | >>> browser.getLink('blueprint-2') | 225 | >>> browser.getLink('blueprint-2') |
1378 | 226 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1379 | 227 | Traceback (most recent call last): | 226 | Traceback (most recent call last): |
1380 | 228 | ... | 227 | ... |
1381 | 229 | zope.testbrowser.browser.LinkNotFoundError | 228 | zope.testbrowser.browser.LinkNotFoundError |
1382 | diff --git a/lib/lp/bugs/doc/bug-change.txt b/lib/lp/bugs/doc/bug-change.txt | |||
1383 | index f51c352..3e6acb7 100644 | |||
1384 | --- a/lib/lp/bugs/doc/bug-change.txt | |||
1385 | +++ b/lib/lp/bugs/doc/bug-change.txt | |||
1386 | @@ -208,7 +208,6 @@ If get_bug_change_class() is asked for a BugChange for an object or | |||
1387 | 208 | field that it doesn't know about, it will raise a NoBugChangeFoundError. | 208 | field that it doesn't know about, it will raise a NoBugChangeFoundError. |
1388 | 209 | 209 | ||
1389 | 210 | >>> get_bug_change_class(object(), 'fooix') | 210 | >>> get_bug_change_class(object(), 'fooix') |
1390 | 211 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1391 | 212 | Traceback (most recent call last): | 211 | Traceback (most recent call last): |
1392 | 213 | ... | 212 | ... |
1393 | 214 | lp.bugs.adapters.bugchange.NoBugChangeFoundError: Unable to find a suitable BugChange for field 'fooix' on object <object object at ...> | 213 | lp.bugs.adapters.bugchange.NoBugChangeFoundError: Unable to find a suitable BugChange for field 'fooix' on object <object object at ...> |
1394 | diff --git a/lib/lp/bugs/doc/bug-reported-acknowledgement.txt b/lib/lp/bugs/doc/bug-reported-acknowledgement.txt | |||
1395 | index 393b23b..cdb4ebd 100644 | |||
1396 | --- a/lib/lp/bugs/doc/bug-reported-acknowledgement.txt | |||
1397 | +++ b/lib/lp/bugs/doc/bug-reported-acknowledgement.txt | |||
1398 | @@ -54,19 +54,16 @@ read-only property, and the security proxies also only allow read | |||
1399 | 54 | access. | 54 | access. |
1400 | 55 | 55 | ||
1401 | 56 | >>> distro_series.bug_reported_acknowledgement = 'Foobar' | 56 | >>> distro_series.bug_reported_acknowledgement = 'Foobar' |
1402 | 57 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1403 | 58 | Traceback (most recent call last): | 57 | Traceback (most recent call last): |
1404 | 59 | ... | 58 | ... |
1405 | 60 | zope.security.interfaces.ForbiddenAttribute: ... | 59 | zope.security.interfaces.ForbiddenAttribute: ... |
1406 | 61 | 60 | ||
1407 | 62 | >>> source_package.bug_reported_acknowledgement = 'Foobar' | 61 | >>> source_package.bug_reported_acknowledgement = 'Foobar' |
1408 | 63 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1409 | 64 | Traceback (most recent call last): | 62 | Traceback (most recent call last): |
1410 | 65 | ... | 63 | ... |
1411 | 66 | zope.security.interfaces.ForbiddenAttribute: ... | 64 | zope.security.interfaces.ForbiddenAttribute: ... |
1412 | 67 | 65 | ||
1413 | 68 | >>> product_series.bug_reported_acknowledgement = 'Foobar' | 66 | >>> product_series.bug_reported_acknowledgement = 'Foobar' |
1414 | 69 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1415 | 70 | Traceback (most recent call last): | 67 | Traceback (most recent call last): |
1416 | 71 | ... | 68 | ... |
1417 | 72 | zope.security.interfaces.ForbiddenAttribute: ... | 69 | zope.security.interfaces.ForbiddenAttribute: ... |
1418 | @@ -88,25 +85,21 @@ message. | |||
1419 | 88 | ... print(context.bug_reported_acknowledgement) | 85 | ... print(context.bug_reported_acknowledgement) |
1420 | 89 | 86 | ||
1421 | 90 | >>> check_access("no-priv@canonical.com", distribution) | 87 | >>> check_access("no-priv@canonical.com", distribution) |
1422 | 91 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1423 | 92 | Traceback (most recent call last): | 88 | Traceback (most recent call last): |
1424 | 93 | ... | 89 | ... |
1425 | 94 | zope.security.interfaces.Unauthorized: ... | 90 | zope.security.interfaces.Unauthorized: ... |
1426 | 95 | 91 | ||
1427 | 96 | >>> check_access("no-priv@canonical.com", distribution_source_package) | 92 | >>> check_access("no-priv@canonical.com", distribution_source_package) |
1428 | 97 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1429 | 98 | Traceback (most recent call last): | 93 | Traceback (most recent call last): |
1430 | 99 | ... | 94 | ... |
1431 | 100 | zope.security.interfaces.Unauthorized: ... | 95 | zope.security.interfaces.Unauthorized: ... |
1432 | 101 | 96 | ||
1433 | 102 | >>> check_access("no-priv@canonical.com", project) | 97 | >>> check_access("no-priv@canonical.com", project) |
1434 | 103 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1435 | 104 | Traceback (most recent call last): | 98 | Traceback (most recent call last): |
1436 | 105 | ... | 99 | ... |
1437 | 106 | zope.security.interfaces.Unauthorized: ... | 100 | zope.security.interfaces.Unauthorized: ... |
1438 | 107 | 101 | ||
1439 | 108 | >>> check_access("no-priv@canonical.com", product) | 102 | >>> check_access("no-priv@canonical.com", product) |
1440 | 109 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1441 | 110 | Traceback (most recent call last): | 103 | Traceback (most recent call last): |
1442 | 111 | ... | 104 | ... |
1443 | 112 | zope.security.interfaces.Unauthorized: ... | 105 | zope.security.interfaces.Unauthorized: ... |
1444 | diff --git a/lib/lp/bugs/doc/bug-reporting-guidelines.txt b/lib/lp/bugs/doc/bug-reporting-guidelines.txt | |||
1445 | index 44cb6c4..a89f692 100644 | |||
1446 | --- a/lib/lp/bugs/doc/bug-reporting-guidelines.txt | |||
1447 | +++ b/lib/lp/bugs/doc/bug-reporting-guidelines.txt | |||
1448 | @@ -53,19 +53,16 @@ read-only property, and the security proxies also only allow read | |||
1449 | 53 | access. | 53 | access. |
1450 | 54 | 54 | ||
1451 | 55 | >>> distro_series.bug_reporting_guidelines = 'Foobar' | 55 | >>> distro_series.bug_reporting_guidelines = 'Foobar' |
1452 | 56 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1453 | 57 | Traceback (most recent call last): | 56 | Traceback (most recent call last): |
1454 | 58 | ... | 57 | ... |
1455 | 59 | zope.security.interfaces.ForbiddenAttribute: ... | 58 | zope.security.interfaces.ForbiddenAttribute: ... |
1456 | 60 | 59 | ||
1457 | 61 | >>> source_package.bug_reporting_guidelines = 'Foobar' | 60 | >>> source_package.bug_reporting_guidelines = 'Foobar' |
1458 | 62 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1459 | 63 | Traceback (most recent call last): | 61 | Traceback (most recent call last): |
1460 | 64 | ... | 62 | ... |
1461 | 65 | zope.security.interfaces.ForbiddenAttribute: ... | 63 | zope.security.interfaces.ForbiddenAttribute: ... |
1462 | 66 | 64 | ||
1463 | 67 | >>> product_series.bug_reporting_guidelines = 'Foobar' | 65 | >>> product_series.bug_reporting_guidelines = 'Foobar' |
1464 | 68 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1465 | 69 | Traceback (most recent call last): | 66 | Traceback (most recent call last): |
1466 | 70 | ... | 67 | ... |
1467 | 71 | zope.security.interfaces.ForbiddenAttribute: ... | 68 | zope.security.interfaces.ForbiddenAttribute: ... |
1468 | @@ -87,25 +84,21 @@ guidelines. | |||
1469 | 87 | ... print(context.bug_reporting_guidelines) | 84 | ... print(context.bug_reporting_guidelines) |
1470 | 88 | 85 | ||
1471 | 89 | >>> check_access("no-priv@canonical.com", distribution) | 86 | >>> check_access("no-priv@canonical.com", distribution) |
1472 | 90 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1473 | 91 | Traceback (most recent call last): | 87 | Traceback (most recent call last): |
1474 | 92 | ... | 88 | ... |
1475 | 93 | zope.security.interfaces.Unauthorized: ... | 89 | zope.security.interfaces.Unauthorized: ... |
1476 | 94 | 90 | ||
1477 | 95 | >>> check_access("no-priv@canonical.com", distribution_source_package) | 91 | >>> check_access("no-priv@canonical.com", distribution_source_package) |
1478 | 96 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1479 | 97 | Traceback (most recent call last): | 92 | Traceback (most recent call last): |
1480 | 98 | ... | 93 | ... |
1481 | 99 | zope.security.interfaces.Unauthorized: ... | 94 | zope.security.interfaces.Unauthorized: ... |
1482 | 100 | 95 | ||
1483 | 101 | >>> check_access("no-priv@canonical.com", project) | 96 | >>> check_access("no-priv@canonical.com", project) |
1484 | 102 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1485 | 103 | Traceback (most recent call last): | 97 | Traceback (most recent call last): |
1486 | 104 | ... | 98 | ... |
1487 | 105 | zope.security.interfaces.Unauthorized: ... | 99 | zope.security.interfaces.Unauthorized: ... |
1488 | 106 | 100 | ||
1489 | 107 | >>> check_access("no-priv@canonical.com", product) | 101 | >>> check_access("no-priv@canonical.com", product) |
1490 | 108 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1491 | 109 | Traceback (most recent call last): | 102 | Traceback (most recent call last): |
1492 | 110 | ... | 103 | ... |
1493 | 111 | zope.security.interfaces.Unauthorized: ... | 104 | zope.security.interfaces.Unauthorized: ... |
1494 | diff --git a/lib/lp/bugs/doc/bug-tags.txt b/lib/lp/bugs/doc/bug-tags.txt | |||
1495 | index b6aee57..ab49131 100644 | |||
1496 | --- a/lib/lp/bugs/doc/bug-tags.txt | |||
1497 | +++ b/lib/lp/bugs/doc/bug-tags.txt | |||
1498 | @@ -138,7 +138,6 @@ wrong. | |||
1499 | 138 | >>> request = LaunchpadTestRequest(form={'field.tags': u'!!!! foo $$$$'}) | 138 | >>> request = LaunchpadTestRequest(form={'field.tags': u'!!!! foo $$$$'}) |
1500 | 139 | >>> tags_widget = BugTagsWidget(bug_tags_field, tag_field, request) | 139 | >>> tags_widget = BugTagsWidget(bug_tags_field, tag_field, request) |
1501 | 140 | >>> tags_widget.getInputValue() | 140 | >>> tags_widget.getInputValue() |
1502 | 141 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1503 | 142 | Traceback (most recent call last): | 141 | Traceback (most recent call last): |
1504 | 143 | ... | 142 | ... |
1505 | 144 | zope.formlib.interfaces.WidgetInputError: ... | 143 | zope.formlib.interfaces.WidgetInputError: ... |
1506 | diff --git a/lib/lp/bugs/doc/bug.txt b/lib/lp/bugs/doc/bug.txt | |||
1507 | index 41d48d0..7ca7d2b 100644 | |||
1508 | --- a/lib/lp/bugs/doc/bug.txt | |||
1509 | +++ b/lib/lp/bugs/doc/bug.txt | |||
1510 | @@ -29,13 +29,12 @@ Or you can use IBugSet.getByNameOrID to get it by its nickname: | |||
1511 | 29 | If the bug can't be found, a zope.exceptions.NotFoundError will be | 29 | If the bug can't be found, a zope.exceptions.NotFoundError will be |
1512 | 30 | raised: | 30 | raised: |
1513 | 31 | 31 | ||
1515 | 32 | >>> bugset.get(123456) # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 32 | >>> bugset.get(123456) |
1516 | 33 | Traceback (most recent call last): | 33 | Traceback (most recent call last): |
1517 | 34 | ... | 34 | ... |
1518 | 35 | lp.app.errors.NotFoundError: 'Unable to locate bug with ID 123456.' | 35 | lp.app.errors.NotFoundError: 'Unable to locate bug with ID 123456.' |
1519 | 36 | 36 | ||
1520 | 37 | >>> bugset.getByNameOrID('+bugs') | 37 | >>> bugset.getByNameOrID('+bugs') |
1521 | 38 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1522 | 39 | Traceback (most recent call last): | 38 | Traceback (most recent call last): |
1523 | 40 | ... | 39 | ... |
1524 | 41 | lp.app.errors.NotFoundError: ...'Unable to locate bug with nickname +bugs.' | 40 | lp.app.errors.NotFoundError: ...'Unable to locate bug with nickname +bugs.' |
1525 | @@ -176,13 +175,11 @@ private. A bug cannot be made private by an anonymous user. | |||
1526 | 176 | ... return getUtility(ILaunchBag).user | 175 | ... return getUtility(ILaunchBag).user |
1527 | 177 | 176 | ||
1528 | 178 | >>> firefox_crashes.private = True | 177 | >>> firefox_crashes.private = True |
1529 | 179 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1530 | 180 | Traceback (most recent call last): | 178 | Traceback (most recent call last): |
1531 | 181 | ... | 179 | ... |
1532 | 182 | zope.security.interfaces.ForbiddenAttribute: ('private', ...) | 180 | zope.security.interfaces.ForbiddenAttribute: ('private', ...) |
1533 | 183 | 181 | ||
1534 | 184 | >>> firefox_crashes.setPrivate(True, current_user()) | 182 | >>> firefox_crashes.setPrivate(True, current_user()) |
1535 | 185 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1536 | 186 | Traceback (most recent call last): | 183 | Traceback (most recent call last): |
1537 | 187 | ... | 184 | ... |
1538 | 188 | zope.security.interfaces.Unauthorized: (..., 'setPrivate', 'launchpad.Append') | 185 | zope.security.interfaces.Unauthorized: (..., 'setPrivate', 'launchpad.Append') |
1539 | @@ -208,7 +205,6 @@ Even though we are logged in and subscribed to the bug, we are | |||
1540 | 208 | prevented from using the private attribute to mark bug #6 private: | 205 | prevented from using the private attribute to mark bug #6 private: |
1541 | 209 | 206 | ||
1542 | 210 | >>> firefox_crashes.private = True | 207 | >>> firefox_crashes.private = True |
1543 | 211 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1544 | 212 | Traceback (most recent call last): | 208 | Traceback (most recent call last): |
1545 | 213 | ... | 209 | ... |
1546 | 214 | zope.security.interfaces.ForbiddenAttribute: ('private', ...) | 210 | zope.security.interfaces.ForbiddenAttribute: ('private', ...) |
1547 | @@ -337,7 +333,6 @@ Trying to access a property of this bug will again raise an | |||
1548 | 337 | Unauthorized: | 333 | Unauthorized: |
1549 | 338 | 334 | ||
1550 | 339 | >>> reflow_problems_bug.title | 335 | >>> reflow_problems_bug.title |
1551 | 340 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1552 | 341 | Traceback (most recent call last): | 336 | Traceback (most recent call last): |
1553 | 342 | ... | 337 | ... |
1554 | 343 | zope.security.interfaces.Unauthorized: (..., 'title', 'launchpad.View') | 338 | zope.security.interfaces.Unauthorized: (..., 'title', 'launchpad.View') |
1555 | diff --git a/lib/lp/bugs/doc/bugattachments.txt b/lib/lp/bugs/doc/bugattachments.txt | |||
1556 | index 3e58d5f..5a96419 100644 | |||
1557 | --- a/lib/lp/bugs/doc/bugattachments.txt | |||
1558 | +++ b/lib/lp/bugs/doc/bugattachments.txt | |||
1559 | @@ -313,7 +313,6 @@ anonymous can read the attachment's attributes, but they can't set them: | |||
1560 | 313 | >>> print(attachment.title) | 313 | >>> print(attachment.title) |
1561 | 314 | this fixes the bug | 314 | this fixes the bug |
1562 | 315 | >>> attachment.title = 'Better Title' | 315 | >>> attachment.title = 'Better Title' |
1563 | 316 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1564 | 317 | Traceback (most recent call last): | 316 | Traceback (most recent call last): |
1565 | 318 | ... | 317 | ... |
1566 | 319 | zope.security.interfaces.Unauthorized: (..., 'title',... | 318 | zope.security.interfaces.Unauthorized: (..., 'title',... |
1567 | @@ -347,12 +346,10 @@ attachments attributes: | |||
1568 | 347 | >>> login("no-priv@canonical.com") | 346 | >>> login("no-priv@canonical.com") |
1569 | 348 | 347 | ||
1570 | 349 | >>> attachment.title | 348 | >>> attachment.title |
1571 | 350 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1572 | 351 | Traceback (most recent call last): | 349 | Traceback (most recent call last): |
1573 | 352 | ... | 350 | ... |
1574 | 353 | zope.security.interfaces.Unauthorized: (..., 'title',... | 351 | zope.security.interfaces.Unauthorized: (..., 'title',... |
1575 | 354 | >>> attachment.title = 'Better Title' | 352 | >>> attachment.title = 'Better Title' |
1576 | 355 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1577 | 356 | Traceback (most recent call last): | 353 | Traceback (most recent call last): |
1578 | 357 | ... | 354 | ... |
1579 | 358 | zope.security.interfaces.Unauthorized: (..., 'title',... | 355 | zope.security.interfaces.Unauthorized: (..., 'title',... |
1580 | @@ -360,12 +357,11 @@ attachments attributes: | |||
1581 | 360 | Of course, anonymous is also not allowed to access or set them: | 357 | Of course, anonymous is also not allowed to access or set them: |
1582 | 361 | 358 | ||
1583 | 362 | >>> login(ANONYMOUS) | 359 | >>> login(ANONYMOUS) |
1585 | 363 | >>> attachment.title # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 360 | >>> attachment.title |
1586 | 364 | Traceback (most recent call last): | 361 | Traceback (most recent call last): |
1587 | 365 | ... | 362 | ... |
1588 | 366 | zope.security.interfaces.Unauthorized: (..., 'title',... | 363 | zope.security.interfaces.Unauthorized: (..., 'title',... |
1589 | 367 | >>> attachment.title = 'Some info.' | 364 | >>> attachment.title = 'Some info.' |
1590 | 368 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1591 | 369 | Traceback (most recent call last): | 365 | Traceback (most recent call last): |
1592 | 370 | ... | 366 | ... |
1593 | 371 | zope.security.interfaces.Unauthorized: (..., 'title',... | 367 | zope.security.interfaces.Unauthorized: (..., 'title',... |
1594 | @@ -666,7 +662,6 @@ A NotFoundError is raised if the file name passed to getFileByName() | |||
1595 | 666 | does not match the file name of the Librarian file. | 662 | does not match the file name of the Librarian file. |
1596 | 667 | 663 | ||
1597 | 668 | >>> attachment.getFileByName('nonsense') | 664 | >>> attachment.getFileByName('nonsense') |
1598 | 669 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1599 | 670 | Traceback (most recent call last): | 665 | Traceback (most recent call last): |
1600 | 671 | ... | 666 | ... |
1601 | 672 | lp.app.errors.NotFoundError: ...'nonsense' | 667 | lp.app.errors.NotFoundError: ...'nonsense' |
1602 | diff --git a/lib/lp/bugs/doc/bugmessage-visibility.txt b/lib/lp/bugs/doc/bugmessage-visibility.txt | |||
1603 | index 43c683e..44f65e0 100644 | |||
1604 | --- a/lib/lp/bugs/doc/bugmessage-visibility.txt | |||
1605 | +++ b/lib/lp/bugs/doc/bugmessage-visibility.txt | |||
1606 | @@ -43,7 +43,6 @@ field. | |||
1607 | 43 | >>> abugmessage.message.visible | 43 | >>> abugmessage.message.visible |
1608 | 44 | False | 44 | False |
1609 | 45 | >>> abugmessage.message.visible = True | 45 | >>> abugmessage.message.visible = True |
1610 | 46 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1611 | 47 | Traceback (most recent call last): | 46 | Traceback (most recent call last): |
1612 | 48 | ... | 47 | ... |
1613 | 49 | zope.security.interfaces.Unauthorized: (<Message at ...>, 'visible', 'launchpad.Admin') | 48 | zope.security.interfaces.Unauthorized: (<Message at ...>, 'visible', 'launchpad.Admin') |
1614 | diff --git a/lib/lp/bugs/doc/bugsubscription.txt b/lib/lp/bugs/doc/bugsubscription.txt | |||
1615 | index bf6b69b..4b175ab 100644 | |||
1616 | --- a/lib/lp/bugs/doc/bugsubscription.txt | |||
1617 | +++ b/lib/lp/bugs/doc/bugsubscription.txt | |||
1618 | @@ -560,7 +560,6 @@ that the unsubscribing user has the appropriate permissions. unsubscribe | |||
1619 | 560 | will raise an exception if the user does not have permission. | 560 | will raise an exception if the user does not have permission. |
1620 | 561 | 561 | ||
1621 | 562 | >>> bug.unsubscribe(team, non_member) | 562 | >>> bug.unsubscribe(team, non_member) |
1622 | 563 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1623 | 564 | Traceback (most recent call last): | 563 | Traceback (most recent call last): |
1624 | 565 | ... | 564 | ... |
1625 | 566 | lp.app.errors.UserCannotUnsubscribePerson: ... | 565 | lp.app.errors.UserCannotUnsubscribePerson: ... |
1626 | diff --git a/lib/lp/bugs/doc/bugtask-assignee-widget.txt b/lib/lp/bugs/doc/bugtask-assignee-widget.txt | |||
1627 | index 5bc18d6..cb4a0d2 100644 | |||
1628 | --- a/lib/lp/bugs/doc/bugtask-assignee-widget.txt | |||
1629 | +++ b/lib/lp/bugs/doc/bugtask-assignee-widget.txt | |||
1630 | @@ -129,7 +129,7 @@ The chooser widget got its name updated as well. | |||
1631 | 129 | If this option is selected, but no value is entered in | 129 | If this option is selected, but no value is entered in |
1632 | 130 | "field.assignee", validation will fail: | 130 | "field.assignee", validation will fail: |
1633 | 131 | 131 | ||
1635 | 132 | >>> widget.validate() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 132 | >>> widget.validate() |
1636 | 133 | Traceback (most recent call last): | 133 | Traceback (most recent call last): |
1637 | 134 | ... | 134 | ... |
1638 | 135 | zope.formlib.interfaces.WidgetInputError: ... | 135 | zope.formlib.interfaces.WidgetInputError: ... |
1639 | @@ -138,7 +138,7 @@ Likewise, if a non-existent field.assignee is provided, the validation | |||
1640 | 138 | will fail: | 138 | will fail: |
1641 | 139 | 139 | ||
1642 | 140 | >>> request.form['foo.assignee'] = 'name' | 140 | >>> request.form['foo.assignee'] = 'name' |
1644 | 141 | >>> widget.validate() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 141 | >>> widget.validate() |
1645 | 142 | Traceback (most recent call last): | 142 | Traceback (most recent call last): |
1646 | 143 | ... | 143 | ... |
1647 | 144 | zope.formlib.interfaces.WidgetInputError: ... | 144 | zope.formlib.interfaces.WidgetInputError: ... |
1648 | diff --git a/lib/lp/bugs/doc/bugtask-bugwatch-widget.txt b/lib/lp/bugs/doc/bugtask-bugwatch-widget.txt | |||
1649 | index 2fd1524..d247fd1 100644 | |||
1650 | --- a/lib/lp/bugs/doc/bugtask-bugwatch-widget.txt | |||
1651 | +++ b/lib/lp/bugs/doc/bugtask-bugwatch-widget.txt | |||
1652 | @@ -159,7 +159,6 @@ a WidgetInputError is being raised. | |||
1653 | 159 | ... bugwatch_field, bugwatch_field.vocabulary, request) | 159 | ... bugwatch_field, bugwatch_field.vocabulary, request) |
1654 | 160 | 160 | ||
1655 | 161 | >>> bugwatch = bugwatch_widget.getInputValue() | 161 | >>> bugwatch = bugwatch_widget.getInputValue() |
1656 | 162 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1657 | 163 | Traceback (most recent call last): | 162 | Traceback (most recent call last): |
1658 | 164 | ... | 163 | ... |
1659 | 165 | zope.formlib.interfaces.WidgetInputError: ... | 164 | zope.formlib.interfaces.WidgetInputError: ... |
1660 | diff --git a/lib/lp/bugs/doc/bugtask-package-widget.txt b/lib/lp/bugs/doc/bugtask-package-widget.txt | |||
1661 | index 81722bb..266e62c 100644 | |||
1662 | --- a/lib/lp/bugs/doc/bugtask-package-widget.txt | |||
1663 | +++ b/lib/lp/bugs/doc/bugtask-package-widget.txt | |||
1664 | @@ -71,7 +71,6 @@ NotFoundError. | |||
1665 | 71 | 71 | ||
1666 | 72 | >>> gentoo = getUtility(IDistributionSet)['gentoo'] | 72 | >>> gentoo = getUtility(IDistributionSet)['gentoo'] |
1667 | 73 | >>> gentoo.guessPublishedSourcePackageName('evolution') | 73 | >>> gentoo.guessPublishedSourcePackageName('evolution') |
1668 | 74 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1669 | 75 | Traceback (most recent call last): | 74 | Traceback (most recent call last): |
1670 | 76 | ... | 75 | ... |
1671 | 77 | lp.app.errors.NotFoundError: ... | 76 | lp.app.errors.NotFoundError: ... |
1672 | @@ -100,7 +99,7 @@ ConversionError saying that the package name doesn't exist. | |||
1673 | 100 | ... form={'field.sourcepackagename': 'no-package'}) | 99 | ... form={'field.sourcepackagename': 'no-package'}) |
1674 | 101 | >>> widget = BugTaskSourcePackageNameWidget( | 100 | >>> widget = BugTaskSourcePackageNameWidget( |
1675 | 102 | ... package_field, package_field.vocabulary, request) | 101 | ... package_field, package_field.vocabulary, request) |
1677 | 103 | >>> widget.getInputValue() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 102 | >>> widget.getInputValue() |
1678 | 104 | Traceback (most recent call last): | 103 | Traceback (most recent call last): |
1679 | 105 | ... | 104 | ... |
1680 | 106 | zope.formlib.interfaces.ConversionError: ... | 105 | zope.formlib.interfaces.ConversionError: ... |
1681 | @@ -133,7 +132,6 @@ name isn't the name of a distro, UnexpectedFormData is raised. | |||
1682 | 133 | >>> BugTaskAlsoAffectsSourcePackageNameWidget( | 132 | >>> BugTaskAlsoAffectsSourcePackageNameWidget( |
1683 | 134 | ... package_field, package_field.vocabulary, | 133 | ... package_field, package_field.vocabulary, |
1684 | 135 | ... request).getDistribution().name | 134 | ... request).getDistribution().name |
1685 | 136 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1686 | 137 | Traceback (most recent call last): | 135 | Traceback (most recent call last): |
1687 | 138 | ... | 136 | ... |
1688 | 139 | lp.app.errors.UnexpectedFormData: ... | 137 | lp.app.errors.UnexpectedFormData: ... |
1689 | @@ -200,7 +198,6 @@ contain, so IDistribution.guessPublishedSourcePackageName will raise a | |||
1690 | 200 | NotFoundError. | 198 | NotFoundError. |
1691 | 201 | 199 | ||
1692 | 202 | >>> gentoo_task.distribution.guessPublishedSourcePackageName('evolution') | 200 | >>> gentoo_task.distribution.guessPublishedSourcePackageName('evolution') |
1693 | 203 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1694 | 204 | Traceback (most recent call last): | 201 | Traceback (most recent call last): |
1695 | 205 | ... | 202 | ... |
1696 | 206 | lp.app.errors.NotFoundError: ... | 203 | lp.app.errors.NotFoundError: ... |
1697 | @@ -227,7 +224,7 @@ ConversionError saying that the package name doesn't exist. | |||
1698 | 227 | ... form={'field.packagename': 'no-package'}) | 224 | ... form={'field.packagename': 'no-package'}) |
1699 | 228 | >>> widget = FileBugSourcePackageNameWidget( | 225 | >>> widget = FileBugSourcePackageNameWidget( |
1700 | 229 | ... package_field, package_field.vocabulary, request) | 226 | ... package_field, package_field.vocabulary, request) |
1702 | 230 | >>> widget.getInputValue() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 227 | >>> widget.getInputValue() |
1703 | 231 | Traceback (most recent call last): | 228 | Traceback (most recent call last): |
1704 | 232 | ... | 229 | ... |
1705 | 233 | zope.formlib.interfaces.ConversionError: ... | 230 | zope.formlib.interfaces.ConversionError: ... |
1706 | diff --git a/lib/lp/bugs/doc/bugtask-retrieval.txt b/lib/lp/bugs/doc/bugtask-retrieval.txt | |||
1707 | index 52cc894..287b8cc 100644 | |||
1708 | --- a/lib/lp/bugs/doc/bugtask-retrieval.txt | |||
1709 | +++ b/lib/lp/bugs/doc/bugtask-retrieval.txt | |||
1710 | @@ -35,7 +35,6 @@ When given a bug task ID that doesn't exist in the database, the method | |||
1711 | 35 | raises a NotFoundError: | 35 | raises a NotFoundError: |
1712 | 36 | 36 | ||
1713 | 37 | >>> no_such_task = task_set.get(0) | 37 | >>> no_such_task = task_set.get(0) |
1714 | 38 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1715 | 39 | Traceback (most recent call last): | 38 | Traceback (most recent call last): |
1716 | 40 | ... | 39 | ... |
1717 | 41 | lp.app.errors.NotFoundError: ... | 40 | lp.app.errors.NotFoundError: ... |
1718 | @@ -82,7 +81,7 @@ those bug task IDs that are present in the database: | |||
1719 | 82 | >>> task_set.getMultiple([1, 2]) | 81 | >>> task_set.getMultiple([1, 2]) |
1720 | 83 | {2: <BugTask ...>} | 82 | {2: <BugTask ...>} |
1721 | 84 | 83 | ||
1723 | 85 | >>> task_set.get(1) # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 84 | >>> task_set.get(1) |
1724 | 86 | Traceback (most recent call last): | 85 | Traceback (most recent call last): |
1725 | 87 | ... | 86 | ... |
1726 | 88 | lp.app.errors.NotFoundError: ... | 87 | lp.app.errors.NotFoundError: ... |
1727 | diff --git a/lib/lp/bugs/doc/bugtask-search.txt b/lib/lp/bugs/doc/bugtask-search.txt | |||
1728 | index f00d145..fcbd161 100644 | |||
1729 | --- a/lib/lp/bugs/doc/bugtask-search.txt | |||
1730 | +++ b/lib/lp/bugs/doc/bugtask-search.txt | |||
1731 | @@ -107,7 +107,6 @@ Passing invalid tsquery expressions as fast_searchtext raises an exception. | |||
1732 | 107 | >>> bad_search = BugTaskSearchParams( | 107 | >>> bad_search = BugTaskSearchParams( |
1733 | 108 | ... user=None, fast_searchtext=u'happens pretty often') | 108 | ... user=None, fast_searchtext=u'happens pretty often') |
1734 | 109 | >>> list(firefox.searchTasks(bad_search)) | 109 | >>> list(firefox.searchTasks(bad_search)) |
1735 | 110 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1736 | 111 | Traceback (most recent call last): | 110 | Traceback (most recent call last): |
1737 | 112 | ... | 111 | ... |
1738 | 113 | storm.database.ProgrammingError: syntax error in tsquery: "happens pretty often" ... | 112 | storm.database.ProgrammingError: syntax error in tsquery: "happens pretty often" ... |
1739 | diff --git a/lib/lp/bugs/doc/bugtask-status-changes.txt b/lib/lp/bugs/doc/bugtask-status-changes.txt | |||
1740 | index f7b63f8..c0b3949 100644 | |||
1741 | --- a/lib/lp/bugs/doc/bugtask-status-changes.txt | |||
1742 | +++ b/lib/lp/bugs/doc/bugtask-status-changes.txt | |||
1743 | @@ -32,7 +32,6 @@ other status. | |||
1744 | 32 | 32 | ||
1745 | 33 | >>> ignored = login_person(user) | 33 | >>> ignored = login_person(user) |
1746 | 34 | >>> bugtask.transitionToStatus(BugTaskStatus.CONFIRMED, user) | 34 | >>> bugtask.transitionToStatus(BugTaskStatus.CONFIRMED, user) |
1747 | 35 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1748 | 36 | Traceback (most recent call last): | 35 | Traceback (most recent call last): |
1749 | 37 | ... | 36 | ... |
1750 | 38 | lp.bugs.interfaces.bugtask.UserCannotEditBugTaskStatus: ... | 37 | lp.bugs.interfaces.bugtask.UserCannotEditBugTaskStatus: ... |
1751 | diff --git a/lib/lp/bugs/doc/bugtask-status-workflow.txt b/lib/lp/bugs/doc/bugtask-status-workflow.txt | |||
1752 | index 2ffd3be..3ee347f 100644 | |||
1753 | --- a/lib/lp/bugs/doc/bugtask-status-workflow.txt | |||
1754 | +++ b/lib/lp/bugs/doc/bugtask-status-workflow.txt | |||
1755 | @@ -56,7 +56,6 @@ directly. | |||
1756 | 56 | >>> from lp.bugs.interfaces.bugtask import BugTaskStatus | 56 | >>> from lp.bugs.interfaces.bugtask import BugTaskStatus |
1757 | 57 | 57 | ||
1758 | 58 | >>> ubuntu_firefox_task.status = BugTaskStatus.CONFIRMED | 58 | >>> ubuntu_firefox_task.status = BugTaskStatus.CONFIRMED |
1759 | 59 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1760 | 60 | Traceback (most recent call last): | 59 | Traceback (most recent call last): |
1761 | 61 | ... | 60 | ... |
1762 | 62 | zope.security.interfaces.ForbiddenAttribute: ... | 61 | zope.security.interfaces.ForbiddenAttribute: ... |
1763 | @@ -282,7 +281,6 @@ setting an assignee has "side effects". | |||
1764 | 282 | >>> sample_person = getUtility(IPersonSet).get(12) | 281 | >>> sample_person = getUtility(IPersonSet).get(12) |
1765 | 283 | 282 | ||
1766 | 284 | >>> ubuntu_firefox_task.assignee = foobar | 283 | >>> ubuntu_firefox_task.assignee = foobar |
1767 | 285 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1768 | 286 | Traceback (most recent call last): | 284 | Traceback (most recent call last): |
1769 | 287 | ... | 285 | ... |
1770 | 288 | zope.security.interfaces.ForbiddenAttribute: ... | 286 | zope.security.interfaces.ForbiddenAttribute: ... |
1771 | diff --git a/lib/lp/bugs/doc/bugtracker-person.txt b/lib/lp/bugs/doc/bugtracker-person.txt | |||
1772 | index a36932c..d5599f0 100644 | |||
1773 | --- a/lib/lp/bugs/doc/bugtracker-person.txt | |||
1774 | +++ b/lib/lp/bugs/doc/bugtracker-person.txt | |||
1775 | @@ -42,7 +42,6 @@ new person to a bugtracker using an existing name will cause an error. | |||
1776 | 42 | >>> foo_bar = getUtility(IPersonSet).getByName('name16') | 42 | >>> foo_bar = getUtility(IPersonSet).getByName('name16') |
1777 | 43 | >>> bugtracker_person = bugtracker.linkPersonToSelf( | 43 | >>> bugtracker_person = bugtracker.linkPersonToSelf( |
1778 | 44 | ... 'some-name-i-made-up', foo_bar) | 44 | ... 'some-name-i-made-up', foo_bar) |
1779 | 45 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1780 | 46 | Traceback (most recent call last): | 45 | Traceback (most recent call last): |
1781 | 47 | ... | 46 | ... |
1782 | 48 | lp.bugs.interfaces.bugtrackerperson.BugTrackerPersonAlreadyExists: Name 'some-name-i-made-up' is already in use for bugtracker 'bugzilla-checkwatches'. | 47 | lp.bugs.interfaces.bugtrackerperson.BugTrackerPersonAlreadyExists: Name 'some-name-i-made-up' is already in use for bugtracker 'bugzilla-checkwatches'. |
1783 | diff --git a/lib/lp/bugs/doc/bugwatch.txt b/lib/lp/bugs/doc/bugwatch.txt | |||
1784 | index f69fdc8..415be41 100644 | |||
1785 | --- a/lib/lp/bugs/doc/bugwatch.txt | |||
1786 | +++ b/lib/lp/bugs/doc/bugwatch.txt | |||
1787 | @@ -22,7 +22,6 @@ Bug watches are accessed via a utility that provides IBugWatchSet. | |||
1788 | 22 | >>> from zope.component import getUtility | 22 | >>> from zope.component import getUtility |
1789 | 23 | >>> from lp.bugs.interfaces.bugwatch import IBugWatchSet | 23 | >>> from lp.bugs.interfaces.bugwatch import IBugWatchSet |
1790 | 24 | >>> getUtility(IBugWatchSet).get(98765) | 24 | >>> getUtility(IBugWatchSet).get(98765) |
1791 | 25 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1792 | 26 | Traceback (most recent call last): | 25 | Traceback (most recent call last): |
1793 | 27 | ... | 26 | ... |
1794 | 28 | lp.app.errors.NotFoundError: 98765 | 27 | lp.app.errors.NotFoundError: 98765 |
1795 | @@ -627,7 +626,6 @@ Calling setNextCheck() on this watch will cause an Exception, | |||
1796 | 627 | BugWatchCannotBeRescheduled, to be raised. | 626 | BugWatchCannotBeRescheduled, to be raised. |
1797 | 628 | 627 | ||
1798 | 629 | >>> schedulable_watch.setNextCheck(datetime.now(utc)) | 628 | >>> schedulable_watch.setNextCheck(datetime.now(utc)) |
1799 | 630 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1800 | 631 | Traceback (most recent call last): | 629 | Traceback (most recent call last): |
1801 | 632 | ... | 630 | ... |
1802 | 633 | lp.bugs.interfaces.bugwatch.BugWatchCannotBeRescheduled | 631 | lp.bugs.interfaces.bugwatch.BugWatchCannotBeRescheduled |
1803 | diff --git a/lib/lp/bugs/doc/bugwidget.txt b/lib/lp/bugs/doc/bugwidget.txt | |||
1804 | index f20d44a..c3f0012 100644 | |||
1805 | --- a/lib/lp/bugs/doc/bugwidget.txt | |||
1806 | +++ b/lib/lp/bugs/doc/bugwidget.txt | |||
1807 | @@ -22,7 +22,6 @@ If non-existant bug number is entered, an error is raised. | |||
1808 | 22 | >>> request = LaunchpadTestRequest(form={'field.bug': '1234567'}) | 22 | >>> request = LaunchpadTestRequest(form={'field.bug': '1234567'}) |
1809 | 23 | >>> bug_widget = BugWidget(bug_field, request) | 23 | >>> bug_widget = BugWidget(bug_field, request) |
1810 | 24 | >>> bug_widget.getInputValue() | 24 | >>> bug_widget.getInputValue() |
1811 | 25 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1812 | 26 | Traceback (most recent call last): | 25 | Traceback (most recent call last): |
1813 | 27 | ... | 26 | ... |
1814 | 28 | zope.formlib.interfaces.ConversionError: ('Not a valid bug number or nickname.', None) | 27 | zope.formlib.interfaces.ConversionError: ('Not a valid bug number or nickname.', None) |
1815 | diff --git a/lib/lp/bugs/doc/cve-update.txt b/lib/lp/bugs/doc/cve-update.txt | |||
1816 | index 417728a..ad7d8fd 100644 | |||
1817 | --- a/lib/lp/bugs/doc/cve-update.txt | |||
1818 | +++ b/lib/lp/bugs/doc/cve-update.txt | |||
1819 | @@ -168,7 +168,6 @@ schema is changed. | |||
1820 | 168 | 168 | ||
1821 | 169 | >>> cve_updater = CVEUpdater('cve-updater', test_args=[]) | 169 | >>> cve_updater = CVEUpdater('cve-updater', test_args=[]) |
1822 | 170 | >>> cve_updater.processCVEXML('<some-xml />') | 170 | >>> cve_updater.processCVEXML('<some-xml />') |
1823 | 171 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1824 | 172 | Traceback (most recent call last): | 171 | Traceback (most recent call last): |
1825 | 173 | ... | 172 | ... |
1826 | 174 | lp.services.scripts.base.LaunchpadScriptFailure: No CVEs found in XML file. | 173 | lp.services.scripts.base.LaunchpadScriptFailure: No CVEs found in XML file. |
1827 | diff --git a/lib/lp/bugs/doc/cve.txt b/lib/lp/bugs/doc/cve.txt | |||
1828 | index 3322f40..98e3480 100644 | |||
1829 | --- a/lib/lp/bugs/doc/cve.txt | |||
1830 | +++ b/lib/lp/bugs/doc/cve.txt | |||
1831 | @@ -111,7 +111,6 @@ linkCVE are bypassed. | |||
1832 | 111 | >>> private_bug = factory.makeBug( | 111 | >>> private_bug = factory.makeBug( |
1833 | 112 | ... information_type=InformationType.USERDATA) | 112 | ... information_type=InformationType.USERDATA) |
1834 | 113 | >>> private_bug.linkCVE(cve, user=no_priv) | 113 | >>> private_bug.linkCVE(cve, user=no_priv) |
1835 | 114 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1836 | 115 | Traceback (most recent call last): | 114 | Traceback (most recent call last): |
1837 | 116 | ... | 115 | ... |
1838 | 117 | zope.security.interfaces.Unauthorized: ... | 116 | zope.security.interfaces.Unauthorized: ... |
1839 | diff --git a/lib/lp/bugs/doc/externalbugtracker-bugzilla-api.txt b/lib/lp/bugs/doc/externalbugtracker-bugzilla-api.txt | |||
1840 | index e6120cd..c7fb1fa 100644 | |||
1841 | --- a/lib/lp/bugs/doc/externalbugtracker-bugzilla-api.txt | |||
1842 | +++ b/lib/lp/bugs/doc/externalbugtracker-bugzilla-api.txt | |||
1843 | @@ -65,7 +65,6 @@ will raise an error: | |||
1844 | 65 | ... xmlrpc_transport=transport) | 65 | ... xmlrpc_transport=transport) |
1845 | 66 | 66 | ||
1846 | 67 | >>> non_auth_bugzilla._authenticate() | 67 | >>> non_auth_bugzilla._authenticate() |
1847 | 68 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1848 | 69 | Traceback (most recent call last): | 68 | Traceback (most recent call last): |
1849 | 70 | ... | 69 | ... |
1850 | 71 | lp.bugs.externalbugtracker.base.BugTrackerAuthenticationError: http://thiswillfail.example.com: No credentials found. | 70 | lp.bugs.externalbugtracker.base.BugTrackerAuthenticationError: http://thiswillfail.example.com: No credentials found. |
1851 | @@ -82,7 +81,6 @@ raise an error. | |||
1852 | 82 | ... xmlrpc_transport=transport) | 81 | ... xmlrpc_transport=transport) |
1853 | 83 | 82 | ||
1854 | 84 | >>> non_auth_bugzilla._authenticate() | 83 | >>> non_auth_bugzilla._authenticate() |
1855 | 85 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1856 | 86 | Traceback (most recent call last): | 84 | Traceback (most recent call last): |
1857 | 87 | ... | 85 | ... |
1858 | 88 | lp.bugs.externalbugtracker.base.BugTrackerAuthenticationError: http://thiswillfail.example.com: Fault 300: The username or password you entered is not valid. | 86 | lp.bugs.externalbugtracker.base.BugTrackerAuthenticationError: http://thiswillfail.example.com: Fault 300: The username or password you entered is not valid. |
1859 | @@ -305,7 +303,6 @@ severity as a string. | |||
1860 | 305 | If a bug can't be found a BugNotFound error will be raised. | 303 | If a bug can't be found a BugNotFound error will be raised. |
1861 | 306 | 304 | ||
1862 | 307 | >>> bugzilla.getRemoteStatus('no-such-bug') | 305 | >>> bugzilla.getRemoteStatus('no-such-bug') |
1863 | 308 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1864 | 309 | Traceback (most recent call last): | 306 | Traceback (most recent call last): |
1865 | 310 | ... | 307 | ... |
1866 | 311 | lp.bugs.externalbugtracker.base.BugNotFound: no-such-bug | 308 | lp.bugs.externalbugtracker.base.BugNotFound: no-such-bug |
1867 | @@ -316,7 +313,6 @@ error will be raised. We can add a sample bug to demonstrate this. | |||
1868 | 316 | 313 | ||
1869 | 317 | >>> bugzilla._bugs[999] = {} | 314 | >>> bugzilla._bugs[999] = {} |
1870 | 318 | >>> bugzilla.getRemoteStatus(999) | 315 | >>> bugzilla.getRemoteStatus(999) |
1871 | 319 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1872 | 320 | Traceback (most recent call last): | 316 | Traceback (most recent call last): |
1873 | 321 | ... | 317 | ... |
1874 | 322 | lp.bugs.externalbugtracker.base.UnparsableBugData: No status or resolution defined for bug 999 | 318 | lp.bugs.externalbugtracker.base.UnparsableBugData: No status or resolution defined for bug 999 |
1875 | @@ -406,7 +402,6 @@ If the product is requested for a bug that can't be found, BugNotFound | |||
1876 | 406 | is raised. | 402 | is raised. |
1877 | 407 | 403 | ||
1878 | 408 | >>> bugzilla.getRemoteProduct(12345) | 404 | >>> bugzilla.getRemoteProduct(12345) |
1879 | 409 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1880 | 410 | Traceback (most recent call last): | 405 | Traceback (most recent call last): |
1881 | 411 | ... | 406 | ... |
1882 | 412 | lp.bugs.externalbugtracker.base.BugNotFound: 12345 | 407 | lp.bugs.externalbugtracker.base.BugNotFound: 12345 |
1883 | @@ -469,7 +464,6 @@ getCommentIds() can only be called if initializeRemoteBugDB() has been | |||
1884 | 469 | called and the bug exists locally. | 464 | called and the bug exists locally. |
1885 | 470 | 465 | ||
1886 | 471 | >>> bugzilla.getCommentIds(bug_watch_broken.remotebug) | 466 | >>> bugzilla.getCommentIds(bug_watch_broken.remotebug) |
1887 | 472 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1888 | 473 | Traceback (most recent call last): | 467 | Traceback (most recent call last): |
1889 | 474 | ... | 468 | ... |
1890 | 475 | lp.bugs.externalbugtracker.base.BugNotFound: 42 | 469 | lp.bugs.externalbugtracker.base.BugNotFound: 42 |
1891 | @@ -619,7 +613,6 @@ then that instance does not provide ISupportsCommentPushing. | |||
1892 | 619 | 613 | ||
1893 | 620 | >>> verifyObject(ISupportsCommentPushing, BugzillaAPI( | 614 | >>> verifyObject(ISupportsCommentPushing, BugzillaAPI( |
1894 | 621 | ... 'http://unknown.example.com/', xmlrpc_transport=test_transport)) | 615 | ... 'http://unknown.example.com/', xmlrpc_transport=test_transport)) |
1895 | 622 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1896 | 623 | Traceback (most recent call last): | 616 | Traceback (most recent call last): |
1897 | 624 | ... | 617 | ... |
1898 | 625 | zope.interface.exceptions.DoesNotImplement: ... | 618 | zope.interface.exceptions.DoesNotImplement: ... |
1899 | @@ -681,7 +674,6 @@ then that instance does not provide ISupportsBackLinking. | |||
1900 | 681 | 674 | ||
1901 | 682 | >>> verifyObject(ISupportsBackLinking, BugzillaAPI( | 675 | >>> verifyObject(ISupportsBackLinking, BugzillaAPI( |
1902 | 683 | ... 'http://unknown.example.com/', xmlrpc_transport=test_transport)) | 676 | ... 'http://unknown.example.com/', xmlrpc_transport=test_transport)) |
1903 | 684 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1904 | 685 | Traceback (most recent call last): | 677 | Traceback (most recent call last): |
1905 | 686 | ... | 678 | ... |
1906 | 687 | zope.interface.exceptions.DoesNotImplement: ... | 679 | zope.interface.exceptions.DoesNotImplement: ... |
1907 | diff --git a/lib/lp/bugs/doc/externalbugtracker-bugzilla-lp-plugin.txt b/lib/lp/bugs/doc/externalbugtracker-bugzilla-lp-plugin.txt | |||
1908 | index b13e159..d2dbd78 100644 | |||
1909 | --- a/lib/lp/bugs/doc/externalbugtracker-bugzilla-lp-plugin.txt | |||
1910 | +++ b/lib/lp/bugs/doc/externalbugtracker-bugzilla-lp-plugin.txt | |||
1911 | @@ -108,7 +108,6 @@ login_required() raises a fault. | |||
1912 | 108 | 108 | ||
1913 | 109 | >>> test_transport.expireCookie(test_transport.auth_cookie) | 109 | >>> test_transport.expireCookie(test_transport.auth_cookie) |
1914 | 110 | >>> test_bugzilla.xmlrpc_proxy.Test.login_required() | 110 | >>> test_bugzilla.xmlrpc_proxy.Test.login_required() |
1915 | 111 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1916 | 112 | Traceback (most recent call last): | 111 | Traceback (most recent call last): |
1917 | 113 | ... | 112 | ... |
1918 | 114 | xmlrpc.client.Fault: <Fault 410: 'Login Required'> | 113 | xmlrpc.client.Fault: <Fault 410: 'Login Required'> |
1919 | @@ -148,7 +147,6 @@ If authentication fails, a BugTrackerAuthenticationError will be raised. | |||
1920 | 148 | ... ) | 147 | ... ) |
1921 | 149 | 148 | ||
1922 | 150 | >>> test_bugzilla._authenticate() | 149 | >>> test_bugzilla._authenticate() |
1923 | 151 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1924 | 152 | Traceback (most recent call last): | 150 | Traceback (most recent call last): |
1925 | 153 | ... | 151 | ... |
1926 | 154 | lp.bugs.externalbugtracker.base.BugTrackerAuthenticationError: http://example.com: XML-RPC Fault: 100 "Sorry, you can't log in." | 152 | lp.bugs.externalbugtracker.base.BugTrackerAuthenticationError: http://example.com: XML-RPC Fault: 100 "Sorry, you can't log in." |
1927 | @@ -158,7 +156,6 @@ This is also true if an error occurs at the protocol level: | |||
1928 | 158 | >>> fail_transport.error = ProtocolError( | 156 | >>> fail_transport.error = ProtocolError( |
1929 | 159 | ... 'http://example.com', 500, 'Internal server error', {}) | 157 | ... 'http://example.com', 500, 'Internal server error', {}) |
1930 | 160 | >>> test_bugzilla._authenticate() | 158 | >>> test_bugzilla._authenticate() |
1931 | 161 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1932 | 162 | Traceback (most recent call last): | 159 | Traceback (most recent call last): |
1933 | 163 | ... | 160 | ... |
1934 | 164 | lp.bugs.externalbugtracker.base.BugTrackerAuthenticationError: http://example.com: Protocol error: 500 "Internal server error" | 161 | lp.bugs.externalbugtracker.base.BugTrackerAuthenticationError: http://example.com: Protocol error: 500 "Internal server error" |
1935 | @@ -385,7 +382,6 @@ called and the bug exists locally. | |||
1936 | 385 | >>> transaction.commit() | 382 | >>> transaction.commit() |
1937 | 386 | 383 | ||
1938 | 387 | >>> bugzilla.getCommentIds(remote_bug) | 384 | >>> bugzilla.getCommentIds(remote_bug) |
1939 | 388 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1940 | 389 | Traceback (most recent call last): | 385 | Traceback (most recent call last): |
1941 | 390 | ... | 386 | ... |
1942 | 391 | lp.bugs.externalbugtracker.base.BugNotFound: 42 | 387 | lp.bugs.externalbugtracker.base.BugNotFound: 42 |
1943 | diff --git a/lib/lp/bugs/doc/externalbugtracker-bugzilla-oddities.txt b/lib/lp/bugs/doc/externalbugtracker-bugzilla-oddities.txt | |||
1944 | index b6d2f3a..52b1cc7 100644 | |||
1945 | --- a/lib/lp/bugs/doc/externalbugtracker-bugzilla-oddities.txt | |||
1946 | +++ b/lib/lp/bugs/doc/externalbugtracker-bugzilla-oddities.txt | |||
1947 | @@ -147,7 +147,6 @@ invalid XML: | |||
1948 | 147 | >>> remote_bugs = ['42', '2000'] | 147 | >>> remote_bugs = ['42', '2000'] |
1949 | 148 | >>> with broken_bugzilla.responses(): | 148 | >>> with broken_bugzilla.responses(): |
1950 | 149 | ... broken_bugzilla.initializeRemoteBugDB(remote_bugs) | 149 | ... broken_bugzilla.initializeRemoteBugDB(remote_bugs) |
1951 | 150 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1952 | 151 | Traceback (most recent call last): | 150 | Traceback (most recent call last): |
1953 | 152 | ... | 151 | ... |
1954 | 153 | lp.bugs.externalbugtracker.base.UnparsableBugData: Failed to parse XML description... | 152 | lp.bugs.externalbugtracker.base.UnparsableBugData: Failed to parse XML description... |
1955 | diff --git a/lib/lp/bugs/doc/externalbugtracker-bugzilla.txt b/lib/lp/bugs/doc/externalbugtracker-bugzilla.txt | |||
1956 | index b8a9226..94cc309 100644 | |||
1957 | --- a/lib/lp/bugs/doc/externalbugtracker-bugzilla.txt | |||
1958 | +++ b/lib/lp/bugs/doc/externalbugtracker-bugzilla.txt | |||
1959 | @@ -27,7 +27,6 @@ UnparsableBugTrackerVersion is raised: | |||
1960 | 27 | >>> from lp.testing.layers import LaunchpadZopelessLayer | 27 | >>> from lp.testing.layers import LaunchpadZopelessLayer |
1961 | 28 | >>> txn = LaunchpadZopelessLayer.txn | 28 | >>> txn = LaunchpadZopelessLayer.txn |
1962 | 29 | >>> external_bugzilla = Bugzilla('http://example.com/', version='A.B') | 29 | >>> external_bugzilla = Bugzilla('http://example.com/', version='A.B') |
1963 | 30 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1964 | 31 | Traceback (most recent call last): | 30 | Traceback (most recent call last): |
1965 | 32 | ... | 31 | ... |
1966 | 33 | lp.bugs.externalbugtracker.base.UnparsableBugTrackerVersion: Failed to parse version 'A.B' for http://... | 32 | lp.bugs.externalbugtracker.base.UnparsableBugTrackerVersion: Failed to parse version 'A.B' for http://... |
1967 | @@ -345,12 +344,10 @@ If the status can't be converted an UnknownRemoteStatusError will be | |||
1968 | 345 | returned. | 344 | returned. |
1969 | 346 | 345 | ||
1970 | 347 | >>> external_bugzilla.convertRemoteStatus('FOO').title | 346 | >>> external_bugzilla.convertRemoteStatus('FOO').title |
1971 | 348 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1972 | 349 | Traceback (most recent call last): | 347 | Traceback (most recent call last): |
1973 | 350 | ... | 348 | ... |
1974 | 351 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: FOO | 349 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: FOO |
1975 | 352 | >>> external_bugzilla.convertRemoteStatus('CLOSED BAR').title | 350 | >>> external_bugzilla.convertRemoteStatus('CLOSED BAR').title |
1976 | 353 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1977 | 354 | Traceback (most recent call last): | 351 | Traceback (most recent call last): |
1978 | 355 | ... | 352 | ... |
1979 | 356 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: CLOSED BAR | 353 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: CLOSED BAR |
1980 | @@ -464,12 +461,10 @@ However, we still treat as an error if the priority or severity are set | |||
1981 | 464 | to some other unexpected string. | 461 | to some other unexpected string. |
1982 | 465 | 462 | ||
1983 | 466 | >>> external_bugzilla.convertRemoteImportance('foo bar') | 463 | >>> external_bugzilla.convertRemoteImportance('foo bar') |
1984 | 467 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1985 | 468 | Traceback (most recent call last): | 464 | Traceback (most recent call last): |
1986 | 469 | ... | 465 | ... |
1987 | 470 | lp.bugs.externalbugtracker.base.UnknownRemoteImportanceError: foo bar | 466 | lp.bugs.externalbugtracker.base.UnknownRemoteImportanceError: foo bar |
1988 | 471 | >>> external_bugzilla.convertRemoteImportance('%&*@*#&$%!') | 467 | >>> external_bugzilla.convertRemoteImportance('%&*@*#&$%!') |
1989 | 472 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1990 | 473 | Traceback (most recent call last): | 468 | Traceback (most recent call last): |
1991 | 474 | ... | 469 | ... |
1992 | 475 | lp.bugs.externalbugtracker.base.UnknownRemoteImportanceError: %&*@*#&$%! | 470 | lp.bugs.externalbugtracker.base.UnknownRemoteImportanceError: %&*@*#&$%! |
1993 | @@ -742,7 +737,6 @@ bug tracker, an error is logged. | |||
1994 | 742 | ... requests_mock.add('POST', re.compile(r'.*'), body='<invalid xml>') | 737 | ... requests_mock.add('POST', re.compile(r'.*'), body='<invalid xml>') |
1995 | 743 | ... bug_watch_updater.updateBugWatches( | 738 | ... bug_watch_updater.updateBugWatches( |
1996 | 744 | ... external_bugzilla, [bug_watch1, bug_watch2]) | 739 | ... external_bugzilla, [bug_watch1, bug_watch2]) |
1997 | 745 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
1998 | 746 | Traceback (most recent call last): | 740 | Traceback (most recent call last): |
1999 | 747 | ... | 741 | ... |
2000 | 748 | lp.bugs.externalbugtracker.base.UnparsableBugData: Failed to parse XML description for https://bugzilla.mozilla.org... | 742 | lp.bugs.externalbugtracker.base.UnparsableBugData: Failed to parse XML description for https://bugzilla.mozilla.org... |
2001 | @@ -801,7 +795,6 @@ Requesting the product for a bug that doesn't exist raises BugNotFound. | |||
2002 | 801 | >>> with external_bugzilla.responses(): | 795 | >>> with external_bugzilla.responses(): |
2003 | 802 | ... external_bugzilla.initializeRemoteBugDB(['84']) | 796 | ... external_bugzilla.initializeRemoteBugDB(['84']) |
2004 | 803 | >>> external_bugzilla.getRemoteProduct('42') | 797 | >>> external_bugzilla.getRemoteProduct('42') |
2005 | 804 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2006 | 805 | Traceback (most recent call last): | 798 | Traceback (most recent call last): |
2007 | 806 | ... | 799 | ... |
2008 | 807 | lp.bugs.externalbugtracker.base.BugNotFound: 42 | 800 | lp.bugs.externalbugtracker.base.BugNotFound: 42 |
2009 | diff --git a/lib/lp/bugs/doc/externalbugtracker-debbugs.txt b/lib/lp/bugs/doc/externalbugtracker-debbugs.txt | |||
2010 | index 3ed2b15..5dc2fe8 100644 | |||
2011 | --- a/lib/lp/bugs/doc/externalbugtracker-debbugs.txt | |||
2012 | +++ b/lib/lp/bugs/doc/externalbugtracker-debbugs.txt | |||
2013 | @@ -56,7 +56,6 @@ getRemoteStatus() method. If we pass a bug number that doesn't exist in | |||
2014 | 56 | the debbugs db, BugNotFound is raised. | 56 | the debbugs db, BugNotFound is raised. |
2015 | 57 | 57 | ||
2016 | 58 | >>> external_debbugs.getRemoteStatus('42') | 58 | >>> external_debbugs.getRemoteStatus('42') |
2017 | 59 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2018 | 60 | Traceback (most recent call last): | 59 | Traceback (most recent call last): |
2019 | 61 | ... | 60 | ... |
2020 | 62 | lp.bugs.externalbugtracker.base.BugNotFound: 42 | 61 | lp.bugs.externalbugtracker.base.BugNotFound: 42 |
2021 | @@ -64,7 +63,6 @@ the debbugs db, BugNotFound is raised. | |||
2022 | 64 | If we pass a non-integer bug id, InvalidBugId is raised. | 63 | If we pass a non-integer bug id, InvalidBugId is raised. |
2023 | 65 | 64 | ||
2024 | 66 | >>> external_debbugs.getRemoteStatus('foo') | 65 | >>> external_debbugs.getRemoteStatus('foo') |
2025 | 67 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2026 | 68 | Traceback (most recent call last): | 66 | Traceback (most recent call last): |
2027 | 69 | ... | 67 | ... |
2028 | 70 | lp.bugs.externalbugtracker.base.InvalidBugId: Debbugs bug number not an integer: foo | 68 | lp.bugs.externalbugtracker.base.InvalidBugId: Debbugs bug number not an integer: foo |
2029 | @@ -281,7 +279,6 @@ If we pass in a malformed status string an UnknownRemoteStatusError will | |||
2030 | 281 | be raised. | 279 | be raised. |
2031 | 282 | 280 | ||
2032 | 283 | >>> print(external_debbugs.convertRemoteStatus('open')) | 281 | >>> print(external_debbugs.convertRemoteStatus('open')) |
2033 | 284 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2034 | 285 | Traceback (most recent call last): | 282 | Traceback (most recent call last): |
2035 | 286 | ... | 283 | ... |
2036 | 287 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: open | 284 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: open |
2037 | @@ -719,7 +716,6 @@ Trying to call getRemoteProduct() on a bug that doesn't exist will raise | |||
2038 | 719 | a BugNotFound error. | 716 | a BugNotFound error. |
2039 | 720 | 717 | ||
2040 | 721 | >>> print(external_debbugs.getRemoteProduct('42')) | 718 | >>> print(external_debbugs.getRemoteProduct('42')) |
2041 | 722 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2042 | 723 | Traceback (most recent call last): | 719 | Traceback (most recent call last): |
2043 | 724 | ... | 720 | ... |
2044 | 725 | lp.bugs.externalbugtracker.base.BugNotFound: 42 | 721 | lp.bugs.externalbugtracker.base.BugNotFound: 42 |
2045 | diff --git a/lib/lp/bugs/doc/externalbugtracker-emailaddress.txt b/lib/lp/bugs/doc/externalbugtracker-emailaddress.txt | |||
2046 | index 9e6adf8..b0b5c8c 100644 | |||
2047 | --- a/lib/lp/bugs/doc/externalbugtracker-emailaddress.txt | |||
2048 | +++ b/lib/lp/bugs/doc/externalbugtracker-emailaddress.txt | |||
2049 | @@ -25,7 +25,6 @@ create a new ExternalBugTracker for an email address will fail. | |||
2050 | 25 | ... new_bugtracker) | 25 | ... new_bugtracker) |
2051 | 26 | >>> bug_tracker = get_external_bugtracker( | 26 | >>> bug_tracker = get_external_bugtracker( |
2052 | 27 | ... new_bugtracker(BugTrackerType.EMAILADDRESS)) | 27 | ... new_bugtracker(BugTrackerType.EMAILADDRESS)) |
2053 | 28 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2054 | 29 | Traceback (most recent call last): | 28 | Traceback (most recent call last): |
2055 | 30 | ... | 29 | ... |
2056 | 31 | lp.bugs.externalbugtracker.base.UnknownBugTrackerTypeError: EMAILADDRESS | 30 | lp.bugs.externalbugtracker.base.UnknownBugTrackerTypeError: EMAILADDRESS |
2057 | diff --git a/lib/lp/bugs/doc/externalbugtracker-mantis-csv.txt b/lib/lp/bugs/doc/externalbugtracker-mantis-csv.txt | |||
2058 | index d9fb120..05bbcb5 100644 | |||
2059 | --- a/lib/lp/bugs/doc/externalbugtracker-mantis-csv.txt | |||
2060 | +++ b/lib/lp/bugs/doc/externalbugtracker-mantis-csv.txt | |||
2061 | @@ -38,7 +38,6 @@ in the form "status: resolution" as follows: | |||
2062 | 38 | If the status can't be converted an UnknownRemoteStatusError is raised. | 38 | If the status can't be converted an UnknownRemoteStatusError is raised. |
2063 | 39 | 39 | ||
2064 | 40 | >>> alsa_mantis.convertRemoteStatus(('foo: bar')).title | 40 | >>> alsa_mantis.convertRemoteStatus(('foo: bar')).title |
2065 | 41 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2066 | 42 | Traceback (most recent call last): | 41 | Traceback (most recent call last): |
2067 | 43 | ... | 42 | ... |
2068 | 44 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: foo: bar | 43 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: foo: bar |
2069 | diff --git a/lib/lp/bugs/doc/externalbugtracker-mantis-logging-in.txt b/lib/lp/bugs/doc/externalbugtracker-mantis-logging-in.txt | |||
2070 | index 259726c..8b87b9f 100644 | |||
2071 | --- a/lib/lp/bugs/doc/externalbugtracker-mantis-logging-in.txt | |||
2072 | +++ b/lib/lp/bugs/doc/externalbugtracker-mantis-logging-in.txt | |||
2073 | @@ -56,7 +56,6 @@ when Mantis redirects back to the login page with an error it forgets | |||
2074 | 56 | the "return" parameter. | 56 | the "return" parameter. |
2075 | 57 | 57 | ||
2076 | 58 | >>> run_hook('http://mantis.example.com/login_page.php') | 58 | >>> run_hook('http://mantis.example.com/login_page.php') |
2077 | 59 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2078 | 60 | Traceback (most recent call last): | 59 | Traceback (most recent call last): |
2079 | 61 | ... | 60 | ... |
2080 | 62 | lp.bugs.externalbugtracker.base.BugTrackerConnectError: http://mantis.example.com/login_page.php: Mantis redirected us to the login page but did not set a return path. | 61 | lp.bugs.externalbugtracker.base.BugTrackerConnectError: http://mantis.example.com/login_page.php: Mantis redirected us to the login page but did not set a return path. |
2081 | diff --git a/lib/lp/bugs/doc/externalbugtracker-mantis.txt b/lib/lp/bugs/doc/externalbugtracker-mantis.txt | |||
2082 | index bf2768b..0a15a0e 100644 | |||
2083 | --- a/lib/lp/bugs/doc/externalbugtracker-mantis.txt | |||
2084 | +++ b/lib/lp/bugs/doc/externalbugtracker-mantis.txt | |||
2085 | @@ -41,7 +41,6 @@ in the form "status: resolution" as follows: | |||
2086 | 41 | If the status can't be converted an UnknownRemoteStatusError is raised. | 41 | If the status can't be converted an UnknownRemoteStatusError is raised. |
2087 | 42 | 42 | ||
2088 | 43 | >>> alsa_mantis.convertRemoteStatus(('foo: bar')).title | 43 | >>> alsa_mantis.convertRemoteStatus(('foo: bar')).title |
2089 | 44 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2090 | 45 | Traceback (most recent call last): | 44 | Traceback (most recent call last): |
2091 | 46 | ... | 45 | ... |
2092 | 47 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: foo: bar | 46 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: foo: bar |
2093 | diff --git a/lib/lp/bugs/doc/externalbugtracker-roundup-python-bugs.txt b/lib/lp/bugs/doc/externalbugtracker-roundup-python-bugs.txt | |||
2094 | index 4c2916a..7225c7f 100644 | |||
2095 | --- a/lib/lp/bugs/doc/externalbugtracker-roundup-python-bugs.txt | |||
2096 | +++ b/lib/lp/bugs/doc/externalbugtracker-roundup-python-bugs.txt | |||
2097 | @@ -77,7 +77,6 @@ If the status isn't something that our Python_Bugs ExternalBugTracker can | |||
2098 | 77 | understand an UnknownRemoteStatusError will be raised. | 77 | understand an UnknownRemoteStatusError will be raised. |
2099 | 78 | 78 | ||
2100 | 79 | >>> python_bugs.convertRemoteStatus('7:13').title | 79 | >>> python_bugs.convertRemoteStatus('7:13').title |
2101 | 80 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2102 | 81 | Traceback (most recent call last): | 80 | Traceback (most recent call last): |
2103 | 82 | ... | 81 | ... |
2104 | 83 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: 7:13 | 82 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: 7:13 |
2105 | diff --git a/lib/lp/bugs/doc/externalbugtracker-roundup.txt b/lib/lp/bugs/doc/externalbugtracker-roundup.txt | |||
2106 | index 1d369a2..44c577b 100644 | |||
2107 | --- a/lib/lp/bugs/doc/externalbugtracker-roundup.txt | |||
2108 | +++ b/lib/lp/bugs/doc/externalbugtracker-roundup.txt | |||
2109 | @@ -58,7 +58,6 @@ support), and will generate an error when we have more or less field | |||
2110 | 58 | values compared to the expected number of fields. | 58 | values compared to the expected number of fields. |
2111 | 59 | 59 | ||
2112 | 60 | >>> roundup.convertRemoteStatus('1:2') | 60 | >>> roundup.convertRemoteStatus('1:2') |
2113 | 61 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2114 | 62 | Traceback (most recent call last): | 61 | Traceback (most recent call last): |
2115 | 63 | ... | 62 | ... |
2116 | 64 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: 1 field(s) expected, got 2: 1:2 | 63 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: 1 field(s) expected, got 2: 1:2 |
2117 | @@ -67,7 +66,6 @@ If the status isn't something that our Roundup ExternalBugTracker can | |||
2118 | 67 | understand an UnknownRemoteStatusError will be raised. | 66 | understand an UnknownRemoteStatusError will be raised. |
2119 | 68 | 67 | ||
2120 | 69 | >>> roundup.convertRemoteStatus('eggs').title | 68 | >>> roundup.convertRemoteStatus('eggs').title |
2121 | 70 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2122 | 71 | Traceback (most recent call last): | 69 | Traceback (most recent call last): |
2123 | 72 | ... | 70 | ... |
2124 | 73 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: Unrecognized value for field 1 (status): eggs | 71 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: Unrecognized value for field 1 (status): eggs |
2125 | diff --git a/lib/lp/bugs/doc/externalbugtracker-rt.txt b/lib/lp/bugs/doc/externalbugtracker-rt.txt | |||
2126 | index d25c1ed..7a1b9bd 100644 | |||
2127 | --- a/lib/lp/bugs/doc/externalbugtracker-rt.txt | |||
2128 | +++ b/lib/lp/bugs/doc/externalbugtracker-rt.txt | |||
2129 | @@ -70,7 +70,6 @@ Passing a status which the RequestTracker instance can't understand will | |||
2130 | 70 | result in an UnknownRemoteStatusError being raised. | 70 | result in an UnknownRemoteStatusError being raised. |
2131 | 71 | 71 | ||
2132 | 72 | >>> rt.convertRemoteStatus('spam').title | 72 | >>> rt.convertRemoteStatus('spam').title |
2133 | 73 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2134 | 74 | Traceback (most recent call last): | 73 | Traceback (most recent call last): |
2135 | 75 | ... | 74 | ... |
2136 | 76 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: spam | 75 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: spam |
2137 | @@ -159,7 +158,6 @@ our test RT instance simulate such a situation. | |||
2138 | 159 | 158 | ||
2139 | 160 | >>> with rt.responses(bad=True): | 159 | >>> with rt.responses(bad=True): |
2140 | 161 | ... rt.initializeRemoteBugDB([1585]) | 160 | ... rt.initializeRemoteBugDB([1585]) |
2141 | 162 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2142 | 163 | Traceback (most recent call last): | 161 | Traceback (most recent call last): |
2143 | 164 | ... | 162 | ... |
2144 | 165 | lp.bugs.externalbugtracker.base.BugTrackerConnectError: ... | 163 | lp.bugs.externalbugtracker.base.BugTrackerConnectError: ... |
2145 | @@ -168,7 +166,6 @@ This can also be demonstrated for importing bugs as a batch: | |||
2146 | 168 | 166 | ||
2147 | 169 | >>> with rt.responses(bad=True): | 167 | >>> with rt.responses(bad=True): |
2148 | 170 | ... rt.initializeRemoteBugDB([1585, 1586, 1587, 1588, 1589]) | 168 | ... rt.initializeRemoteBugDB([1585, 1586, 1587, 1588, 1589]) |
2149 | 171 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2150 | 172 | Traceback (most recent call last): | 169 | Traceback (most recent call last): |
2151 | 173 | ... | 170 | ... |
2152 | 174 | lp.bugs.externalbugtracker.base.BugTrackerConnectError: ... | 171 | lp.bugs.externalbugtracker.base.BugTrackerConnectError: ... |
2153 | @@ -276,7 +273,6 @@ If you try to get the remote product of a bug that doesn't exist you'll | |||
2154 | 276 | get a BugNotFound error. | 273 | get a BugNotFound error. |
2155 | 277 | 274 | ||
2156 | 278 | >>> print(rt.getRemoteProduct('this-doesnt-exist')) | 275 | >>> print(rt.getRemoteProduct('this-doesnt-exist')) |
2157 | 279 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2158 | 280 | Traceback (most recent call last): | 276 | Traceback (most recent call last): |
2159 | 281 | ... | 277 | ... |
2160 | 282 | lp.bugs.externalbugtracker.base.BugNotFound: this-doesnt-exist | 278 | lp.bugs.externalbugtracker.base.BugNotFound: this-doesnt-exist |
2161 | diff --git a/lib/lp/bugs/doc/externalbugtracker-sourceforge.txt b/lib/lp/bugs/doc/externalbugtracker-sourceforge.txt | |||
2162 | index 707bbb4..ddaf8b0 100644 | |||
2163 | --- a/lib/lp/bugs/doc/externalbugtracker-sourceforge.txt | |||
2164 | +++ b/lib/lp/bugs/doc/externalbugtracker-sourceforge.txt | |||
2165 | @@ -70,7 +70,6 @@ If the status isn't something that our SourceForge ExternalBugTracker can | |||
2166 | 70 | understand an UnknownRemoteStatusError will be raised. | 70 | understand an UnknownRemoteStatusError will be raised. |
2167 | 71 | 71 | ||
2168 | 72 | >>> sourceforge.convertRemoteStatus('eggs').title | 72 | >>> sourceforge.convertRemoteStatus('eggs').title |
2169 | 73 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2170 | 74 | Traceback (most recent call last): | 73 | Traceback (most recent call last): |
2171 | 75 | ... | 74 | ... |
2172 | 76 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: eggs | 75 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: eggs |
2173 | @@ -100,7 +99,6 @@ resolution, to demonstrate this: | |||
2174 | 100 | 99 | ||
2175 | 101 | >>> with sourceforge.responses(): | 100 | >>> with sourceforge.responses(): |
2176 | 102 | ... sourceforge.initializeRemoteBugDB([0]) | 101 | ... sourceforge.initializeRemoteBugDB([0]) |
2177 | 103 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2178 | 104 | Traceback (most recent call last): | 102 | Traceback (most recent call last): |
2179 | 105 | ... | 103 | ... |
2180 | 106 | lp.bugs.externalbugtracker.base.UnparsableBugData: Remote bug 0 does not define a status. | 104 | lp.bugs.externalbugtracker.base.UnparsableBugData: Remote bug 0 does not define a status. |
2181 | @@ -134,7 +132,6 @@ Trying to access the remote status of a private bug, however, will raise | |||
2182 | 134 | a PrivateRemoteBug error. | 132 | a PrivateRemoteBug error. |
2183 | 135 | 133 | ||
2184 | 136 | >>> sourceforge.getRemoteStatus(99) | 134 | >>> sourceforge.getRemoteStatus(99) |
2185 | 137 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2186 | 138 | Traceback (most recent call last): | 135 | Traceback (most recent call last): |
2187 | 139 | ... | 136 | ... |
2188 | 140 | lp.bugs.externalbugtracker.base.PrivateRemoteBug: Bug 99 on http://example.com is private. | 137 | lp.bugs.externalbugtracker.base.PrivateRemoteBug: Bug 99 on http://example.com is private. |
2189 | @@ -284,7 +281,6 @@ If you try to get the remote product of a bug that doesn't exist you'll | |||
2190 | 284 | get a BugNotFound error. | 281 | get a BugNotFound error. |
2191 | 285 | 282 | ||
2192 | 286 | >>> print(sourceforge.getRemoteProduct(999999999)) | 283 | >>> print(sourceforge.getRemoteProduct(999999999)) |
2193 | 287 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2194 | 288 | Traceback (most recent call last): | 284 | Traceback (most recent call last): |
2195 | 289 | ... | 285 | ... |
2196 | 290 | lp.bugs.externalbugtracker.base.BugNotFound: 999999999 | 286 | lp.bugs.externalbugtracker.base.BugNotFound: 999999999 |
2197 | diff --git a/lib/lp/bugs/doc/externalbugtracker-trac-lp-plugin.txt b/lib/lp/bugs/doc/externalbugtracker-trac-lp-plugin.txt | |||
2198 | index 4fdb9f7..e15b181 100644 | |||
2199 | --- a/lib/lp/bugs/doc/externalbugtracker-trac-lp-plugin.txt | |||
2200 | +++ b/lib/lp/bugs/doc/externalbugtracker-trac-lp-plugin.txt | |||
2201 | @@ -132,7 +132,6 @@ If authentication fails, a BugTrackerAuthenticationError will be raised. | |||
2202 | 132 | ... requests_mock.add( | 132 | ... requests_mock.add( |
2203 | 133 | ... 'GET', re.compile(r'.*/launchpad-auth/.*'), status=401) | 133 | ... 'GET', re.compile(r'.*/launchpad-auth/.*'), status=401) |
2204 | 134 | ... trac._authenticate() | 134 | ... trac._authenticate() |
2205 | 135 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2206 | 136 | Traceback (most recent call last): | 135 | Traceback (most recent call last): |
2207 | 137 | ... | 136 | ... |
2208 | 138 | lp.bugs.externalbugtracker.base.BugTrackerAuthenticationError: http://example.com: 401 Client Error: Unauthorized | 137 | lp.bugs.externalbugtracker.base.BugTrackerAuthenticationError: http://example.com: 401 Client Error: Unauthorized |
2209 | @@ -303,7 +302,6 @@ since that bug wasn't in the list of bugs that were modified since our | |||
2210 | 303 | last_checked time. | 302 | last_checked time. |
2211 | 304 | 303 | ||
2212 | 305 | >>> trac.getRemoteStatus('2') | 304 | >>> trac.getRemoteStatus('2') |
2213 | 306 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2214 | 307 | Traceback (most recent call last): | 305 | Traceback (most recent call last): |
2215 | 308 | ... | 306 | ... |
2216 | 309 | lp.bugs.externalbugtracker.base.BugNotFound: 2 | 307 | lp.bugs.externalbugtracker.base.BugNotFound: 2 |
2217 | @@ -398,7 +396,6 @@ Trying to call getCommentIds() on a bug that doesn't exist will raise a | |||
2218 | 398 | BugNotFound error. | 396 | BugNotFound error. |
2219 | 399 | 397 | ||
2220 | 400 | >>> trac.getCommentIds(bug_watch_broken.remotebug) | 398 | >>> trac.getCommentIds(bug_watch_broken.remotebug) |
2221 | 401 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2222 | 402 | Traceback (most recent call last): | 399 | Traceback (most recent call last): |
2223 | 403 | ... | 400 | ... |
2224 | 404 | lp.bugs.externalbugtracker.base.BugNotFound: 123 | 401 | lp.bugs.externalbugtracker.base.BugNotFound: 123 |
2225 | @@ -606,14 +603,12 @@ If we try to call getLaunchpadBugId() or setLaunchpadBugId() for a | |||
2226 | 606 | remote bug that doesn't exist, a BugNotFound error will be raised. | 603 | remote bug that doesn't exist, a BugNotFound error will be raised. |
2227 | 607 | 604 | ||
2228 | 608 | >>> trac.getLaunchpadBugId('12345') | 605 | >>> trac.getLaunchpadBugId('12345') |
2229 | 609 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2230 | 610 | Traceback (most recent call last): | 606 | Traceback (most recent call last): |
2231 | 611 | ... | 607 | ... |
2232 | 612 | lp.bugs.externalbugtracker.base.BugNotFound: 12345 | 608 | lp.bugs.externalbugtracker.base.BugNotFound: 12345 |
2233 | 613 | 609 | ||
2234 | 614 | >>> trac.setLaunchpadBugId( | 610 | >>> trac.setLaunchpadBugId( |
2235 | 615 | ... '12345', 1, 'http://bugs.launchpad.test/bugs/xxx') | 611 | ... '12345', 1, 'http://bugs.launchpad.test/bugs/xxx') |
2236 | 616 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2237 | 617 | Traceback (most recent call last): | 612 | Traceback (most recent call last): |
2238 | 618 | ... | 613 | ... |
2239 | 619 | lp.bugs.externalbugtracker.base.BugNotFound: 12345 | 614 | lp.bugs.externalbugtracker.base.BugNotFound: 12345 |
2240 | diff --git a/lib/lp/bugs/doc/externalbugtracker-trac.txt b/lib/lp/bugs/doc/externalbugtracker-trac.txt | |||
2241 | index 53df563..b3daf94 100644 | |||
2242 | --- a/lib/lp/bugs/doc/externalbugtracker-trac.txt | |||
2243 | +++ b/lib/lp/bugs/doc/externalbugtracker-trac.txt | |||
2244 | @@ -138,7 +138,6 @@ If the status isn't one that our Trac ExternalBugTracker can understand | |||
2245 | 138 | an UnknownRemoteStatusError will be raised. | 138 | an UnknownRemoteStatusError will be raised. |
2246 | 139 | 139 | ||
2247 | 140 | >>> trac.convertRemoteStatus('eggs').title | 140 | >>> trac.convertRemoteStatus('eggs').title |
2248 | 141 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2249 | 142 | Traceback (most recent call last): | 141 | Traceback (most recent call last): |
2250 | 143 | ... | 142 | ... |
2251 | 144 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: eggs | 143 | lp.bugs.externalbugtracker.base.UnknownRemoteStatusError: eggs |
2252 | @@ -215,7 +214,6 @@ test. | |||
2253 | 215 | 214 | ||
2254 | 216 | >>> with trac.responses(broken=True): | 215 | >>> with trac.responses(broken=True): |
2255 | 217 | ... trac.initializeRemoteBugDB([6, 7, 8, 9, 10]) | 216 | ... trac.initializeRemoteBugDB([6, 7, 8, 9, 10]) |
2256 | 218 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2257 | 219 | Traceback (most recent call last): | 217 | Traceback (most recent call last): |
2258 | 220 | ... | 218 | ... |
2259 | 221 | lp.bugs.externalbugtracker.base.UnparsableBugData: External bugtracker http://test.trac does not define all the necessary fields for bug status imports (Defined field names: ['<html>']). | 219 | lp.bugs.externalbugtracker.base.UnparsableBugData: External bugtracker http://test.trac does not define all the necessary fields for bug status imports (Defined field names: ['<html>']). |
2260 | @@ -224,7 +222,6 @@ This is also true of the single bug export mode. | |||
2261 | 224 | 222 | ||
2262 | 225 | >>> with trac.responses(broken=True): | 223 | >>> with trac.responses(broken=True): |
2263 | 226 | ... trac.initializeRemoteBugDB([6]) | 224 | ... trac.initializeRemoteBugDB([6]) |
2264 | 227 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2265 | 228 | Traceback (most recent call last): | 225 | Traceback (most recent call last): |
2266 | 229 | ... | 226 | ... |
2267 | 230 | lp.bugs.externalbugtracker.base.UnparsableBugData: External bugtracker http://test.trac does not define all the necessary fields for bug status imports (Defined field names: ['<html>']). | 227 | lp.bugs.externalbugtracker.base.UnparsableBugData: External bugtracker http://test.trac does not define all the necessary fields for bug status imports (Defined field names: ['<html>']). |
2268 | @@ -233,7 +230,6 @@ Trying to get the remote status of the bug will raise a BugNotFound | |||
2269 | 233 | error since the bug was never imported. | 230 | error since the bug was never imported. |
2270 | 234 | 231 | ||
2271 | 235 | >>> trac.getRemoteStatus(6) | 232 | >>> trac.getRemoteStatus(6) |
2272 | 236 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2273 | 237 | Traceback (most recent call last): | 233 | Traceback (most recent call last): |
2274 | 238 | ... | 234 | ... |
2275 | 239 | lp.bugs.externalbugtracker.base.BugNotFound: 6 | 235 | lp.bugs.externalbugtracker.base.BugNotFound: 6 |
2276 | @@ -263,7 +259,6 @@ export, it will raise an UnparsableBugData error. | |||
2277 | 263 | 259 | ||
2278 | 264 | >>> with trac.responses(broken=True): | 260 | >>> with trac.responses(broken=True): |
2279 | 265 | ... trac._fetchBugData(query_url) | 261 | ... trac._fetchBugData(query_url) |
2280 | 266 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2281 | 267 | Traceback (most recent call last): | 262 | Traceback (most recent call last): |
2282 | 268 | ... | 263 | ... |
2283 | 269 | lp.bugs.externalbugtracker.base.UnparsableBugData: External bugtracker http://test.trac does not define all the necessary fields for bug status imports (Defined field names: ['<html>']). | 264 | lp.bugs.externalbugtracker.base.UnparsableBugData: External bugtracker http://test.trac does not define all the necessary fields for bug status imports (Defined field names: ['<html>']). |
2284 | diff --git a/lib/lp/bugs/doc/externalbugtracker.txt b/lib/lp/bugs/doc/externalbugtracker.txt | |||
2285 | index 815d9db..9d22920 100644 | |||
2286 | --- a/lib/lp/bugs/doc/externalbugtracker.txt | |||
2287 | +++ b/lib/lp/bugs/doc/externalbugtracker.txt | |||
2288 | @@ -345,7 +345,6 @@ is, an error is raised. | |||
2289 | 345 | 345 | ||
2290 | 346 | >>> bug_watch_updater.updateBugWatches( | 346 | >>> bug_watch_updater.updateBugWatches( |
2291 | 347 | ... PositiveTimeSkewExternalBugTracker(), [], now=utc_now) | 347 | ... PositiveTimeSkewExternalBugTracker(), [], now=utc_now) |
2292 | 348 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2293 | 349 | Traceback (most recent call last): | 348 | Traceback (most recent call last): |
2294 | 350 | ... | 349 | ... |
2295 | 351 | lp.bugs.scripts.checkwatches.core.TooMuchTimeSkew: ... | 350 | lp.bugs.scripts.checkwatches.core.TooMuchTimeSkew: ... |
2296 | @@ -357,7 +356,6 @@ is, an error is raised. | |||
2297 | 357 | 356 | ||
2298 | 358 | >>> bug_watch_updater.updateBugWatches( | 357 | >>> bug_watch_updater.updateBugWatches( |
2299 | 359 | ... NegativeTimeSkewExternalBugTracker(), [], now=utc_now) | 358 | ... NegativeTimeSkewExternalBugTracker(), [], now=utc_now) |
2300 | 360 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2301 | 361 | Traceback (most recent call last): | 359 | Traceback (most recent call last): |
2302 | 362 | ... | 360 | ... |
2303 | 363 | lp.bugs.scripts.checkwatches.core.TooMuchTimeSkew: ... | 361 | lp.bugs.scripts.checkwatches.core.TooMuchTimeSkew: ... |
2304 | @@ -371,7 +369,6 @@ before re-raising the error. | |||
2305 | 371 | >>> server_time = utc_now - timedelta(minutes=25) | 369 | >>> server_time = utc_now - timedelta(minutes=25) |
2306 | 372 | >>> bug_watch_updater._getRemoteIdsToCheck( | 370 | >>> bug_watch_updater._getRemoteIdsToCheck( |
2307 | 373 | ... NegativeTimeSkewExternalBugTracker(), [], server_time, utc_now) | 371 | ... NegativeTimeSkewExternalBugTracker(), [], server_time, utc_now) |
2308 | 374 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2309 | 375 | Traceback (most recent call last): | 372 | Traceback (most recent call last): |
2310 | 376 | ... | 373 | ... |
2311 | 377 | lp.bugs.scripts.checkwatches.core.TooMuchTimeSkew: ... | 374 | lp.bugs.scripts.checkwatches.core.TooMuchTimeSkew: ... |
2312 | diff --git a/lib/lp/bugs/doc/initial-bug-contacts.txt b/lib/lp/bugs/doc/initial-bug-contacts.txt | |||
2313 | index 68e66c0..46e8ed2 100644 | |||
2314 | --- a/lib/lp/bugs/doc/initial-bug-contacts.txt | |||
2315 | +++ b/lib/lp/bugs/doc/initial-bug-contacts.txt | |||
2316 | @@ -29,7 +29,6 @@ logged in to call this method: | |||
2317 | 29 | >>> sample_person = personset.getByName("name12") | 29 | >>> sample_person = personset.getByName("name12") |
2318 | 30 | 30 | ||
2319 | 31 | >>> debian_firefox.addBugSubscription(sample_person, sample_person) | 31 | >>> debian_firefox.addBugSubscription(sample_person, sample_person) |
2320 | 32 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2321 | 33 | Traceback (most recent call last): | 32 | Traceback (most recent call last): |
2322 | 34 | ... | 33 | ... |
2323 | 35 | zope.security.interfaces.Unauthorized: ... | 34 | zope.security.interfaces.Unauthorized: ... |
2324 | @@ -80,7 +79,6 @@ raises a DeleteSubscriptionError. | |||
2325 | 80 | 79 | ||
2326 | 81 | >>> foobar = personset.getByName("name16") | 80 | >>> foobar = personset.getByName("name16") |
2327 | 82 | >>> debian_firefox.removeBugSubscription(foobar, foobar) | 81 | >>> debian_firefox.removeBugSubscription(foobar, foobar) |
2328 | 83 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2329 | 84 | Traceback (most recent call last): | 82 | Traceback (most recent call last): |
2330 | 85 | ... | 83 | ... |
2331 | 86 | lp.registry.errors.DeleteSubscriptionError: ... | 84 | lp.registry.errors.DeleteSubscriptionError: ... |
2332 | diff --git a/lib/lp/bugs/doc/malone-xmlrpc.txt b/lib/lp/bugs/doc/malone-xmlrpc.txt | |||
2333 | index 4e6d68d..5df5db6 100644 | |||
2334 | --- a/lib/lp/bugs/doc/malone-xmlrpc.txt | |||
2335 | +++ b/lib/lp/bugs/doc/malone-xmlrpc.txt | |||
2336 | @@ -165,7 +165,6 @@ Failing to specify a product or distribution. | |||
2337 | 165 | 165 | ||
2338 | 166 | >>> params = dict() | 166 | >>> params = dict() |
2339 | 167 | >>> filebug_api.filebug(params) | 167 | >>> filebug_api.filebug(params) |
2340 | 168 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2341 | 169 | Traceback (most recent call last): | 168 | Traceback (most recent call last): |
2342 | 170 | ... | 169 | ... |
2343 | 171 | xmlrpc.client.Fault: <Fault 60: 'Required arguments missing. You must specify either a product or distribution in which the bug exists.'> | 170 | xmlrpc.client.Fault: <Fault 60: 'Required arguments missing. You must specify either a product or distribution in which the bug exists.'> |
2344 | @@ -174,7 +173,6 @@ Specifying *both* a product and distribution. | |||
2345 | 174 | 173 | ||
2346 | 175 | >>> params = dict(product='firefox', distro='ubuntu') | 174 | >>> params = dict(product='firefox', distro='ubuntu') |
2347 | 176 | >>> filebug_api.filebug(params) | 175 | >>> filebug_api.filebug(params) |
2348 | 177 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2349 | 178 | Traceback (most recent call last): | 176 | Traceback (most recent call last): |
2350 | 179 | ... | 177 | ... |
2351 | 180 | xmlrpc.client.Fault: <Fault 70: 'Too many arguments. You may specify either a product or a distribution, but not both.'> | 178 | xmlrpc.client.Fault: <Fault 70: 'Too many arguments. You may specify either a product or a distribution, but not both.'> |
2352 | @@ -183,7 +181,6 @@ Specifying a non-existent product. | |||
2353 | 183 | 181 | ||
2354 | 184 | >>> params = dict(product='nosuchproduct') | 182 | >>> params = dict(product='nosuchproduct') |
2355 | 185 | >>> filebug_api.filebug(params) | 183 | >>> filebug_api.filebug(params) |
2356 | 186 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2357 | 187 | Traceback (most recent call last): | 184 | Traceback (most recent call last): |
2358 | 188 | ... | 185 | ... |
2359 | 189 | xmlrpc.client.Fault: <Fault 10: 'No such project: nosuchproduct'> | 186 | xmlrpc.client.Fault: <Fault 10: 'No such project: nosuchproduct'> |
2360 | @@ -192,7 +189,6 @@ Specifying a non-existent distribution. | |||
2361 | 192 | 189 | ||
2362 | 193 | >>> params = dict(distro='nosuchdistro') | 190 | >>> params = dict(distro='nosuchdistro') |
2363 | 194 | >>> filebug_api.filebug(params) | 191 | >>> filebug_api.filebug(params) |
2364 | 195 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2365 | 196 | Traceback (most recent call last): | 192 | Traceback (most recent call last): |
2366 | 197 | ... | 193 | ... |
2367 | 198 | xmlrpc.client.Fault: <Fault 80: 'No such distribution: nosuchdistro'> | 194 | xmlrpc.client.Fault: <Fault 80: 'No such distribution: nosuchdistro'> |
2368 | @@ -201,7 +197,6 @@ Specifying a non-existent package. | |||
2369 | 201 | 197 | ||
2370 | 202 | >>> params = dict(distro='ubuntu', package='nosuchpackage') | 198 | >>> params = dict(distro='ubuntu', package='nosuchpackage') |
2371 | 203 | >>> filebug_api.filebug(params) | 199 | >>> filebug_api.filebug(params) |
2372 | 204 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2373 | 205 | Traceback (most recent call last): | 200 | Traceback (most recent call last): |
2374 | 206 | ... | 201 | ... |
2375 | 207 | xmlrpc.client.Fault: <Fault 90: 'No such package: nosuchpackage'> | 202 | xmlrpc.client.Fault: <Fault 90: 'No such package: nosuchpackage'> |
2376 | @@ -210,7 +205,6 @@ Missing summary. | |||
2377 | 210 | 205 | ||
2378 | 211 | >>> params = dict(product='firefox') | 206 | >>> params = dict(product='firefox') |
2379 | 212 | >>> filebug_api.filebug(params) | 207 | >>> filebug_api.filebug(params) |
2380 | 213 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2381 | 214 | Traceback (most recent call last): | 208 | Traceback (most recent call last): |
2382 | 215 | ... | 209 | ... |
2383 | 216 | xmlrpc.client.Fault: <Fault 100: 'Required parameter missing: summary'> | 210 | xmlrpc.client.Fault: <Fault 100: 'Required parameter missing: summary'> |
2384 | @@ -219,7 +213,6 @@ Missing comment. | |||
2385 | 219 | 213 | ||
2386 | 220 | >>> params = dict(product='firefox', summary='the summary') | 214 | >>> params = dict(product='firefox', summary='the summary') |
2387 | 221 | >>> filebug_api.filebug(params) | 215 | >>> filebug_api.filebug(params) |
2388 | 222 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2389 | 223 | Traceback (most recent call last): | 216 | Traceback (most recent call last): |
2390 | 224 | ... | 217 | ... |
2391 | 225 | xmlrpc.client.Fault: <Fault 100: 'Required parameter missing: comment'> | 218 | xmlrpc.client.Fault: <Fault 100: 'Required parameter missing: comment'> |
2392 | @@ -230,7 +223,6 @@ Invalid subscriber. | |||
2393 | 230 | ... product='firefox', summary='summary', comment='comment', | 223 | ... product='firefox', summary='summary', comment='comment', |
2394 | 231 | ... subscribers=["foo.bar@canonical.com", "nosuch@subscriber.com"]) | 224 | ... subscribers=["foo.bar@canonical.com", "nosuch@subscriber.com"]) |
2395 | 232 | >>> filebug_api.filebug(params) | 225 | >>> filebug_api.filebug(params) |
2396 | 233 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2397 | 234 | Traceback (most recent call last): | 226 | Traceback (most recent call last): |
2398 | 235 | ... | 227 | ... |
2399 | 236 | xmlrpc.client.Fault: <Fault 20: 'Invalid subscriber: No user with the email address "nosuch@subscriber.com" was found'> | 228 | xmlrpc.client.Fault: <Fault 20: 'Invalid subscriber: No user with the email address "nosuch@subscriber.com" was found'> |
2400 | diff --git a/lib/lp/bugs/doc/official-bug-tags.txt b/lib/lp/bugs/doc/official-bug-tags.txt | |||
2401 | index 5d939be..44f7d93 100644 | |||
2402 | --- a/lib/lp/bugs/doc/official-bug-tags.txt | |||
2403 | +++ b/lib/lp/bugs/doc/official-bug-tags.txt | |||
2404 | @@ -41,7 +41,6 @@ But bug tags must be unique for each product and distribution. | |||
2405 | 41 | >>> store.add(distro_tag3) | 41 | >>> store.add(distro_tag3) |
2406 | 42 | <lp.bugs.model.bugtarget.OfficialBugTag object at... | 42 | <lp.bugs.model.bugtarget.OfficialBugTag object at... |
2407 | 43 | >>> store.flush() | 43 | >>> store.flush() |
2408 | 44 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2409 | 45 | Traceback (most recent call last): | 44 | Traceback (most recent call last): |
2410 | 46 | storm.database.IntegrityError: ... | 45 | storm.database.IntegrityError: ... |
2411 | 47 | 46 | ||
2412 | @@ -116,25 +115,21 @@ Ordinary users cannot add and remove official bug tags. | |||
2413 | 116 | 115 | ||
2414 | 117 | >>> login('no-priv@canonical.com') | 116 | >>> login('no-priv@canonical.com') |
2415 | 118 | >>> ubuntu.addOfficialBugTag(u'foo') | 117 | >>> ubuntu.addOfficialBugTag(u'foo') |
2416 | 119 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2417 | 120 | Traceback (most recent call last): | 118 | Traceback (most recent call last): |
2418 | 121 | ... | 119 | ... |
2419 | 122 | zope.security.interfaces.Unauthorized: (<Distribution 'Ubuntu' (ubuntu)>, 'addOfficialBugTag', 'launchpad.Edit') | 120 | zope.security.interfaces.Unauthorized: (<Distribution 'Ubuntu' (ubuntu)>, 'addOfficialBugTag', 'launchpad.Edit') |
2420 | 123 | 121 | ||
2421 | 124 | >>> ubuntu.removeOfficialBugTag(u'foo') | 122 | >>> ubuntu.removeOfficialBugTag(u'foo') |
2422 | 125 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2423 | 126 | Traceback (most recent call last): | 123 | Traceback (most recent call last): |
2424 | 127 | ... | 124 | ... |
2425 | 128 | zope.security.interfaces.Unauthorized: (<Distribution 'Ubuntu' (ubuntu)>, 'removeOfficialBugTag', 'launchpad.Edit') | 125 | zope.security.interfaces.Unauthorized: (<Distribution 'Ubuntu' (ubuntu)>, 'removeOfficialBugTag', 'launchpad.Edit') |
2426 | 129 | 126 | ||
2427 | 130 | >>> firefox.addOfficialBugTag(u'foo') | 127 | >>> firefox.addOfficialBugTag(u'foo') |
2428 | 131 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2429 | 132 | Traceback (most recent call last): | 128 | Traceback (most recent call last): |
2430 | 133 | ... | 129 | ... |
2431 | 134 | zope.security.interfaces.Unauthorized: (<Product at ...>, 'addOfficialBugTag', 'launchpad.Edit') | 130 | zope.security.interfaces.Unauthorized: (<Product at ...>, 'addOfficialBugTag', 'launchpad.Edit') |
2432 | 135 | 131 | ||
2433 | 136 | >>> firefox.removeOfficialBugTag(u'foo') | 132 | >>> firefox.removeOfficialBugTag(u'foo') |
2434 | 137 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2435 | 138 | Traceback (most recent call last): | 133 | Traceback (most recent call last): |
2436 | 139 | ... | 134 | ... |
2437 | 140 | zope.security.interfaces.Unauthorized: (<Product at ...>, 'removeOfficialBugTag', 'launchpad.Edit') | 135 | zope.security.interfaces.Unauthorized: (<Product at ...>, 'removeOfficialBugTag', 'launchpad.Edit') |
2438 | @@ -175,7 +170,6 @@ But only writable for users with edit permissions. | |||
2439 | 175 | 170 | ||
2440 | 176 | >>> login('no-priv@canonical.com') | 171 | >>> login('no-priv@canonical.com') |
2441 | 177 | >>> ubuntu.official_bug_tags = [u'foo', u'bar'] | 172 | >>> ubuntu.official_bug_tags = [u'foo', u'bar'] |
2442 | 178 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2443 | 179 | Traceback (most recent call last): | 173 | Traceback (most recent call last): |
2444 | 180 | ... | 174 | ... |
2445 | 181 | zope.security.interfaces.Unauthorized: (<Distribution 'Ubuntu' (ubuntu)>, 'official_bug_tags', 'launchpad.BugSupervisor') | 175 | zope.security.interfaces.Unauthorized: (<Distribution 'Ubuntu' (ubuntu)>, 'official_bug_tags', 'launchpad.BugSupervisor') |
2446 | diff --git a/lib/lp/bugs/doc/vocabularies.txt b/lib/lp/bugs/doc/vocabularies.txt | |||
2447 | index bfd449b..a7916bc 100644 | |||
2448 | --- a/lib/lp/bugs/doc/vocabularies.txt | |||
2449 | +++ b/lib/lp/bugs/doc/vocabularies.txt | |||
2450 | @@ -244,7 +244,6 @@ Trying to get a non-existent release will result in a | |||
2451 | 244 | NoSuchDistroSeries error. | 244 | NoSuchDistroSeries error. |
2452 | 245 | 245 | ||
2453 | 246 | >>> series_vocabulary.getTermByToken('non-such-release') | 246 | >>> series_vocabulary.getTermByToken('non-such-release') |
2454 | 247 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2455 | 248 | Traceback (most recent call last): | 247 | Traceback (most recent call last): |
2456 | 249 | ... | 248 | ... |
2457 | 250 | lp.registry.errors.NoSuchDistroSeries: ... | 249 | lp.registry.errors.NoSuchDistroSeries: ... |
2458 | diff --git a/lib/lp/bugs/stories/bug-privacy/xx-bug-privacy.txt b/lib/lp/bugs/stories/bug-privacy/xx-bug-privacy.txt | |||
2459 | index a0b911d..f6c5c45 100644 | |||
2460 | --- a/lib/lp/bugs/stories/bug-privacy/xx-bug-privacy.txt | |||
2461 | +++ b/lib/lp/bugs/stories/bug-privacy/xx-bug-privacy.txt | |||
2462 | @@ -80,7 +80,6 @@ Anonymous users cannot see private bugs filed on distros, of course! | |||
2463 | 80 | Not directly. | 80 | Not directly. |
2464 | 81 | 81 | ||
2465 | 82 | >>> anon_browser.open("http://launchpad.test/bugs/14") | 82 | >>> anon_browser.open("http://launchpad.test/bugs/14") |
2466 | 83 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2467 | 84 | Traceback (most recent call last): | 83 | Traceback (most recent call last): |
2468 | 85 | ... | 84 | ... |
2469 | 86 | zope.publisher.interfaces.NotFound: ... | 85 | zope.publisher.interfaces.NotFound: ... |
2470 | @@ -97,7 +96,6 @@ Neither directly. | |||
2471 | 97 | 96 | ||
2472 | 98 | >>> browser = setupBrowser("Basic no-privs@canonical.com:test") | 97 | >>> browser = setupBrowser("Basic no-privs@canonical.com:test") |
2473 | 99 | >>> browser.open("http://launchpad.test/bugs/14") | 98 | >>> browser.open("http://launchpad.test/bugs/14") |
2474 | 100 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2475 | 101 | Traceback (most recent call last): | 99 | Traceback (most recent call last): |
2476 | 102 | ... | 100 | ... |
2477 | 103 | zope.publisher.interfaces.NotFound: ... | 101 | zope.publisher.interfaces.NotFound: ... |
2478 | diff --git a/lib/lp/bugs/stories/bug-privacy/xx-presenting-private-bugs.txt b/lib/lp/bugs/stories/bug-privacy/xx-presenting-private-bugs.txt | |||
2479 | index 81778ee..f56deb7 100644 | |||
2480 | --- a/lib/lp/bugs/stories/bug-privacy/xx-presenting-private-bugs.txt | |||
2481 | +++ b/lib/lp/bugs/stories/bug-privacy/xx-presenting-private-bugs.txt | |||
2482 | @@ -61,13 +61,11 @@ But poor old no privs does not, and neither do anonymous users: | |||
2483 | 61 | 61 | ||
2484 | 62 | >>> browser = setupBrowser(auth="Basic no-priv@canonical.com:test") | 62 | >>> browser = setupBrowser(auth="Basic no-priv@canonical.com:test") |
2485 | 63 | >>> browser.open('http://bugs.launchpad.test/bugs/4') | 63 | >>> browser.open('http://bugs.launchpad.test/bugs/4') |
2486 | 64 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2487 | 65 | Traceback (most recent call last): | 64 | Traceback (most recent call last): |
2488 | 66 | ... | 65 | ... |
2489 | 67 | zope.publisher.interfaces.NotFound: ... | 66 | zope.publisher.interfaces.NotFound: ... |
2490 | 68 | 67 | ||
2491 | 69 | >>> anon_browser.open('http://bugs.launchpad.test/bugs/4') | 68 | >>> anon_browser.open('http://bugs.launchpad.test/bugs/4') |
2492 | 70 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2493 | 71 | Traceback (most recent call last): | 69 | Traceback (most recent call last): |
2494 | 72 | ... | 70 | ... |
2495 | 73 | zope.publisher.interfaces.NotFound: ... | 71 | zope.publisher.interfaces.NotFound: ... |
2496 | diff --git a/lib/lp/bugs/stories/bug-release-management/xx-anonymous-bug-nomination.txt b/lib/lp/bugs/stories/bug-release-management/xx-anonymous-bug-nomination.txt | |||
2497 | index 947bbb4..52c7c53 100644 | |||
2498 | --- a/lib/lp/bugs/stories/bug-release-management/xx-anonymous-bug-nomination.txt | |||
2499 | +++ b/lib/lp/bugs/stories/bug-release-management/xx-anonymous-bug-nomination.txt | |||
2500 | @@ -7,7 +7,6 @@ launchpad.Edit permission is required to do so.: | |||
2501 | 7 | >>> anon_browser.open('http://bugs.launchpad.test/jokosher/+bug/12') | 7 | >>> anon_browser.open('http://bugs.launchpad.test/jokosher/+bug/12') |
2502 | 8 | 8 | ||
2503 | 9 | >>> anon_browser.getLink('Nominate for series').click() | 9 | >>> anon_browser.getLink('Nominate for series').click() |
2504 | 10 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2505 | 11 | Traceback (most recent call last): | 10 | Traceback (most recent call last): |
2506 | 12 | ... | 11 | ... |
2507 | 13 | zope.security.interfaces.Unauthorized: ...'launchpad.Edit'... | 12 | zope.security.interfaces.Unauthorized: ...'launchpad.Edit'... |
2508 | diff --git a/lib/lp/bugs/stories/bug-release-management/xx-bug-release-management.txt b/lib/lp/bugs/stories/bug-release-management/xx-bug-release-management.txt | |||
2509 | index 7da1064..9dff651 100644 | |||
2510 | --- a/lib/lp/bugs/stories/bug-release-management/xx-bug-release-management.txt | |||
2511 | +++ b/lib/lp/bugs/stories/bug-release-management/xx-bug-release-management.txt | |||
2512 | @@ -203,7 +203,6 @@ in the release task. | |||
2513 | 203 | >>> ubuntu_edit_url = ( | 203 | >>> ubuntu_edit_url = ( |
2514 | 204 | ... 'http://bugs.launchpad.test/ubuntu/+bug/2/+editstatus') | 204 | ... 'http://bugs.launchpad.test/ubuntu/+bug/2/+editstatus') |
2515 | 205 | >>> user_browser.getLink(url=ubuntu_edit_url) | 205 | >>> user_browser.getLink(url=ubuntu_edit_url) |
2516 | 206 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2517 | 207 | Traceback (most recent call last): | 206 | Traceback (most recent call last): |
2518 | 208 | ... | 207 | ... |
2519 | 209 | zope.testbrowser.browser.LinkNotFoundError | 208 | zope.testbrowser.browser.LinkNotFoundError |
2520 | @@ -255,7 +254,6 @@ the distribution task won't be editable. | |||
2521 | 255 | >>> user_browser.getControl('Save Changes').click() | 254 | >>> user_browser.getControl('Save Changes').click() |
2522 | 256 | 255 | ||
2523 | 257 | >>> user_browser.getLink(url=ubuntu_edit_url) | 256 | >>> user_browser.getLink(url=ubuntu_edit_url) |
2524 | 258 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2525 | 259 | Traceback (most recent call last): | 257 | Traceback (most recent call last): |
2526 | 260 | ... | 258 | ... |
2527 | 261 | zope.testbrowser.browser.LinkNotFoundError | 259 | zope.testbrowser.browser.LinkNotFoundError |
2528 | @@ -272,7 +270,6 @@ general distribution task will remain uneditable. | |||
2529 | 272 | >>> user_browser.getControl('Save Changes').click() | 270 | >>> user_browser.getControl('Save Changes').click() |
2530 | 273 | 271 | ||
2531 | 274 | >>> user_browser.getLink(url=ubuntu_edit_url) | 272 | >>> user_browser.getLink(url=ubuntu_edit_url) |
2532 | 275 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2533 | 276 | Traceback (most recent call last): | 273 | Traceback (most recent call last): |
2534 | 277 | ... | 274 | ... |
2535 | 278 | zope.testbrowser.browser.LinkNotFoundError | 275 | zope.testbrowser.browser.LinkNotFoundError |
2536 | @@ -293,7 +290,6 @@ in the series task. | |||
2537 | 293 | >>> firefox_edit_url = ( | 290 | >>> firefox_edit_url = ( |
2538 | 294 | ... 'http://bugs.launchpad.test/firefox/+bug/4/+editstatus') | 291 | ... 'http://bugs.launchpad.test/firefox/+bug/4/+editstatus') |
2539 | 295 | >>> user_browser.getLink(url=firefox_edit_url) | 292 | >>> user_browser.getLink(url=firefox_edit_url) |
2540 | 296 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2541 | 297 | Traceback (most recent call last): | 293 | Traceback (most recent call last): |
2542 | 298 | ... | 294 | ... |
2543 | 299 | zope.testbrowser.browser.LinkNotFoundError | 295 | zope.testbrowser.browser.LinkNotFoundError |
2544 | @@ -347,7 +343,6 @@ the distribution task won't be editable. | |||
2545 | 347 | >>> user_browser.getControl('Save Changes').click() | 343 | >>> user_browser.getControl('Save Changes').click() |
2546 | 348 | 344 | ||
2547 | 349 | >>> user_browser.getLink(url=firefox_edit_url) | 345 | >>> user_browser.getLink(url=firefox_edit_url) |
2548 | 350 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2549 | 351 | Traceback (most recent call last): | 346 | Traceback (most recent call last): |
2550 | 352 | ... | 347 | ... |
2551 | 353 | zope.testbrowser.browser.LinkNotFoundError | 348 | zope.testbrowser.browser.LinkNotFoundError |
2552 | @@ -364,7 +359,6 @@ general distribution task will remain uneditable. | |||
2553 | 364 | >>> user_browser.getControl('Save Changes').click() | 359 | >>> user_browser.getControl('Save Changes').click() |
2554 | 365 | 360 | ||
2555 | 366 | >>> user_browser.getLink(url=firefox_edit_url) | 361 | >>> user_browser.getLink(url=firefox_edit_url) |
2556 | 367 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2557 | 368 | Traceback (most recent call last): | 362 | Traceback (most recent call last): |
2558 | 369 | ... | 363 | ... |
2559 | 370 | zope.testbrowser.browser.LinkNotFoundError | 364 | zope.testbrowser.browser.LinkNotFoundError |
2560 | diff --git a/lib/lp/bugs/stories/bug-tags/xx-official-bug-tags.txt b/lib/lp/bugs/stories/bug-tags/xx-official-bug-tags.txt | |||
2561 | index 9b3596f..4fa1eb4 100644 | |||
2562 | --- a/lib/lp/bugs/stories/bug-tags/xx-official-bug-tags.txt | |||
2563 | +++ b/lib/lp/bugs/stories/bug-tags/xx-official-bug-tags.txt | |||
2564 | @@ -28,14 +28,12 @@ distributions but not for other bug targets. | |||
2565 | 28 | >>> admin_browser.open( | 28 | >>> admin_browser.open( |
2566 | 29 | ... 'http://bugs.launchpad.test/firefox/1.0') | 29 | ... 'http://bugs.launchpad.test/firefox/1.0') |
2567 | 30 | >>> print(admin_browser.getLink('Edit official tags')) | 30 | >>> print(admin_browser.getLink('Edit official tags')) |
2568 | 31 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2569 | 32 | Traceback (most recent call last): | 31 | Traceback (most recent call last): |
2570 | 33 | ... | 32 | ... |
2571 | 34 | zope.testbrowser.browser.LinkNotFoundError | 33 | zope.testbrowser.browser.LinkNotFoundError |
2572 | 35 | 34 | ||
2573 | 36 | >>> admin_browser.open( | 35 | >>> admin_browser.open( |
2574 | 37 | ... 'http://bugs.launchpad.test/firefox/1.0/+manage-official-tags') | 36 | ... 'http://bugs.launchpad.test/firefox/1.0/+manage-official-tags') |
2575 | 38 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2576 | 39 | Traceback (most recent call last): | 37 | Traceback (most recent call last): |
2577 | 40 | ... | 38 | ... |
2578 | 41 | zope.publisher.interfaces.NotFound: ... | 39 | zope.publisher.interfaces.NotFound: ... |
2579 | @@ -45,14 +43,12 @@ administrators but not for ordinary users. | |||
2580 | 45 | 43 | ||
2581 | 46 | >>> browser.open('http://bugs.launchpad.test/firefox') | 44 | >>> browser.open('http://bugs.launchpad.test/firefox') |
2582 | 47 | >>> print(browser.getLink('Edit official tags')) | 45 | >>> print(browser.getLink('Edit official tags')) |
2583 | 48 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2584 | 49 | Traceback (most recent call last): | 46 | Traceback (most recent call last): |
2585 | 50 | ... | 47 | ... |
2586 | 51 | zope.testbrowser.browser.LinkNotFoundError | 48 | zope.testbrowser.browser.LinkNotFoundError |
2587 | 52 | 49 | ||
2588 | 53 | >>> browser.open( | 50 | >>> browser.open( |
2589 | 54 | ... 'http://bugs.launchpad.test/firefox/+manage-official-tags') | 51 | ... 'http://bugs.launchpad.test/firefox/+manage-official-tags') |
2590 | 55 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2591 | 56 | Traceback (most recent call last): | 52 | Traceback (most recent call last): |
2592 | 57 | ... | 53 | ... |
2593 | 58 | zope.security.interfaces.Unauthorized: ... | 54 | zope.security.interfaces.Unauthorized: ... |
2594 | diff --git a/lib/lp/bugs/stories/bugattachments/xx-bugattachments.txt b/lib/lp/bugs/stories/bugattachments/xx-bugattachments.txt | |||
2595 | index caa26a7..01f6659 100644 | |||
2596 | --- a/lib/lp/bugs/stories/bugattachments/xx-bugattachments.txt | |||
2597 | +++ b/lib/lp/bugs/stories/bugattachments/xx-bugattachments.txt | |||
2598 | @@ -2,7 +2,6 @@ We need to login in order to add attachments. | |||
2599 | 2 | 2 | ||
2600 | 3 | >>> anon_browser.open( | 3 | >>> anon_browser.open( |
2601 | 4 | ... 'http://bugs.launchpad.test/firefox/+bug/1/+addcomment') | 4 | ... 'http://bugs.launchpad.test/firefox/+bug/1/+addcomment') |
2602 | 5 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2603 | 6 | Traceback (most recent call last): | 5 | Traceback (most recent call last): |
2604 | 7 | ... | 6 | ... |
2605 | 8 | zope.security.interfaces.Unauthorized: ... | 7 | zope.security.interfaces.Unauthorized: ... |
2606 | diff --git a/lib/lp/bugs/stories/bugs/bug-add-subscriber.txt b/lib/lp/bugs/stories/bugs/bug-add-subscriber.txt | |||
2607 | index 0e82fc5..e0bbfc9 100644 | |||
2608 | --- a/lib/lp/bugs/stories/bugs/bug-add-subscriber.txt | |||
2609 | +++ b/lib/lp/bugs/stories/bugs/bug-add-subscriber.txt | |||
2610 | @@ -9,7 +9,6 @@ Anonymous users should not be able to subscribe someone else to a bug. | |||
2611 | 9 | 9 | ||
2612 | 10 | >>> anon_browser.open('http://bugs.launchpad.test/firefox/+bug/1') | 10 | >>> anon_browser.open('http://bugs.launchpad.test/firefox/+bug/1') |
2613 | 11 | >>> anon_browser.getLink('Subscribe someone else').click() | 11 | >>> anon_browser.getLink('Subscribe someone else').click() |
2614 | 12 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2615 | 13 | Traceback (most recent call last): | 12 | Traceback (most recent call last): |
2616 | 14 | ... | 13 | ... |
2617 | 15 | zope.security.interfaces.Unauthorized: ... | 14 | zope.security.interfaces.Unauthorized: ... |
2618 | diff --git a/lib/lp/bugs/stories/bugs/xx-bug-comment-attach-file.txt b/lib/lp/bugs/stories/bugs/xx-bug-comment-attach-file.txt | |||
2619 | index 7d38b84..a870168 100644 | |||
2620 | --- a/lib/lp/bugs/stories/bugs/xx-bug-comment-attach-file.txt | |||
2621 | +++ b/lib/lp/bugs/stories/bugs/xx-bug-comment-attach-file.txt | |||
2622 | @@ -6,7 +6,6 @@ case, it means being logged in. | |||
2623 | 6 | 6 | ||
2624 | 7 | >>> anon_browser.open( | 7 | >>> anon_browser.open( |
2625 | 8 | ... "http://bugs.launchpad.test/firefox/+bug/1/+addcomment-form") | 8 | ... "http://bugs.launchpad.test/firefox/+bug/1/+addcomment-form") |
2626 | 9 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2627 | 10 | Traceback (most recent call last): | 9 | Traceback (most recent call last): |
2628 | 11 | .. | 10 | .. |
2629 | 12 | zope.security.interfaces.Unauthorized: ...launchpad.Edit... | 11 | zope.security.interfaces.Unauthorized: ...launchpad.Edit... |
2630 | diff --git a/lib/lp/bugs/stories/bugs/xx-bug-create-question.txt b/lib/lp/bugs/stories/bugs/xx-bug-create-question.txt | |||
2631 | index f9ebcda..b2d2ee3 100644 | |||
2632 | --- a/lib/lp/bugs/stories/bugs/xx-bug-create-question.txt | |||
2633 | +++ b/lib/lp/bugs/stories/bugs/xx-bug-create-question.txt | |||
2634 | @@ -17,7 +17,6 @@ An anonymous user cannot create a question. | |||
2635 | 17 | 'Bug #10 ... : Bugs : linux-source-2.6.15 package : Ubuntu' | 17 | 'Bug #10 ... : Bugs : linux-source-2.6.15 package : Ubuntu' |
2636 | 18 | 18 | ||
2637 | 19 | >>> anon_browser.getLink('Convert to a question').click() | 19 | >>> anon_browser.getLink('Convert to a question').click() |
2638 | 20 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2639 | 21 | Traceback (most recent call last): | 20 | Traceback (most recent call last): |
2640 | 22 | ... | 21 | ... |
2641 | 23 | zope.security.interfaces.Unauthorized: ... | 22 | zope.security.interfaces.Unauthorized: ... |
2642 | diff --git a/lib/lp/bugs/stories/bugs/xx-bug-edit.txt b/lib/lp/bugs/stories/bugs/xx-bug-edit.txt | |||
2643 | index 9e9af89..7e888cd 100644 | |||
2644 | --- a/lib/lp/bugs/stories/bugs/xx-bug-edit.txt | |||
2645 | +++ b/lib/lp/bugs/stories/bugs/xx-bug-edit.txt | |||
2646 | @@ -40,7 +40,6 @@ there is no link to the original description. | |||
2647 | 40 | 40 | ||
2648 | 41 | >>> user_browser.open('http://bugs.launchpad.test/firefox/+bug/4') | 41 | >>> user_browser.open('http://bugs.launchpad.test/firefox/+bug/4') |
2649 | 42 | >>> user_browser.getLink('original description') | 42 | >>> user_browser.getLink('original description') |
2650 | 43 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2651 | 44 | Traceback (most recent call last): | 43 | Traceback (most recent call last): |
2652 | 45 | ... | 44 | ... |
2653 | 46 | zope.testbrowser.browser.LinkNotFoundError | 45 | zope.testbrowser.browser.LinkNotFoundError |
2654 | diff --git a/lib/lp/bugs/stories/bugs/xx-bug-hidden-comments.txt b/lib/lp/bugs/stories/bugs/xx-bug-hidden-comments.txt | |||
2655 | index 31fb476..1a8c9cc 100644 | |||
2656 | --- a/lib/lp/bugs/stories/bugs/xx-bug-hidden-comments.txt | |||
2657 | +++ b/lib/lp/bugs/stories/bugs/xx-bug-hidden-comments.txt | |||
2658 | @@ -59,7 +59,6 @@ Ordinary users also cannot reach the message via direct link. | |||
2659 | 59 | >>> test_browser.open( | 59 | >>> test_browser.open( |
2660 | 60 | ... 'http://bugs.launchpad.test' | 60 | ... 'http://bugs.launchpad.test' |
2661 | 61 | ... '/jokosher/+bug/11/comments/%d' % (int(latest_index[1:]) + 1)) | 61 | ... '/jokosher/+bug/11/comments/%d' % (int(latest_index[1:]) + 1)) |
2662 | 62 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2663 | 63 | Traceback (most recent call last): | 62 | Traceback (most recent call last): |
2664 | 64 | ... | 63 | ... |
2665 | 65 | zope.publisher.interfaces.NotFound: ... | 64 | zope.publisher.interfaces.NotFound: ... |
2666 | diff --git a/lib/lp/bugs/stories/bugs/xx-bug-nomination-table-row.txt b/lib/lp/bugs/stories/bugs/xx-bug-nomination-table-row.txt | |||
2667 | index f5b0609..747f331 100644 | |||
2668 | --- a/lib/lp/bugs/stories/bugs/xx-bug-nomination-table-row.txt | |||
2669 | +++ b/lib/lp/bugs/stories/bugs/xx-bug-nomination-table-row.txt | |||
2670 | @@ -56,7 +56,6 @@ buttons) directly either. | |||
2671 | 56 | >>> user_browser.open( | 56 | >>> user_browser.open( |
2672 | 57 | ... "http://launchpad.test/distros/ubuntu/+source/mozilla-firefox/" | 57 | ... "http://launchpad.test/distros/ubuntu/+source/mozilla-firefox/" |
2673 | 58 | ... "+bug/1/nominations/2/+edit-form") | 58 | ... "+bug/1/nominations/2/+edit-form") |
2674 | 59 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2675 | 60 | Traceback (most recent call last): | 59 | Traceback (most recent call last): |
2676 | 61 | ... | 60 | ... |
2677 | 62 | zope.security.interfaces.Unauthorized: ... | 61 | zope.security.interfaces.Unauthorized: ... |
2678 | diff --git a/lib/lp/bugs/stories/bugs/xx-bugs-advanced-search-upstream-status.txt b/lib/lp/bugs/stories/bugs/xx-bugs-advanced-search-upstream-status.txt | |||
2679 | index cdbc150..b405996 100644 | |||
2680 | --- a/lib/lp/bugs/stories/bugs/xx-bugs-advanced-search-upstream-status.txt | |||
2681 | +++ b/lib/lp/bugs/stories/bugs/xx-bugs-advanced-search-upstream-status.txt | |||
2682 | @@ -211,7 +211,6 @@ Other values for status_upstream lead to an error. | |||
2683 | 211 | >>> anon_browser.open( | 211 | >>> anon_browser.open( |
2684 | 212 | ... 'http://bugs.launchpad.test/ubuntu/+bugs?' + urlencode( | 212 | ... 'http://bugs.launchpad.test/ubuntu/+bugs?' + urlencode( |
2685 | 213 | ... bookmark_params, True)) | 213 | ... bookmark_params, True)) |
2686 | 214 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2687 | 215 | Traceback (most recent call last): | 214 | Traceback (most recent call last): |
2688 | 216 | ... | 215 | ... |
2689 | 217 | lp.app.errors.UnexpectedFormData: Unexpected value for field 'status_upstream'. Perhaps your bookmarks are out of date or you changed the URL by hand? | 216 | lp.app.errors.UnexpectedFormData: Unexpected value for field 'status_upstream'. Perhaps your bookmarks are out of date or you changed the URL by hand? |
2690 | diff --git a/lib/lp/bugs/stories/bugs/xx-distribution-bugs-page.txt b/lib/lp/bugs/stories/bugs/xx-distribution-bugs-page.txt | |||
2691 | index 0a114d2..ef5e0be 100644 | |||
2692 | --- a/lib/lp/bugs/stories/bugs/xx-distribution-bugs-page.txt | |||
2693 | +++ b/lib/lp/bugs/stories/bugs/xx-distribution-bugs-page.txt | |||
2694 | @@ -86,7 +86,6 @@ see any link reporting that bugs can expire. | |||
2695 | 86 | 86 | ||
2696 | 87 | >>> anon_browser.open('http://bugs.launchpad.test/debian/+bugs') | 87 | >>> anon_browser.open('http://bugs.launchpad.test/debian/+bugs') |
2697 | 88 | >>> expirable_bugs_link = anon_browser.getLink('Incomplete bugs') | 88 | >>> expirable_bugs_link = anon_browser.getLink('Incomplete bugs') |
2698 | 89 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2699 | 90 | Traceback (most recent call last): | 89 | Traceback (most recent call last): |
2700 | 91 | ... | 90 | ... |
2701 | 92 | zope.testbrowser.browser.LinkNotFoundError | 91 | zope.testbrowser.browser.LinkNotFoundError |
2702 | diff --git a/lib/lp/bugs/stories/bugs/xx-incomplete-bugs.txt b/lib/lp/bugs/stories/bugs/xx-incomplete-bugs.txt | |||
2703 | index b54b9f1..8bbe996 100644 | |||
2704 | --- a/lib/lp/bugs/stories/bugs/xx-incomplete-bugs.txt | |||
2705 | +++ b/lib/lp/bugs/stories/bugs/xx-incomplete-bugs.txt | |||
2706 | @@ -180,7 +180,6 @@ This specialized list does not include the search form. So there is no | |||
2707 | 180 | The 'Report a bug' link is also not present. | 180 | The 'Report a bug' link is also not present. |
2708 | 181 | 181 | ||
2709 | 182 | >>> user_browser.getLink('Report a bug') | 182 | >>> user_browser.getLink('Report a bug') |
2710 | 183 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2711 | 184 | Traceback (most recent call last): | 183 | Traceback (most recent call last): |
2712 | 185 | ... | 184 | ... |
2713 | 186 | zope.testbrowser.browser.LinkNotFoundError | 185 | zope.testbrowser.browser.LinkNotFoundError |
2714 | diff --git a/lib/lp/bugs/stories/bugs/xx-product-bugs-page.txt b/lib/lp/bugs/stories/bugs/xx-product-bugs-page.txt | |||
2715 | index 5d17888..fdc8858 100644 | |||
2716 | --- a/lib/lp/bugs/stories/bugs/xx-product-bugs-page.txt | |||
2717 | +++ b/lib/lp/bugs/stories/bugs/xx-product-bugs-page.txt | |||
2718 | @@ -98,7 +98,6 @@ cannot see any link reporting that bugs can expire. | |||
2719 | 98 | 98 | ||
2720 | 99 | >>> anon_browser.open('http://bugs.launchpad.test/thunderbird') | 99 | >>> anon_browser.open('http://bugs.launchpad.test/thunderbird') |
2721 | 100 | >>> expirable_bugs_link = anon_browser.getLink('Incomplete bugs') | 100 | >>> expirable_bugs_link = anon_browser.getLink('Incomplete bugs') |
2722 | 101 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2723 | 102 | Traceback (most recent call last): | 101 | Traceback (most recent call last): |
2724 | 103 | ... | 102 | ... |
2725 | 104 | zope.testbrowser.browser.LinkNotFoundError | 103 | zope.testbrowser.browser.LinkNotFoundError |
2726 | diff --git a/lib/lp/bugs/stories/bugs/xx-unique-ids-on-bug-page.txt b/lib/lp/bugs/stories/bugs/xx-unique-ids-on-bug-page.txt | |||
2727 | index b183d8f..39d7cb4 100644 | |||
2728 | --- a/lib/lp/bugs/stories/bugs/xx-unique-ids-on-bug-page.txt | |||
2729 | +++ b/lib/lp/bugs/stories/bugs/xx-unique-ids-on-bug-page.txt | |||
2730 | @@ -11,7 +11,6 @@ For example, bug one has more than one Package field. | |||
2731 | 11 | 11 | ||
2732 | 12 | >>> user_browser.open('http://launchpad.test/bugs/1') | 12 | >>> user_browser.open('http://launchpad.test/bugs/1') |
2733 | 13 | >>> user_browser.getControl('Package') | 13 | >>> user_browser.getControl('Package') |
2734 | 14 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2735 | 15 | Traceback (most recent call last): | 14 | Traceback (most recent call last): |
2736 | 16 | ... | 15 | ... |
2737 | 17 | zope.testbrowser.browser.AmbiguityError: label ...'Package' matches: ... | 16 | zope.testbrowser.browser.AmbiguityError: label ...'Package' matches: ... |
2738 | diff --git a/lib/lp/bugs/stories/bugtask-management/xx-bug-privileged-statuses.txt b/lib/lp/bugs/stories/bugtask-management/xx-bug-privileged-statuses.txt | |||
2739 | index ff2d0cd..e8b4111 100644 | |||
2740 | --- a/lib/lp/bugs/stories/bugtask-management/xx-bug-privileged-statuses.txt | |||
2741 | +++ b/lib/lp/bugs/stories/bugtask-management/xx-bug-privileged-statuses.txt | |||
2742 | @@ -41,13 +41,11 @@ those statuses are not shown in the UI: | |||
2743 | 41 | ['Confirmed'] | 41 | ['Confirmed'] |
2744 | 42 | 42 | ||
2745 | 43 | >>> status_control.displayValue = ["Won't Fix"] | 43 | >>> status_control.displayValue = ["Won't Fix"] |
2746 | 44 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2747 | 45 | Traceback (most recent call last): | 44 | Traceback (most recent call last): |
2748 | 46 | ... | 45 | ... |
2749 | 47 | zope.testbrowser.browser.ItemNotFoundError: Won't Fix | 46 | zope.testbrowser.browser.ItemNotFoundError: Won't Fix |
2750 | 48 | 47 | ||
2751 | 49 | >>> status_control.displayValue = ["Triaged"] | 48 | >>> status_control.displayValue = ["Triaged"] |
2752 | 50 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2753 | 51 | Traceback (most recent call last): | 49 | Traceback (most recent call last): |
2754 | 52 | ... | 50 | ... |
2755 | 53 | zope.testbrowser.browser.ItemNotFoundError: Triaged | 51 | zope.testbrowser.browser.ItemNotFoundError: Triaged |
2756 | diff --git a/lib/lp/bugs/stories/bugtask-management/xx-bugtask-edit-forms.txt b/lib/lp/bugs/stories/bugtask-management/xx-bugtask-edit-forms.txt | |||
2757 | index d60ed21..dc57806 100644 | |||
2758 | --- a/lib/lp/bugs/stories/bugtask-management/xx-bugtask-edit-forms.txt | |||
2759 | +++ b/lib/lp/bugs/stories/bugtask-management/xx-bugtask-edit-forms.txt | |||
2760 | @@ -26,7 +26,6 @@ respective bug task. | |||
2761 | 26 | http://bugs.launchpad.test/firefox/+bug/1/+editstatus | 26 | http://bugs.launchpad.test/firefox/+bug/1/+editstatus |
2762 | 27 | 27 | ||
2763 | 28 | >>> print(admin_browser.getLink('Confirmed').url) | 28 | >>> print(admin_browser.getLink('Confirmed').url) |
2764 | 29 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2765 | 30 | Traceback (most recent call last): | 29 | Traceback (most recent call last): |
2766 | 31 | ... | 30 | ... |
2767 | 32 | zope.testbrowser.browser.LinkNotFoundError | 31 | zope.testbrowser.browser.LinkNotFoundError |
2768 | diff --git a/lib/lp/bugs/stories/bugtask-management/xx-view-editable-bug-task.txt b/lib/lp/bugs/stories/bugtask-management/xx-view-editable-bug-task.txt | |||
2769 | index 5159513..c906387 100644 | |||
2770 | --- a/lib/lp/bugs/stories/bugtask-management/xx-view-editable-bug-task.txt | |||
2771 | +++ b/lib/lp/bugs/stories/bugtask-management/xx-view-editable-bug-task.txt | |||
2772 | @@ -2,7 +2,6 @@ An anonymous user who tries to access the bugtask edit page will be | |||
2773 | 2 | redirected to the login page. | 2 | redirected to the login page. |
2774 | 3 | 3 | ||
2775 | 4 | >>> browser.open("http://launchpad.test/thunderbird/+bug/9/+editstatus") | 4 | >>> browser.open("http://launchpad.test/thunderbird/+bug/9/+editstatus") |
2776 | 5 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2777 | 6 | Traceback (most recent call last): | 5 | Traceback (most recent call last): |
2778 | 7 | ... | 6 | ... |
2779 | 8 | zope.security.interfaces.Unauthorized: ... | 7 | zope.security.interfaces.Unauthorized: ... |
2780 | @@ -23,7 +22,6 @@ Even when the product has a bug supervisor, see bug #49891. | |||
2781 | 23 | >>> logout() | 22 | >>> logout() |
2782 | 24 | 23 | ||
2783 | 25 | >>> browser.open("http://launchpad.test/firefox/+bug/1/+editstatus") | 24 | >>> browser.open("http://launchpad.test/firefox/+bug/1/+editstatus") |
2784 | 26 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2785 | 27 | Traceback (most recent call last): | 25 | Traceback (most recent call last): |
2786 | 28 | ... | 26 | ... |
2787 | 29 | zope.security.interfaces.Unauthorized: ... | 27 | zope.security.interfaces.Unauthorized: ... |
2788 | diff --git a/lib/lp/bugs/stories/bugtask-searches/xx-unexpected-form-data.txt b/lib/lp/bugs/stories/bugtask-searches/xx-unexpected-form-data.txt | |||
2789 | index aefde8b..07c8a85 100644 | |||
2790 | --- a/lib/lp/bugs/stories/bugtask-searches/xx-unexpected-form-data.txt | |||
2791 | +++ b/lib/lp/bugs/stories/bugtask-searches/xx-unexpected-form-data.txt | |||
2792 | @@ -4,14 +4,12 @@ is raised. | |||
2793 | 4 | 4 | ||
2794 | 5 | >>> browser.open( | 5 | >>> browser.open( |
2795 | 6 | ... "http://localhost/ubuntu/+bugs?search=Search&field.status=Fred") | 6 | ... "http://localhost/ubuntu/+bugs?search=Search&field.status=Fred") |
2796 | 7 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2797 | 8 | Traceback (most recent call last): | 7 | Traceback (most recent call last): |
2798 | 9 | ... | 8 | ... |
2799 | 10 | lp.app.errors.UnexpectedFormData: Unexpected value for field 'status'... | 9 | lp.app.errors.UnexpectedFormData: Unexpected value for field 'status'... |
2800 | 11 | 10 | ||
2801 | 12 | >>> browser.open( | 11 | >>> browser.open( |
2802 | 13 | ... "http://localhost/ubuntu/+bugs?search=Search&orderby=foobar") | 12 | ... "http://localhost/ubuntu/+bugs?search=Search&orderby=foobar") |
2803 | 14 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2804 | 15 | Traceback (most recent call last): | 13 | Traceback (most recent call last): |
2805 | 16 | ... | 14 | ... |
2806 | 17 | lp.app.errors.UnexpectedFormData: Unknown sort column 'foobar' | 15 | lp.app.errors.UnexpectedFormData: Unknown sort column 'foobar' |
2807 | @@ -19,7 +17,6 @@ is raised. | |||
2808 | 19 | >>> browser.open( | 17 | >>> browser.open( |
2809 | 20 | ... "http://launchpad.test/firefox/+bugs?" | 18 | ... "http://launchpad.test/firefox/+bugs?" |
2810 | 21 | ... "field.status_upstream=hide_open") | 19 | ... "field.status_upstream=hide_open") |
2811 | 22 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2812 | 23 | Traceback (most recent call last): | 20 | Traceback (most recent call last): |
2813 | 24 | ... | 21 | ... |
2814 | 25 | lp.app.errors.UnexpectedFormData: Unexpected value for field 'status_upstream'... | 22 | lp.app.errors.UnexpectedFormData: Unexpected value for field 'status_upstream'... |
2815 | diff --git a/lib/lp/bugs/stories/bugtracker/xx-bugtracker-handshake-tokens.txt b/lib/lp/bugs/stories/bugtracker/xx-bugtracker-handshake-tokens.txt | |||
2816 | index 7857961..7d7561c 100644 | |||
2817 | --- a/lib/lp/bugs/stories/bugtracker/xx-bugtracker-handshake-tokens.txt | |||
2818 | +++ b/lib/lp/bugs/stories/bugtracker/xx-bugtracker-handshake-tokens.txt | |||
2819 | @@ -21,7 +21,6 @@ error if we attempt it as a GET request. | |||
2820 | 21 | ... token_string) | 21 | ... token_string) |
2821 | 22 | 22 | ||
2822 | 23 | >>> anon_browser.open(token_url) | 23 | >>> anon_browser.open(token_url) |
2823 | 24 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2824 | 25 | Traceback (most recent call last): | 24 | Traceback (most recent call last): |
2825 | 26 | ... | 25 | ... |
2826 | 27 | urllib.error.HTTPError: HTTP Error 405: Method Not Allowed | 26 | urllib.error.HTTPError: HTTP Error 405: Method Not Allowed |
2827 | diff --git a/lib/lp/bugs/stories/bugtracker/xx-bugtracker-remote-bug.txt b/lib/lp/bugs/stories/bugtracker/xx-bugtracker-remote-bug.txt | |||
2828 | index 0e9753f..81fdee9 100644 | |||
2829 | --- a/lib/lp/bugs/stories/bugtracker/xx-bugtracker-remote-bug.txt | |||
2830 | +++ b/lib/lp/bugs/stories/bugtracker/xx-bugtracker-remote-bug.txt | |||
2831 | @@ -40,7 +40,6 @@ Found page is generated: | |||
2832 | 40 | 40 | ||
2833 | 41 | >>> browser.handleErrors = True | 41 | >>> browser.handleErrors = True |
2834 | 42 | >>> browser.open('http://launchpad.test/bugs/bugtrackers/mozilla.org/99999') | 42 | >>> browser.open('http://launchpad.test/bugs/bugtrackers/mozilla.org/99999') |
2835 | 43 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2836 | 44 | Traceback (most recent call last): | 43 | Traceback (most recent call last): |
2837 | 45 | ... | 44 | ... |
2838 | 46 | urllib.error.HTTPError: HTTP Error 404: Not Found | 45 | urllib.error.HTTPError: HTTP Error 404: Not Found |
2839 | @@ -96,7 +95,6 @@ user logs in): | |||
2840 | 96 | 95 | ||
2841 | 97 | >>> anon_browser.open( | 96 | >>> anon_browser.open( |
2842 | 98 | ... 'http://bugs.launchpad.test/bugs/bugtrackers/mozilla.org/2000') | 97 | ... 'http://bugs.launchpad.test/bugs/bugtrackers/mozilla.org/2000') |
2843 | 99 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2844 | 100 | Traceback (most recent call last): | 98 | Traceback (most recent call last): |
2845 | 101 | ... | 99 | ... |
2846 | 102 | zope.publisher.interfaces.NotFound: ... | 100 | zope.publisher.interfaces.NotFound: ... |
2847 | diff --git a/lib/lp/bugs/stories/cve/cve-linking.txt b/lib/lp/bugs/stories/cve/cve-linking.txt | |||
2848 | index bdd98f7..2967f58 100644 | |||
2849 | --- a/lib/lp/bugs/stories/cve/cve-linking.txt | |||
2850 | +++ b/lib/lp/bugs/stories/cve/cve-linking.txt | |||
2851 | @@ -16,7 +16,6 @@ This link is only available to registered user: | |||
2852 | 16 | 16 | ||
2853 | 17 | >>> anon_browser.open('http://launchpad.test/bugs/cve/2005-2737') | 17 | >>> anon_browser.open('http://launchpad.test/bugs/cve/2005-2737') |
2854 | 18 | >>> anon_browser.getLink(url='+linkbug').click() | 18 | >>> anon_browser.getLink(url='+linkbug').click() |
2855 | 19 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2856 | 20 | Traceback (most recent call last): | 19 | Traceback (most recent call last): |
2857 | 21 | ... | 20 | ... |
2858 | 22 | zope.security.interfaces.Unauthorized: ... | 21 | zope.security.interfaces.Unauthorized: ... |
2859 | diff --git a/lib/lp/bugs/stories/feeds/xx-bug-atom.txt b/lib/lp/bugs/stories/feeds/xx-bug-atom.txt | |||
2860 | index 86f2876..2d615ed 100644 | |||
2861 | --- a/lib/lp/bugs/stories/feeds/xx-bug-atom.txt | |||
2862 | +++ b/lib/lp/bugs/stories/feeds/xx-bug-atom.txt | |||
2863 | @@ -509,7 +509,6 @@ performance problem in production. | |||
2864 | 509 | ... """ | 509 | ... """ |
2865 | 510 | >>> config.push('bug_search_feed_data', bug_search_feed_data) | 510 | >>> config.push('bug_search_feed_data', bug_search_feed_data) |
2866 | 511 | >>> browser.open(url) | 511 | >>> browser.open(url) |
2867 | 512 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2868 | 513 | Traceback (most recent call last): | 512 | Traceback (most recent call last): |
2869 | 514 | ... | 513 | ... |
2870 | 515 | zope.security.interfaces.Unauthorized: Bug search feed deactivated | 514 | zope.security.interfaces.Unauthorized: Bug search feed deactivated |
2871 | diff --git a/lib/lp/bugs/stories/feeds/xx-bug-html.txt b/lib/lp/bugs/stories/feeds/xx-bug-html.txt | |||
2872 | index ccf57cb..510e91a 100644 | |||
2873 | --- a/lib/lp/bugs/stories/feeds/xx-bug-html.txt | |||
2874 | +++ b/lib/lp/bugs/stories/feeds/xx-bug-html.txt | |||
2875 | @@ -201,7 +201,7 @@ performance problem in production. | |||
2876 | 201 | ... is_bug_search_feed_active: False | 201 | ... is_bug_search_feed_active: False |
2877 | 202 | ... """ | 202 | ... """ |
2878 | 203 | >>> config.push('bug_search_feed_data', bug_search_feed_data) | 203 | >>> config.push('bug_search_feed_data', bug_search_feed_data) |
2880 | 204 | >>> browser.open(url) # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 204 | >>> browser.open(url) |
2881 | 205 | Traceback (most recent call last): | 205 | Traceback (most recent call last): |
2882 | 206 | ... | 206 | ... |
2883 | 207 | zope.security.interfaces.Unauthorized: Bug search feed deactivated | 207 | zope.security.interfaces.Unauthorized: Bug search feed deactivated |
2884 | diff --git a/lib/lp/bugs/stories/patches-view/patches-view.txt b/lib/lp/bugs/stories/patches-view/patches-view.txt | |||
2885 | index d8fd8f6..6644208 100644 | |||
2886 | --- a/lib/lp/bugs/stories/patches-view/patches-view.txt | |||
2887 | +++ b/lib/lp/bugs/stories/patches-view/patches-view.txt | |||
2888 | @@ -201,7 +201,6 @@ importance and status. | |||
2889 | 201 | But we can't sort by things that aren't validated by the view. | 201 | But we can't sort by things that aren't validated by the view. |
2890 | 202 | 202 | ||
2891 | 203 | >>> anon_browser.open('http://bugs.launchpad.test/patchy-product-1/+patches?orderby=star-sign') | 203 | >>> anon_browser.open('http://bugs.launchpad.test/patchy-product-1/+patches?orderby=star-sign') |
2892 | 204 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2893 | 205 | Traceback (most recent call last): | 204 | Traceback (most recent call last): |
2894 | 206 | ... | 205 | ... |
2895 | 207 | lp.app.errors.UnexpectedFormData: Unexpected value for field 'orderby': 'star-sign' | 206 | lp.app.errors.UnexpectedFormData: Unexpected value for field 'orderby': 'star-sign' |
2896 | diff --git a/lib/lp/bugs/stories/upstream-bugprivacy/xx-upstream-bug-privacy.txt b/lib/lp/bugs/stories/upstream-bugprivacy/xx-upstream-bug-privacy.txt | |||
2897 | index 6160429..adfcedf 100644 | |||
2898 | --- a/lib/lp/bugs/stories/upstream-bugprivacy/xx-upstream-bug-privacy.txt | |||
2899 | +++ b/lib/lp/bugs/stories/upstream-bugprivacy/xx-upstream-bug-privacy.txt | |||
2900 | @@ -71,7 +71,6 @@ fails, because we pretend that inaccessible private bugs do not exist. | |||
2901 | 71 | >>> browser = setupBrowser() | 71 | >>> browser = setupBrowser() |
2902 | 72 | >>> browser.open( | 72 | >>> browser.open( |
2903 | 73 | ... "http://launchpad.test/firefox/+bug/%s/+editstatus" % bug_id) | 73 | ... "http://launchpad.test/firefox/+bug/%s/+editstatus" % bug_id) |
2904 | 74 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2905 | 75 | Traceback (most recent call last): | 74 | Traceback (most recent call last): |
2906 | 76 | ... | 75 | ... |
2907 | 77 | zope.publisher.interfaces.NotFound: ... | 76 | zope.publisher.interfaces.NotFound: ... |
2908 | @@ -82,7 +81,6 @@ on which the no-privs is not an explicit subscriber. | |||
2909 | 82 | >>> browser = setupBrowser(auth="Basic no-priv@canonical.com:test") | 81 | >>> browser = setupBrowser(auth="Basic no-priv@canonical.com:test") |
2910 | 83 | >>> browser.open( | 82 | >>> browser.open( |
2911 | 84 | ... "http://launchpad.test/firefox/+bug/%s/+editstatus" % bug_id) | 83 | ... "http://launchpad.test/firefox/+bug/%s/+editstatus" % bug_id) |
2912 | 85 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2913 | 86 | Traceback (most recent call last): | 84 | Traceback (most recent call last): |
2914 | 87 | ... | 85 | ... |
2915 | 88 | zope.publisher.interfaces.NotFound: ... | 86 | zope.publisher.interfaces.NotFound: ... |
2916 | diff --git a/lib/lp/bugs/stories/xx-bugs-statistics-portlet.txt b/lib/lp/bugs/stories/xx-bugs-statistics-portlet.txt | |||
2917 | index 52f4fb7..3ebcac5 100644 | |||
2918 | --- a/lib/lp/bugs/stories/xx-bugs-statistics-portlet.txt | |||
2919 | +++ b/lib/lp/bugs/stories/xx-bugs-statistics-portlet.txt | |||
2920 | @@ -216,7 +216,6 @@ Note that the "CVE reports" link is not shown above; distribution | |||
2921 | 216 | source packages do not have a CVE reports page. | 216 | source packages do not have a CVE reports page. |
2922 | 217 | 217 | ||
2923 | 218 | >>> print(user_browser.getLink('CVE report').url) | 218 | >>> print(user_browser.getLink('CVE report').url) |
2924 | 219 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2925 | 220 | Traceback (most recent call last): | 219 | Traceback (most recent call last): |
2926 | 221 | ... | 220 | ... |
2927 | 222 | zope.testbrowser.browser.LinkNotFoundError | 221 | zope.testbrowser.browser.LinkNotFoundError |
2928 | @@ -289,7 +288,6 @@ Note that the "CVE reports" link is not shown above; source packages | |||
2929 | 289 | do not have a CVE reports page. | 288 | do not have a CVE reports page. |
2930 | 290 | 289 | ||
2931 | 291 | >>> print(user_browser.getLink('CVE report').url) | 290 | >>> print(user_browser.getLink('CVE report').url) |
2932 | 292 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2933 | 293 | Traceback (most recent call last): | 291 | Traceback (most recent call last): |
2934 | 294 | ... | 292 | ... |
2935 | 295 | zope.testbrowser.browser.LinkNotFoundError | 293 | zope.testbrowser.browser.LinkNotFoundError |
2936 | @@ -362,7 +360,6 @@ Note that the "CVE reports" link is not shown above; project groups do | |||
2937 | 362 | not have a CVE reports page. | 360 | not have a CVE reports page. |
2938 | 363 | 361 | ||
2939 | 364 | >>> print(user_browser.getLink('CVE report').url) | 362 | >>> print(user_browser.getLink('CVE report').url) |
2940 | 365 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2941 | 366 | Traceback (most recent call last): | 363 | Traceback (most recent call last): |
2942 | 367 | ... | 364 | ... |
2943 | 368 | zope.testbrowser.browser.LinkNotFoundError | 365 | zope.testbrowser.browser.LinkNotFoundError |
2944 | diff --git a/lib/lp/bugs/tests/buglinktarget.txt b/lib/lp/bugs/tests/buglinktarget.txt | |||
2945 | index 119c94e..305fa6a 100644 | |||
2946 | --- a/lib/lp/bugs/tests/buglinktarget.txt | |||
2947 | +++ b/lib/lp/bugs/tests/buglinktarget.txt | |||
2948 | @@ -78,7 +78,7 @@ Of course, if no new link is created, no events should be fired: | |||
2949 | 78 | Anonymous users cannot use linkBug(): | 78 | Anonymous users cannot use linkBug(): |
2950 | 79 | 79 | ||
2951 | 80 | >>> login(ANONYMOUS) | 80 | >>> login(ANONYMOUS) |
2953 | 81 | >>> target.linkBug(bug2) # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 81 | >>> target.linkBug(bug2) |
2954 | 82 | Traceback (most recent call last): | 82 | Traceback (most recent call last): |
2955 | 83 | ... | 83 | ... |
2956 | 84 | zope.security.interfaces.Unauthorized: ... | 84 | zope.security.interfaces.Unauthorized: ... |
2957 | @@ -91,7 +91,6 @@ if they are an administrator: | |||
2958 | 91 | >>> private_bug.setPrivate(True, factory.makePerson()) | 91 | >>> private_bug.setPrivate(True, factory.makePerson()) |
2959 | 92 | True | 92 | True |
2960 | 93 | >>> target.linkBug(private_bug, factory.makePerson()) | 93 | >>> target.linkBug(private_bug, factory.makePerson()) |
2961 | 94 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2962 | 95 | Traceback (most recent call last): | 94 | Traceback (most recent call last): |
2963 | 96 | ... | 95 | ... |
2964 | 97 | zope.security.interfaces.Unauthorized: ... | 96 | zope.security.interfaces.Unauthorized: ... |
2965 | @@ -121,7 +120,6 @@ This method is only available to registered users: | |||
2966 | 121 | 120 | ||
2967 | 122 | >>> login(ANONYMOUS) | 121 | >>> login(ANONYMOUS) |
2968 | 123 | >>> target.unlinkBug(bug2, None) | 122 | >>> target.unlinkBug(bug2, None) |
2969 | 124 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2970 | 125 | Traceback (most recent call last): | 123 | Traceback (most recent call last): |
2971 | 126 | ... | 124 | ... |
2972 | 127 | zope.security.interfaces.Unauthorized: ... | 125 | zope.security.interfaces.Unauthorized: ... |
2973 | @@ -164,7 +162,6 @@ A user can only remove a link to a private bug if they are subscribed to | |||
2974 | 164 | the bug or if they are an administrator. | 162 | the bug or if they are an administrator. |
2975 | 165 | 163 | ||
2976 | 166 | >>> target.unlinkBug(private_bug) | 164 | >>> target.unlinkBug(private_bug) |
2977 | 167 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2978 | 168 | Traceback (most recent call last): | 165 | Traceback (most recent call last): |
2979 | 169 | ... | 166 | ... |
2980 | 170 | zope.security.interfaces.Unauthorized: ... | 167 | zope.security.interfaces.Unauthorized: ... |
2981 | diff --git a/lib/lp/bugs/tests/bugs-emailinterface.txt b/lib/lp/bugs/tests/bugs-emailinterface.txt | |||
2982 | index b3e2402..452b6bf 100644 | |||
2983 | --- a/lib/lp/bugs/tests/bugs-emailinterface.txt | |||
2984 | +++ b/lib/lp/bugs/tests/bugs-emailinterface.txt | |||
2985 | @@ -430,7 +430,6 @@ IWeaklyAuthenticatedPrincipal was provided by the current principal, no | |||
2986 | 430 | changes was made to the bug, and the comment wasn't added. | 430 | changes was made to the bug, and the comment wasn't added. |
2987 | 431 | 431 | ||
2988 | 432 | >>> added_message = getUtility(IMessageSet).get('<yada-yada-test2>')[0] | 432 | >>> added_message = getUtility(IMessageSet).get('<yada-yada-test2>')[0] |
2989 | 433 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2990 | 434 | Traceback (most recent call last): | 433 | Traceback (most recent call last): |
2991 | 435 | ... | 434 | ... |
2992 | 436 | lp.app.errors.NotFoundError: ... | 435 | lp.app.errors.NotFoundError: ... |
2993 | @@ -465,7 +464,6 @@ The same will happen if we send the same email without signing it: | |||
2994 | 465 | >>> transaction.commit() | 464 | >>> transaction.commit() |
2995 | 466 | 465 | ||
2996 | 467 | >>> added_message = getUtility(IMessageSet).get('<yada-yada-test2>')[0] | 466 | >>> added_message = getUtility(IMessageSet).get('<yada-yada-test2>')[0] |
2997 | 468 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
2998 | 469 | Traceback (most recent call last): | 467 | Traceback (most recent call last): |
2999 | 470 | ... | 468 | ... |
3000 | 471 | lp.app.errors.NotFoundError: ... | 469 | lp.app.errors.NotFoundError: ... |
3001 | diff --git a/lib/lp/bugs/tests/bugzilla-api-xmlrpc-transport.txt b/lib/lp/bugs/tests/bugzilla-api-xmlrpc-transport.txt | |||
3002 | index 2d3cad2..ce0f317 100644 | |||
3003 | --- a/lib/lp/bugs/tests/bugzilla-api-xmlrpc-transport.txt | |||
3004 | +++ b/lib/lp/bugs/tests/bugzilla-api-xmlrpc-transport.txt | |||
3005 | @@ -52,7 +52,6 @@ an error being raised. | |||
3006 | 52 | 52 | ||
3007 | 53 | >>> server.User.login( | 53 | >>> server.User.login( |
3008 | 54 | ... {'login': 'test@canonical.com', 'password': 'test'}) | 54 | ... {'login': 'test@canonical.com', 'password': 'test'}) |
3009 | 55 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3010 | 56 | Traceback (most recent call last): | 55 | Traceback (most recent call last): |
3011 | 57 | ... | 56 | ... |
3012 | 58 | xmlrpc.client.Fault: <Fault 300: 'The username or password you entered is not valid.'> | 57 | xmlrpc.client.Fault: <Fault 300: 'The username or password you entered is not valid.'> |
3013 | @@ -455,7 +454,6 @@ add_comment() requires authentication. | |||
3014 | 455 | 454 | ||
3015 | 456 | >>> bugzilla_transport.expireCookie(bugzilla_transport.auth_cookie) | 455 | >>> bugzilla_transport.expireCookie(bugzilla_transport.auth_cookie) |
3016 | 457 | >>> server.Bug.add_comment({'id': 1, 'comment': "This won't work"}) | 456 | >>> server.Bug.add_comment({'id': 1, 'comment': "This won't work"}) |
3017 | 458 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3018 | 459 | Traceback (most recent call last): | 457 | Traceback (most recent call last): |
3019 | 460 | ... | 458 | ... |
3020 | 461 | xmlrpc.client.Fault: <Fault 410: 'Login Required'> | 459 | xmlrpc.client.Fault: <Fault 410: 'Login Required'> |
3021 | @@ -492,7 +490,6 @@ If add_comment is called on a bug that doesn't exist a fault will be | |||
3022 | 492 | raised. | 490 | raised. |
3023 | 493 | 491 | ||
3024 | 494 | >>> server.Bug.add_comment({'id': 42, 'comment': "This breaks"}) | 492 | >>> server.Bug.add_comment({'id': 42, 'comment': "This breaks"}) |
3025 | 495 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3026 | 496 | Traceback (most recent call last): | 493 | Traceback (most recent call last): |
3027 | 497 | ... | 494 | ... |
3028 | 498 | xmlrpc.client.Fault: <Fault 101: 'Bug #42 does not exist.'> | 495 | xmlrpc.client.Fault: <Fault 101: 'Bug #42 does not exist.'> |
3029 | @@ -545,7 +542,6 @@ Trying to add a non Bugzilla or Launchpad URL will raise a Fault. | |||
3030 | 545 | 542 | ||
3031 | 546 | >>> server.Bug.update_see_also({ | 543 | >>> server.Bug.update_see_also({ |
3032 | 547 | ... 'ids': [1], 'add': ['http://example.com/fail']}); | 544 | ... 'ids': [1], 'add': ['http://example.com/fail']}); |
3033 | 548 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3034 | 549 | Traceback (most recent call last): | 545 | Traceback (most recent call last): |
3035 | 550 | ... | 546 | ... |
3036 | 551 | xmlrpc.client.Fault: <Fault 112: 'Bug URL http://example.com/fail is invalid.'> | 547 | xmlrpc.client.Fault: <Fault 112: 'Bug URL http://example.com/fail is invalid.'> |
3037 | diff --git a/lib/lp/bugs/tests/bugzilla-xmlrpc-transport.txt b/lib/lp/bugs/tests/bugzilla-xmlrpc-transport.txt | |||
3038 | index f7f7027..445dbc6 100644 | |||
3039 | --- a/lib/lp/bugs/tests/bugzilla-xmlrpc-transport.txt | |||
3040 | +++ b/lib/lp/bugs/tests/bugzilla-xmlrpc-transport.txt | |||
3041 | @@ -51,7 +51,6 @@ Authentication | |||
3042 | 51 | Some methods require authentication. | 51 | Some methods require authentication. |
3043 | 52 | 52 | ||
3044 | 53 | >>> server.Test.login_required() | 53 | >>> server.Test.login_required() |
3045 | 54 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3046 | 55 | Traceback (most recent call last): | 54 | Traceback (most recent call last): |
3047 | 56 | ... | 55 | ... |
3048 | 57 | xmlrpc.client.Fault: <Fault 410: 'Login Required'> | 56 | xmlrpc.client.Fault: <Fault 410: 'Login Required'> |
3049 | @@ -439,7 +438,6 @@ add_comment() requires authentication. | |||
3050 | 439 | 438 | ||
3051 | 440 | >>> bugzilla_transport.expireCookie(bugzilla_transport.auth_cookie) | 439 | >>> bugzilla_transport.expireCookie(bugzilla_transport.auth_cookie) |
3052 | 441 | >>> server.Launchpad.add_comment({'id': 1, 'comment': "This won't work"}) | 440 | >>> server.Launchpad.add_comment({'id': 1, 'comment': "This won't work"}) |
3053 | 442 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3054 | 443 | Traceback (most recent call last): | 441 | Traceback (most recent call last): |
3055 | 444 | ... | 442 | ... |
3056 | 445 | xmlrpc.client.Fault: <Fault 410: 'Login Required'> | 443 | xmlrpc.client.Fault: <Fault 410: 'Login Required'> |
3057 | @@ -471,7 +469,6 @@ If add_comment is called on a bug that doesn't exist a fault will be | |||
3058 | 471 | raised. | 469 | raised. |
3059 | 472 | 470 | ||
3060 | 473 | >>> server.Launchpad.add_comment({'id': 42, 'comment': "This won't work"}) | 471 | >>> server.Launchpad.add_comment({'id': 42, 'comment': "This won't work"}) |
3061 | 474 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3062 | 475 | Traceback (most recent call last): | 472 | Traceback (most recent call last): |
3063 | 476 | ... | 473 | ... |
3064 | 477 | xmlrpc.client.Fault: <Fault 101: 'Bug #42 does not exist.'> | 474 | xmlrpc.client.Fault: <Fault 101: 'Bug #42 does not exist.'> |
3065 | @@ -489,7 +486,6 @@ Launchpad.set_link() requires authentication. | |||
3066 | 489 | 486 | ||
3067 | 490 | >>> bugzilla_transport.expireCookie(bugzilla_transport.auth_cookie) | 487 | >>> bugzilla_transport.expireCookie(bugzilla_transport.auth_cookie) |
3068 | 491 | >>> server.Launchpad.set_link({'id': 1, 'launchpad_id': 1}) | 488 | >>> server.Launchpad.set_link({'id': 1, 'launchpad_id': 1}) |
3069 | 492 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3070 | 493 | Traceback (most recent call last): | 489 | Traceback (most recent call last): |
3071 | 494 | ... | 490 | ... |
3072 | 495 | xmlrpc.client.Fault: <Fault 410: 'Login Required'> | 491 | xmlrpc.client.Fault: <Fault 410: 'Login Required'> |
3073 | diff --git a/lib/lp/bugs/tests/externalbugtracker-xmlrpc-transport.txt b/lib/lp/bugs/tests/externalbugtracker-xmlrpc-transport.txt | |||
3074 | index a18a9fd..53305fb 100644 | |||
3075 | --- a/lib/lp/bugs/tests/externalbugtracker-xmlrpc-transport.txt | |||
3076 | +++ b/lib/lp/bugs/tests/externalbugtracker-xmlrpc-transport.txt | |||
3077 | @@ -89,7 +89,6 @@ If an error occurs trying to make the request, an | |||
3078 | 89 | ... requests_mock.add( | 89 | ... requests_mock.add( |
3079 | 90 | ... 'POST', 'http://www.example.com/xmlrpc', status=500) | 90 | ... 'POST', 'http://www.example.com/xmlrpc', status=500) |
3080 | 91 | ... transport.request('www.example.com', 'xmlrpc', request_body) | 91 | ... transport.request('www.example.com', 'xmlrpc', request_body) |
3081 | 92 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3082 | 93 | Traceback (most recent call last): | 92 | Traceback (most recent call last): |
3083 | 94 | ... | 93 | ... |
3084 | 95 | xmlrpc.client.ProtocolError: <ProtocolError for http://www.example.com/xmlrpc: 500 Internal Server Error> | 94 | xmlrpc.client.ProtocolError: <ProtocolError for http://www.example.com/xmlrpc: 500 Internal Server Error> |
3085 | diff --git a/lib/lp/bugs/tests/trac-xmlrpc-transport.txt b/lib/lp/bugs/tests/trac-xmlrpc-transport.txt | |||
3086 | index 7f52f95..8703cb3 100644 | |||
3087 | --- a/lib/lp/bugs/tests/trac-xmlrpc-transport.txt | |||
3088 | +++ b/lib/lp/bugs/tests/trac-xmlrpc-transport.txt | |||
3089 | @@ -16,7 +16,6 @@ installed implement. | |||
3090 | 16 | All the methods need an authentication cookie to be sent. | 16 | All the methods need an authentication cookie to be sent. |
3091 | 17 | 17 | ||
3092 | 18 | >>> server.launchpad.bugtracker_version() | 18 | >>> server.launchpad.bugtracker_version() |
3093 | 19 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3094 | 20 | Traceback (most recent call last): | 19 | Traceback (most recent call last): |
3095 | 21 | ... | 20 | ... |
3096 | 22 | xmlrpc.client.ProtocolError: <... 403 Forbidden> | 21 | xmlrpc.client.ProtocolError: <... 403 Forbidden> |
3097 | @@ -315,7 +314,6 @@ Calling `launchpad.get_launchpad_bug()` on a remote bug that doesn't | |||
3098 | 315 | exist will result in a Fault being raised. | 314 | exist will result in a Fault being raised. |
3099 | 316 | 315 | ||
3100 | 317 | >>> trac_transport.get_launchpad_bug('12345') | 316 | >>> trac_transport.get_launchpad_bug('12345') |
3101 | 318 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3102 | 319 | Traceback (most recent call last): | 317 | Traceback (most recent call last): |
3103 | 320 | ... | 318 | ... |
3104 | 321 | xmlrpc.client.Fault: <Fault 1001: 'Ticket does not exist'> | 319 | xmlrpc.client.Fault: <Fault 1001: 'Ticket does not exist'> |
3105 | @@ -341,7 +339,6 @@ Trying to call `launchpad.set_launchpad_bug()` on a remote bug that | |||
3106 | 341 | doesn't exist will result in a Fault. | 339 | doesn't exist will result in a Fault. |
3107 | 342 | 340 | ||
3108 | 343 | >>> trac_transport.set_launchpad_bug('12345', 1) | 341 | >>> trac_transport.set_launchpad_bug('12345', 1) |
3109 | 344 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3110 | 345 | Traceback (most recent call last): | 342 | Traceback (most recent call last): |
3111 | 346 | ... | 343 | ... |
3112 | 347 | xmlrpc.client.Fault: <Fault 1001: 'Ticket does not exist'> | 344 | xmlrpc.client.Fault: <Fault 1001: 'Ticket does not exist'> |
3113 | diff --git a/lib/lp/buildmaster/doc/builder.txt b/lib/lp/buildmaster/doc/builder.txt | |||
3114 | index e3620e9..af1c423 100644 | |||
3115 | --- a/lib/lp/buildmaster/doc/builder.txt | |||
3116 | +++ b/lib/lp/buildmaster/doc/builder.txt | |||
3117 | @@ -64,7 +64,6 @@ And also by ID. | |||
3118 | 64 | >>> print(builderset.get(2).name) | 64 | >>> print(builderset.get(2).name) |
3119 | 65 | frog | 65 | frog |
3120 | 66 | >>> print(builderset.get(100).name) | 66 | >>> print(builderset.get(100).name) |
3121 | 67 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3122 | 68 | Traceback (most recent call last): | 67 | Traceback (most recent call last): |
3123 | 69 | ... | 68 | ... |
3124 | 70 | lp.app.errors.NotFoundError: 100 | 69 | lp.app.errors.NotFoundError: 100 |
3125 | diff --git a/lib/lp/buildmaster/stories/xx-builder-page.txt b/lib/lp/buildmaster/stories/xx-builder-page.txt | |||
3126 | index 65ded43..3082ddb 100644 | |||
3127 | --- a/lib/lp/buildmaster/stories/xx-builder-page.txt | |||
3128 | +++ b/lib/lp/buildmaster/stories/xx-builder-page.txt | |||
3129 | @@ -266,7 +266,6 @@ Farm list. Celso cannot see the link to it. | |||
3130 | 266 | 386 1 empty | 266 | 386 1 empty |
3131 | 267 | 267 | ||
3132 | 268 | >>> cprov_browser.getLink('bob').click() | 268 | >>> cprov_browser.getLink('bob').click() |
3133 | 269 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3134 | 270 | Traceback (most recent call last): | 269 | Traceback (most recent call last): |
3135 | 271 | ... | 270 | ... |
3136 | 272 | zope.testbrowser.browser.LinkNotFoundError | 271 | zope.testbrowser.browser.LinkNotFoundError |
3137 | @@ -286,7 +285,6 @@ Change details link. | |||
3138 | 286 | 285 | ||
3139 | 287 | >>> user_browser.open("http://localhost/+builds/bob") | 286 | >>> user_browser.open("http://localhost/+builds/bob") |
3140 | 288 | >>> user_browser.getLink('Change details') | 287 | >>> user_browser.getLink('Change details') |
3141 | 289 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3142 | 290 | Traceback (most recent call last): | 288 | Traceback (most recent call last): |
3143 | 291 | zope.testbrowser.browser.LinkNotFoundError | 289 | zope.testbrowser.browser.LinkNotFoundError |
3144 | 292 | 290 | ||
3145 | @@ -299,7 +297,6 @@ Nor is the toggle mode control included on the index page. | |||
3146 | 299 | Nor can they access the edit page directly via URL. | 297 | Nor can they access the edit page directly via URL. |
3147 | 300 | 298 | ||
3148 | 301 | >>> user_browser.open("http://localhost/+builds/bob/+edit") | 299 | >>> user_browser.open("http://localhost/+builds/bob/+edit") |
3149 | 302 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3150 | 303 | Traceback (most recent call last): | 300 | Traceback (most recent call last): |
3151 | 304 | ... | 301 | ... |
3152 | 305 | zope.security.interfaces.Unauthorized: ... | 302 | zope.security.interfaces.Unauthorized: ... |
3153 | @@ -308,7 +305,6 @@ The same is true for the anonymous user: | |||
3154 | 308 | 305 | ||
3155 | 309 | >>> anon_browser.open("http://localhost/+builds/bob") | 306 | >>> anon_browser.open("http://localhost/+builds/bob") |
3156 | 310 | >>> anon_browser.getLink('Change details') | 307 | >>> anon_browser.getLink('Change details') |
3157 | 311 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3158 | 312 | Traceback (most recent call last): | 308 | Traceback (most recent call last): |
3159 | 313 | zope.testbrowser.browser.LinkNotFoundError | 309 | zope.testbrowser.browser.LinkNotFoundError |
3160 | 314 | 310 | ||
3161 | @@ -318,7 +314,6 @@ The same is true for the anonymous user: | |||
3162 | 318 | ... | 314 | ... |
3163 | 319 | 315 | ||
3164 | 320 | >>> anon_browser.open("http://localhost/+builds/bob/+edit") | 316 | >>> anon_browser.open("http://localhost/+builds/bob/+edit") |
3165 | 321 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3166 | 322 | Traceback (most recent call last): | 317 | Traceback (most recent call last): |
3167 | 323 | ... | 318 | ... |
3168 | 324 | zope.security.interfaces.Unauthorized: ... | 319 | zope.security.interfaces.Unauthorized: ... |
3169 | diff --git a/lib/lp/buildmaster/stories/xx-buildfarm-index.txt b/lib/lp/buildmaster/stories/xx-buildfarm-index.txt | |||
3170 | index 16932a5..9b77408 100644 | |||
3171 | --- a/lib/lp/buildmaster/stories/xx-buildfarm-index.txt | |||
3172 | +++ b/lib/lp/buildmaster/stories/xx-buildfarm-index.txt | |||
3173 | @@ -110,13 +110,11 @@ and are not permitted if they go directly to the URL. | |||
3174 | 110 | 110 | ||
3175 | 111 | >>> anon_browser.open("http://launchpad.test/+builds/+index") | 111 | >>> anon_browser.open("http://launchpad.test/+builds/+index") |
3176 | 112 | >>> anon_browser.getLink("Register a new build machine") | 112 | >>> anon_browser.getLink("Register a new build machine") |
3177 | 113 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3178 | 114 | Traceback (most recent call last): | 113 | Traceback (most recent call last): |
3179 | 115 | ... | 114 | ... |
3180 | 116 | zope.testbrowser.browser.LinkNotFoundError | 115 | zope.testbrowser.browser.LinkNotFoundError |
3181 | 117 | 116 | ||
3182 | 118 | >>> anon_browser.open("http://launchpad.test/+builds/+new") | 117 | >>> anon_browser.open("http://launchpad.test/+builds/+new") |
3183 | 119 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3184 | 120 | Traceback (most recent call last): | 118 | Traceback (most recent call last): |
3185 | 121 | ... | 119 | ... |
3186 | 122 | zope.security.interfaces.Unauthorized: ..., 'launchpad.Admin') | 120 | zope.security.interfaces.Unauthorized: ..., 'launchpad.Admin') |
3187 | diff --git a/lib/lp/code/doc/branch.txt b/lib/lp/code/doc/branch.txt | |||
3188 | index 9f8e8aa..0334752 100644 | |||
3189 | --- a/lib/lp/code/doc/branch.txt | |||
3190 | +++ b/lib/lp/code/doc/branch.txt | |||
3191 | @@ -120,7 +120,6 @@ are writable, but the owner can be set using the `setOwner` method. | |||
3192 | 120 | 120 | ||
3193 | 121 | >>> login('admin@canonical.com') | 121 | >>> login('admin@canonical.com') |
3194 | 122 | >>> new_branch.registrant = factory.makePerson() | 122 | >>> new_branch.registrant = factory.makePerson() |
3195 | 123 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3196 | 124 | Traceback (most recent call last): | 123 | Traceback (most recent call last): |
3197 | 125 | ... | 124 | ... |
3198 | 126 | zope.security.interfaces.ForbiddenAttribute: ('registrant', <Branch ...>) | 125 | zope.security.interfaces.ForbiddenAttribute: ('registrant', <Branch ...>) |
3199 | @@ -140,7 +139,6 @@ and -, +, _ and @ are allowed after that. | |||
3200 | 140 | >>> namespace.createBranch( | 139 | >>> namespace.createBranch( |
3201 | 141 | ... branch_type=BranchType.HOSTED, name='invalid name!', | 140 | ... branch_type=BranchType.HOSTED, name='invalid name!', |
3202 | 142 | ... registrant=registrant) | 141 | ... registrant=registrant) |
3203 | 143 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3204 | 144 | Traceback (most recent call last): | 142 | Traceback (most recent call last): |
3205 | 145 | ... | 143 | ... |
3206 | 146 | lp.app.validators.LaunchpadValidationError: Invalid branch name 'invalid name!'. Branch ... | 144 | lp.app.validators.LaunchpadValidationError: Invalid branch name 'invalid name!'. Branch ... |
3207 | diff --git a/lib/lp/code/doc/codeimport-machine.txt b/lib/lp/code/doc/codeimport-machine.txt | |||
3208 | index e24d9b6..6a963e6 100644 | |||
3209 | --- a/lib/lp/code/doc/codeimport-machine.txt | |||
3210 | +++ b/lib/lp/code/doc/codeimport-machine.txt | |||
3211 | @@ -107,7 +107,6 @@ permitted. | |||
3212 | 107 | OFFLINE | 107 | OFFLINE |
3213 | 108 | 108 | ||
3214 | 109 | >>> new_machine.state = CodeImportMachineState.ONLINE | 109 | >>> new_machine.state = CodeImportMachineState.ONLINE |
3215 | 110 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3216 | 111 | Traceback (most recent call last): | 110 | Traceback (most recent call last): |
3217 | 112 | ... | 111 | ... |
3218 | 113 | zope.security.interfaces.ForbiddenAttribute: ... | 112 | zope.security.interfaces.ForbiddenAttribute: ... |
3219 | diff --git a/lib/lp/code/doc/codeimport.txt b/lib/lp/code/doc/codeimport.txt | |||
3220 | index c12d96b..f6770f0 100644 | |||
3221 | --- a/lib/lp/code/doc/codeimport.txt | |||
3222 | +++ b/lib/lp/code/doc/codeimport.txt | |||
3223 | @@ -430,7 +430,6 @@ When you ask for an id that is not present ICodeImportSet.get() raises | |||
3224 | 430 | lp.app.errors.NotFoundError, rather than some internal database exception. | 430 | lp.app.errors.NotFoundError, rather than some internal database exception. |
3225 | 431 | 431 | ||
3226 | 432 | >>> code_import_set.get(-10) | 432 | >>> code_import_set.get(-10) |
3227 | 433 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3228 | 434 | Traceback (most recent call last): | 433 | Traceback (most recent call last): |
3229 | 435 | ... | 434 | ... |
3230 | 436 | lp.app.errors.NotFoundError: -10 | 435 | lp.app.errors.NotFoundError: -10 |
3231 | @@ -471,7 +470,6 @@ on those objects. | |||
3232 | 471 | >>> print(svn_import.url) | 470 | >>> print(svn_import.url) |
3233 | 472 | svn://svn.example.com/trunk | 471 | svn://svn.example.com/trunk |
3234 | 473 | >>> svn_import.url = 'svn://svn.example.com/branch/1.0' | 472 | >>> svn_import.url = 'svn://svn.example.com/branch/1.0' |
3235 | 474 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3236 | 475 | Traceback (most recent call last): | 473 | Traceback (most recent call last): |
3237 | 476 | ... | 474 | ... |
3238 | 477 | zope.security.interfaces.ForbiddenAttribute: ('url', <CodeImport ...>) | 475 | zope.security.interfaces.ForbiddenAttribute: ('url', <CodeImport ...>) |
3239 | @@ -497,7 +495,6 @@ The launchpad.Edit privilege is required to use CodeImport.updateFromData. | |||
3240 | 497 | 495 | ||
3241 | 498 | >>> login(ANONYMOUS) | 496 | >>> login(ANONYMOUS) |
3242 | 499 | >>> svn_import.updateFromData({}, nopriv) | 497 | >>> svn_import.updateFromData({}, nopriv) |
3243 | 500 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3244 | 501 | Traceback (most recent call last): | 498 | Traceback (most recent call last): |
3245 | 502 | ... | 499 | ... |
3246 | 503 | zope.security.interfaces.Unauthorized: (<CodeImport ...>, 'updateFromData', 'launchpad.Moderate') | 500 | zope.security.interfaces.Unauthorized: (<CodeImport ...>, 'updateFromData', 'launchpad.Moderate') |
3247 | diff --git a/lib/lp/code/stories/branches/xx-branch-edit.txt b/lib/lp/code/stories/branches/xx-branch-edit.txt | |||
3248 | index f493201..7498979 100644 | |||
3249 | --- a/lib/lp/code/stories/branches/xx-branch-edit.txt | |||
3250 | +++ b/lib/lp/code/stories/branches/xx-branch-edit.txt | |||
3251 | @@ -32,7 +32,6 @@ owner, Launchpad administrators or members of the Bazaar Experts team. | |||
3252 | 32 | >>> nopriv_browser.open( | 32 | >>> nopriv_browser.open( |
3253 | 33 | ... 'http://code.launchpad.test/~name12/gnome-terminal/klingon') | 33 | ... 'http://code.launchpad.test/~name12/gnome-terminal/klingon') |
3254 | 34 | >>> link = nopriv_browser.getLink('Change branch details') | 34 | >>> link = nopriv_browser.getLink('Change branch details') |
3255 | 35 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3256 | 36 | Traceback (most recent call last): | 35 | Traceback (most recent call last): |
3257 | 37 | zope.testbrowser.browser.LinkNotFoundError | 36 | zope.testbrowser.browser.LinkNotFoundError |
3258 | 38 | 37 | ||
3259 | diff --git a/lib/lp/code/stories/branches/xx-branch-reference.txt b/lib/lp/code/stories/branches/xx-branch-reference.txt | |||
3260 | index 31fba80..a308c33 100644 | |||
3261 | --- a/lib/lp/code/stories/branches/xx-branch-reference.txt | |||
3262 | +++ b/lib/lp/code/stories/branches/xx-branch-reference.txt | |||
3263 | @@ -56,7 +56,6 @@ a 404 error: | |||
3264 | 56 | 56 | ||
3265 | 57 | >>> anon_browser.open('http://launchpad.test/' | 57 | >>> anon_browser.open('http://launchpad.test/' |
3266 | 58 | ... 'firefox/1.0/.bzr/branch/location') | 58 | ... 'firefox/1.0/.bzr/branch/location') |
3267 | 59 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3268 | 60 | Traceback (most recent call last): | 59 | Traceback (most recent call last): |
3269 | 61 | ... | 60 | ... |
3270 | 62 | zope.publisher.interfaces.NotFound: ... '.bzr' | 61 | zope.publisher.interfaces.NotFound: ... '.bzr' |
3271 | @@ -80,7 +79,6 @@ associated with it, we get a 404 error: | |||
3272 | 80 | 79 | ||
3273 | 81 | >>> anon_browser.open('http://launchpad.test/' | 80 | >>> anon_browser.open('http://launchpad.test/' |
3274 | 82 | ... 'firefox/.bzr/branch/location') | 81 | ... 'firefox/.bzr/branch/location') |
3275 | 83 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3276 | 84 | Traceback (most recent call last): | 82 | Traceback (most recent call last): |
3277 | 85 | ... | 83 | ... |
3278 | 86 | zope.publisher.interfaces.NotFound: ... '.bzr' | 84 | zope.publisher.interfaces.NotFound: ... '.bzr' |
3279 | diff --git a/lib/lp/code/stories/branches/xx-branchmergeproposals.txt b/lib/lp/code/stories/branches/xx-branchmergeproposals.txt | |||
3280 | index 798c6d0..882a87e 100644 | |||
3281 | --- a/lib/lp/code/stories/branches/xx-branchmergeproposals.txt | |||
3282 | +++ b/lib/lp/code/stories/branches/xx-branchmergeproposals.txt | |||
3283 | @@ -196,7 +196,6 @@ People not logged in cannot perform reviews. | |||
3284 | 196 | 196 | ||
3285 | 197 | >>> anon_browser.open(klingon_proposal) | 197 | >>> anon_browser.open(klingon_proposal) |
3286 | 198 | >>> link = anon_browser.getLink('[Review]') | 198 | >>> link = anon_browser.getLink('[Review]') |
3287 | 199 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3288 | 200 | Traceback (most recent call last): | 199 | Traceback (most recent call last): |
3289 | 201 | zope.testbrowser.browser.LinkNotFoundError | 200 | zope.testbrowser.browser.LinkNotFoundError |
3290 | 202 | 201 | ||
3291 | @@ -529,7 +528,6 @@ shown for junk branches. | |||
3292 | 529 | >>> nopriv_browser.open( | 528 | >>> nopriv_browser.open( |
3293 | 530 | ... 'http://code.launchpad.test/~mark/+junk/testdoc') | 529 | ... 'http://code.launchpad.test/~mark/+junk/testdoc') |
3294 | 531 | >>> nopriv_browser.getLink('Propose for merging').click() | 530 | >>> nopriv_browser.getLink('Propose for merging').click() |
3295 | 532 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3296 | 533 | Traceback (most recent call last): | 531 | Traceback (most recent call last): |
3297 | 534 | ... | 532 | ... |
3298 | 535 | zope.testbrowser.browser.LinkNotFoundError | 533 | zope.testbrowser.browser.LinkNotFoundError |
3299 | @@ -539,7 +537,6 @@ they'll get a 404. | |||
3300 | 539 | 537 | ||
3301 | 540 | >>> nopriv_browser.open( | 538 | >>> nopriv_browser.open( |
3302 | 541 | ... 'http://code.launchpad.test/~mark/+junk/testdoc/+register-merge') | 539 | ... 'http://code.launchpad.test/~mark/+junk/testdoc/+register-merge') |
3303 | 542 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3304 | 543 | Traceback (most recent call last): | 540 | Traceback (most recent call last): |
3305 | 544 | ... | 541 | ... |
3306 | 545 | zope.publisher.interfaces.NotFound: ... | 542 | zope.publisher.interfaces.NotFound: ... |
3307 | diff --git a/lib/lp/code/stories/branches/xx-bug-branch-links.txt b/lib/lp/code/stories/branches/xx-bug-branch-links.txt | |||
3308 | index f7462e8..3661261 100644 | |||
3309 | --- a/lib/lp/code/stories/branches/xx-bug-branch-links.txt | |||
3310 | +++ b/lib/lp/code/stories/branches/xx-bug-branch-links.txt | |||
3311 | @@ -19,7 +19,6 @@ if the user is not logged in, they will be asked to log in. | |||
3312 | 19 | >>> anon_browser.open( | 19 | >>> anon_browser.open( |
3313 | 20 | ... 'http://code.launchpad.test/~name12/gnome-terminal/klingon') | 20 | ... 'http://code.launchpad.test/~name12/gnome-terminal/klingon') |
3314 | 21 | >>> anon_browser.getLink('Link a bug report').click() | 21 | >>> anon_browser.getLink('Link a bug report').click() |
3315 | 22 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3316 | 23 | Traceback (most recent call last): | 22 | Traceback (most recent call last): |
3317 | 24 | ... | 23 | ... |
3318 | 25 | zope.security.interfaces.Unauthorized: (...launchpad.AnyPerson') | 24 | zope.security.interfaces.Unauthorized: (...launchpad.AnyPerson') |
3319 | @@ -106,7 +105,6 @@ links to a page restricted with the launchpad.AnyPerson permission. | |||
3320 | 106 | >>> anon_browser.open( | 105 | >>> anon_browser.open( |
3321 | 107 | ... 'http://launchpad.test/bugs/11') | 106 | ... 'http://launchpad.test/bugs/11') |
3322 | 108 | >>> anon_browser.getLink('Link a related branch').click() | 107 | >>> anon_browser.getLink('Link a related branch').click() |
3323 | 109 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3324 | 110 | Traceback (most recent call last): | 108 | Traceback (most recent call last): |
3325 | 111 | ... | 109 | ... |
3326 | 112 | zope.security.interfaces.Unauthorized: (...launchpad.AnyPerson') | 110 | zope.security.interfaces.Unauthorized: (...launchpad.AnyPerson') |
3327 | diff --git a/lib/lp/code/stories/branches/xx-code-review-comments.txt b/lib/lp/code/stories/branches/xx-code-review-comments.txt | |||
3328 | index 9cc4178..0d075f6 100644 | |||
3329 | --- a/lib/lp/code/stories/branches/xx-code-review-comments.txt | |||
3330 | +++ b/lib/lp/code/stories/branches/xx-code-review-comments.txt | |||
3331 | @@ -55,7 +55,6 @@ The person's name links back to the main site for that person. | |||
3332 | 55 | Reply link is displayed even if the user isn't logged in. | 55 | Reply link is displayed even if the user isn't logged in. |
3333 | 56 | 56 | ||
3334 | 57 | >>> anon_browser.getLink('Reply').click() | 57 | >>> anon_browser.getLink('Reply').click() |
3335 | 58 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3336 | 59 | Traceback (most recent call last): | 58 | Traceback (most recent call last): |
3337 | 60 | zope.security.interfaces.Unauthorized: ... | 59 | zope.security.interfaces.Unauthorized: ... |
3338 | 61 | 60 | ||
3339 | diff --git a/lib/lp/code/stories/branches/xx-subscribing-branches.txt b/lib/lp/code/stories/branches/xx-subscribing-branches.txt | |||
3340 | index f240f47..1974c42 100644 | |||
3341 | --- a/lib/lp/code/stories/branches/xx-subscribing-branches.txt | |||
3342 | +++ b/lib/lp/code/stories/branches/xx-subscribing-branches.txt | |||
3343 | @@ -28,7 +28,6 @@ In order to subscribe to a branch, the user must be logged in. | |||
3344 | 28 | >>> anon_browser.open( | 28 | >>> anon_browser.open( |
3345 | 29 | ... 'http://code.launchpad.test/~name12/gnome-terminal/main') | 29 | ... 'http://code.launchpad.test/~name12/gnome-terminal/main') |
3346 | 30 | >>> anon_browser.getLink('Subscribe') | 30 | >>> anon_browser.getLink('Subscribe') |
3347 | 31 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3348 | 32 | Traceback (most recent call last): | 31 | Traceback (most recent call last): |
3349 | 33 | ... | 32 | ... |
3350 | 34 | zope.testbrowser.browser.LinkNotFoundError | 33 | zope.testbrowser.browser.LinkNotFoundError |
3351 | @@ -148,7 +147,6 @@ You need to be logged in to see the link. | |||
3352 | 148 | >>> anon_browser.open( | 147 | >>> anon_browser.open( |
3353 | 149 | ... 'http://code.launchpad.test/~name12/gnome-terminal/main') | 148 | ... 'http://code.launchpad.test/~name12/gnome-terminal/main') |
3354 | 150 | >>> anon_browser.getLink('Subscribe someone else') | 149 | >>> anon_browser.getLink('Subscribe someone else') |
3355 | 151 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3356 | 152 | Traceback (most recent call last): | 150 | Traceback (most recent call last): |
3357 | 153 | ... | 151 | ... |
3358 | 154 | zope.testbrowser.browser.LinkNotFoundError | 152 | zope.testbrowser.browser.LinkNotFoundError |
3359 | diff --git a/lib/lp/code/stories/branches/xx-upgrading-branches.txt b/lib/lp/code/stories/branches/xx-upgrading-branches.txt | |||
3360 | index a824a94..042804c 100644 | |||
3361 | --- a/lib/lp/code/stories/branches/xx-upgrading-branches.txt | |||
3362 | +++ b/lib/lp/code/stories/branches/xx-upgrading-branches.txt | |||
3363 | @@ -32,7 +32,6 @@ Only those with edit permissions on a branch can request an upgrade. | |||
3364 | 32 | ... auth='Basic nopriv@canonical.com:test') | 32 | ... auth='Basic nopriv@canonical.com:test') |
3365 | 33 | >>> nopriv_browser.open(branch_url) | 33 | >>> nopriv_browser.open(branch_url) |
3366 | 34 | >>> link = nopriv_browser.getLink('Upgrade this branch') | 34 | >>> link = nopriv_browser.getLink('Upgrade this branch') |
3367 | 35 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3368 | 36 | Traceback (most recent call last): | 35 | Traceback (most recent call last): |
3369 | 37 | zope.testbrowser.browser.LinkNotFoundError | 36 | zope.testbrowser.browser.LinkNotFoundError |
3370 | 38 | 37 | ||
3371 | diff --git a/lib/lp/code/stories/codeimport/xx-create-codeimport.txt b/lib/lp/code/stories/codeimport/xx-create-codeimport.txt | |||
3372 | index 93de21b..9f338f0 100644 | |||
3373 | --- a/lib/lp/code/stories/codeimport/xx-create-codeimport.txt | |||
3374 | +++ b/lib/lp/code/stories/codeimport/xx-create-codeimport.txt | |||
3375 | @@ -32,7 +32,6 @@ link on the main branch listing page for the product. | |||
3376 | 32 | 32 | ||
3377 | 33 | >>> browser.open('http://code.launchpad.test/firefox') | 33 | >>> browser.open('http://code.launchpad.test/firefox') |
3378 | 34 | >>> browser.getLink('Import a branch').click() | 34 | >>> browser.getLink('Import a branch').click() |
3379 | 35 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3380 | 36 | Traceback (most recent call last): | 35 | Traceback (most recent call last): |
3381 | 37 | ... | 36 | ... |
3382 | 38 | zope.testbrowser.browser.LinkNotFoundError | 37 | zope.testbrowser.browser.LinkNotFoundError |
3383 | diff --git a/lib/lp/code/stories/codeimport/xx-edit-codeimport.txt b/lib/lp/code/stories/codeimport/xx-edit-codeimport.txt | |||
3384 | index 622a63f..f11fc01 100644 | |||
3385 | --- a/lib/lp/code/stories/codeimport/xx-edit-codeimport.txt | |||
3386 | +++ b/lib/lp/code/stories/codeimport/xx-edit-codeimport.txt | |||
3387 | @@ -54,7 +54,6 @@ do not get an Edit link. | |||
3388 | 54 | Because it's an svn:// URL, it doesn't get linkified: | 54 | Because it's an svn:// URL, it doesn't get linkified: |
3389 | 55 | 55 | ||
3390 | 56 | >>> anon_browser.getLink("svn://svn.example.com/fooix/trunk") | 56 | >>> anon_browser.getLink("svn://svn.example.com/fooix/trunk") |
3391 | 57 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3392 | 58 | Traceback (most recent call last): | 57 | Traceback (most recent call last): |
3393 | 59 | ... | 58 | ... |
3394 | 60 | zope.testbrowser.browser.LinkNotFoundError | 59 | zope.testbrowser.browser.LinkNotFoundError |
3395 | @@ -68,12 +67,10 @@ they will get a not authorised page if the branch has a code import, | |||
3396 | 68 | and a 404 if the branch doesn't have an import. | 67 | and a 404 if the branch doesn't have an import. |
3397 | 69 | 68 | ||
3398 | 70 | >>> anon_browser.open(svn_import_location + '/+edit-import') | 69 | >>> anon_browser.open(svn_import_location + '/+edit-import') |
3399 | 71 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3400 | 72 | Traceback (most recent call last): | 70 | Traceback (most recent call last): |
3401 | 73 | zope.security.interfaces.Unauthorized: (... 'launchpad.Edit') | 71 | zope.security.interfaces.Unauthorized: (... 'launchpad.Edit') |
3402 | 74 | 72 | ||
3403 | 75 | >>> admin_browser.open(hosted_branch_location + '/+edit-import') | 73 | >>> admin_browser.open(hosted_branch_location + '/+edit-import') |
3404 | 76 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3405 | 77 | Traceback (most recent call last): | 74 | Traceback (most recent call last): |
3406 | 78 | lp.app.errors.NotFoundError | 75 | lp.app.errors.NotFoundError |
3407 | 79 | 76 | ||
3408 | diff --git a/lib/lp/coop/answersbugs/stories/question-buglink.txt b/lib/lp/coop/answersbugs/stories/question-buglink.txt | |||
3409 | index c5c71f8..764bbd2 100644 | |||
3410 | --- a/lib/lp/coop/answersbugs/stories/question-buglink.txt | |||
3411 | +++ b/lib/lp/coop/answersbugs/stories/question-buglink.txt | |||
3412 | @@ -17,7 +17,6 @@ This link is only available to registered user: | |||
3413 | 17 | >>> anon_browser.open( | 17 | >>> anon_browser.open( |
3414 | 18 | ... 'http://launchpad.test/firefox/+question/2') | 18 | ... 'http://launchpad.test/firefox/+question/2') |
3415 | 19 | >>> anon_browser.getLink(url='+linkbug').click() | 19 | >>> anon_browser.getLink(url='+linkbug').click() |
3416 | 20 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3417 | 21 | Traceback (most recent call last): | 20 | Traceback (most recent call last): |
3418 | 22 | ... | 21 | ... |
3419 | 23 | zope.security.interfaces.Unauthorized: ... | 22 | zope.security.interfaces.Unauthorized: ... |
3420 | diff --git a/lib/lp/coop/answersbugs/stories/question-makebug.txt b/lib/lp/coop/answersbugs/stories/question-makebug.txt | |||
3421 | index 34bf516..0399135 100644 | |||
3422 | --- a/lib/lp/coop/answersbugs/stories/question-makebug.txt | |||
3423 | +++ b/lib/lp/coop/answersbugs/stories/question-makebug.txt | |||
3424 | @@ -66,7 +66,6 @@ to it. | |||
3425 | 66 | >>> browser.contents | 66 | >>> browser.contents |
3426 | 67 | '...<h3>Related bugs</h3>...' | 67 | '...<h3>Related bugs</h3>...' |
3427 | 68 | >>> browser.getLink('Create bug report') | 68 | >>> browser.getLink('Create bug report') |
3428 | 69 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3429 | 70 | Traceback (most recent call last): | 69 | Traceback (most recent call last): |
3430 | 71 | .. | 70 | .. |
3431 | 72 | zope.testbrowser.browser.LinkNotFoundError | 71 | zope.testbrowser.browser.LinkNotFoundError |
3432 | diff --git a/lib/lp/registry/browser/tests/gpg-views.txt b/lib/lp/registry/browser/tests/gpg-views.txt | |||
3433 | index 7682722..dcb4257 100644 | |||
3434 | --- a/lib/lp/registry/browser/tests/gpg-views.txt | |||
3435 | +++ b/lib/lp/registry/browser/tests/gpg-views.txt | |||
3436 | @@ -133,7 +133,6 @@ validation. | |||
3437 | 133 | In some unknown way, the action sent to the form can be None (see bug 520476). | 133 | In some unknown way, the action sent to the form can be None (see bug 520476). |
3438 | 134 | 134 | ||
3439 | 135 | >>> view = post_fingerprint(good_fingerprint, action=None) | 135 | >>> view = post_fingerprint(good_fingerprint, action=None) |
3440 | 136 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3441 | 137 | Traceback (most recent call last): | 136 | Traceback (most recent call last): |
3442 | 138 | ... | 137 | ... |
3443 | 139 | lp.app.errors.UnexpectedFormData: Action not permitted: None | 138 | lp.app.errors.UnexpectedFormData: Action not permitted: None |
3444 | diff --git a/lib/lp/registry/browser/tests/product-views.txt b/lib/lp/registry/browser/tests/product-views.txt | |||
3445 | index 0f567b4..fca5d24 100644 | |||
3446 | --- a/lib/lp/registry/browser/tests/product-views.txt | |||
3447 | +++ b/lib/lp/registry/browser/tests/product-views.txt | |||
3448 | @@ -126,7 +126,6 @@ cannot access the page. | |||
3449 | 126 | >>> view = create_initialized_view(firefox, name='+index') | 126 | >>> view = create_initialized_view(firefox, name='+index') |
3450 | 127 | 127 | ||
3451 | 128 | >>> view = create_initialized_view(firefox, name='+review-license') | 128 | >>> view = create_initialized_view(firefox, name='+review-license') |
3452 | 129 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3453 | 130 | Traceback (most recent call last): | 129 | Traceback (most recent call last): |
3454 | 131 | ... | 130 | ... |
3455 | 132 | zope.security.interfaces.Unauthorized: (<Product..., 'project_reviewed', 'launchpad.Moderate') | 131 | zope.security.interfaces.Unauthorized: (<Product..., 'project_reviewed', 'launchpad.Moderate') |
3456 | diff --git a/lib/lp/registry/browser/tests/team-views.txt b/lib/lp/registry/browser/tests/team-views.txt | |||
3457 | index 07232ef..9af0adb 100644 | |||
3458 | --- a/lib/lp/registry/browser/tests/team-views.txt | |||
3459 | +++ b/lib/lp/registry/browser/tests/team-views.txt | |||
3460 | @@ -61,7 +61,6 @@ Posting malformed data to the team home page raises an error. | |||
3461 | 61 | >>> team_home = getMultiAdapter( | 61 | >>> team_home = getMultiAdapter( |
3462 | 62 | ... (ubuntu_team, broken_request), name='+index') | 62 | ... (ubuntu_team, broken_request), name='+index') |
3463 | 63 | >>> team_home.initialize() | 63 | >>> team_home.initialize() |
3464 | 64 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3465 | 65 | Traceback (most recent call last): | 64 | Traceback (most recent call last): |
3466 | 66 | ... | 65 | ... |
3467 | 67 | lp.app.errors.UnexpectedFormData: The mailing list form did not receive the expected form fields. | 66 | lp.app.errors.UnexpectedFormData: The mailing list form did not receive the expected form fields. |
3468 | diff --git a/lib/lp/registry/doc/announcement.txt b/lib/lp/registry/doc/announcement.txt | |||
3469 | index 0287d58..e916ec3 100644 | |||
3470 | --- a/lib/lp/registry/doc/announcement.txt | |||
3471 | +++ b/lib/lp/registry/doc/announcement.txt | |||
3472 | @@ -187,17 +187,14 @@ modify() method. | |||
3473 | 187 | 187 | ||
3474 | 188 | >>> login('mark@example.com') | 188 | >>> login('mark@example.com') |
3475 | 189 | >>> kubuntu_release.title = 'Foo' | 189 | >>> kubuntu_release.title = 'Foo' |
3476 | 190 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3477 | 191 | Traceback (most recent call last): | 190 | Traceback (most recent call last): |
3478 | 192 | ... | 191 | ... |
3479 | 193 | zope.security.interfaces.ForbiddenAttribute: ... | 192 | zope.security.interfaces.ForbiddenAttribute: ... |
3480 | 194 | >>> kubuntu_release.summary = 'Foo' | 193 | >>> kubuntu_release.summary = 'Foo' |
3481 | 195 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3482 | 196 | Traceback (most recent call last): | 194 | Traceback (most recent call last): |
3483 | 197 | ... | 195 | ... |
3484 | 198 | zope.security.interfaces.ForbiddenAttribute: ... | 196 | zope.security.interfaces.ForbiddenAttribute: ... |
3485 | 199 | >>> kubuntu_release.url = 'http://Foo.com/foo' | 197 | >>> kubuntu_release.url = 'http://Foo.com/foo' |
3486 | 200 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3487 | 201 | Traceback (most recent call last): | 198 | Traceback (most recent call last): |
3488 | 202 | ... | 199 | ... |
3489 | 203 | zope.security.interfaces.ForbiddenAttribute: ... | 200 | zope.security.interfaces.ForbiddenAttribute: ... |
3490 | diff --git a/lib/lp/registry/doc/commercialsubscription.txt b/lib/lp/registry/doc/commercialsubscription.txt | |||
3491 | index 3a60b44..851b264 100644 | |||
3492 | --- a/lib/lp/registry/doc/commercialsubscription.txt | |||
3493 | +++ b/lib/lp/registry/doc/commercialsubscription.txt | |||
3494 | @@ -357,7 +357,6 @@ No Privileges Person cannot access 'forReview'. | |||
3495 | 357 | >>> check_permission('launchpad.Moderate', product_set) | 357 | >>> check_permission('launchpad.Moderate', product_set) |
3496 | 358 | False | 358 | False |
3497 | 359 | >>> gnome = product_set.forReview(commercial_member, search_text='gnome') | 359 | >>> gnome = product_set.forReview(commercial_member, search_text='gnome') |
3498 | 360 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3499 | 361 | Traceback (most recent call last): | 360 | Traceback (most recent call last): |
3500 | 362 | ... | 361 | ... |
3501 | 363 | zope.security.interfaces.Unauthorized: ... 'forReview', 'launchpad.Moderate'... | 362 | zope.security.interfaces.Unauthorized: ... 'forReview', 'launchpad.Moderate'... |
3502 | diff --git a/lib/lp/registry/doc/distribution-mirror.txt b/lib/lp/registry/doc/distribution-mirror.txt | |||
3503 | index c9f1a6c..0b39afc 100644 | |||
3504 | --- a/lib/lp/registry/doc/distribution-mirror.txt | |||
3505 | +++ b/lib/lp/registry/doc/distribution-mirror.txt | |||
3506 | @@ -912,7 +912,6 @@ Only mirrors which have never been probed can be deleted this way. | |||
3507 | 912 | 912 | ||
3508 | 913 | >>> ignored = login_person(cdimage_mirror.owner) | 913 | >>> ignored = login_person(cdimage_mirror.owner) |
3509 | 914 | >>> cdimage_mirror.destroySelf() | 914 | >>> cdimage_mirror.destroySelf() |
3510 | 915 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3511 | 916 | Traceback (most recent call last): | 915 | Traceback (most recent call last): |
3512 | 917 | ... | 916 | ... |
3513 | 918 | zope.security.interfaces.Unauthorized: ... | 917 | zope.security.interfaces.Unauthorized: ... |
3514 | @@ -960,7 +959,6 @@ for the status, however, they may not change it: | |||
3515 | 960 | >>> de_archive_mirror.canTransitionToCountryMirror() | 959 | >>> de_archive_mirror.canTransitionToCountryMirror() |
3516 | 961 | True | 960 | True |
3517 | 962 | >>> de_archive_mirror.transitionToCountryMirror(True) | 961 | >>> de_archive_mirror.transitionToCountryMirror(True) |
3518 | 963 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3519 | 964 | Traceback (most recent call last): | 962 | Traceback (most recent call last): |
3520 | 965 | ... | 963 | ... |
3521 | 966 | zope.security.interfaces.Unauthorized: (<DistributionMirror at ...>, 'transitionToCountryMirror', 'launchpad.Admin') | 964 | zope.security.interfaces.Unauthorized: (<DistributionMirror at ...>, 'transitionToCountryMirror', 'launchpad.Admin') |
3522 | @@ -1002,7 +1000,6 @@ There cannot be multiple country mirrors of one type for one country: | |||
3523 | 1002 | 1000 | ||
3524 | 1003 | >>> davis_station_archive.transitionToCountryMirror(True) | 1001 | >>> davis_station_archive.transitionToCountryMirror(True) |
3525 | 1004 | >>> archive_mirror2.transitionToCountryMirror(True) | 1002 | >>> archive_mirror2.transitionToCountryMirror(True) |
3526 | 1005 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3527 | 1006 | Traceback (most recent call last): | 1003 | Traceback (most recent call last): |
3528 | 1007 | ... | 1004 | ... |
3529 | 1008 | lp.registry.errors.CountryMirrorAlreadySet: Antarctica already has a country Archive mirror set. | 1005 | lp.registry.errors.CountryMirrorAlreadySet: Antarctica already has a country Archive mirror set. |
3530 | @@ -1015,7 +1012,6 @@ Mirrors which have not been probed may not be marked as country mirrors: | |||
3531 | 1015 | ... official_candidate=True) | 1012 | ... official_candidate=True) |
3532 | 1016 | >>> linux_au_mirror.status = MirrorStatus.OFFICIAL | 1013 | >>> linux_au_mirror.status = MirrorStatus.OFFICIAL |
3533 | 1017 | >>> linux_au_mirror.transitionToCountryMirror(True) | 1014 | >>> linux_au_mirror.transitionToCountryMirror(True) |
3534 | 1018 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3535 | 1019 | Traceback (most recent call last): | 1015 | Traceback (most recent call last): |
3536 | 1020 | ... | 1016 | ... |
3537 | 1021 | lp.registry.errors.MirrorNotProbed: This mirror may not be set as a country mirror as it has not been probed. | 1017 | lp.registry.errors.MirrorNotProbed: This mirror may not be set as a country mirror as it has not been probed. |
3538 | @@ -1036,13 +1032,11 @@ country mirrors: | |||
3539 | 1036 | False | 1032 | False |
3540 | 1037 | 1033 | ||
3541 | 1038 | >>> osuosl_mirror.transitionToCountryMirror(None) | 1034 | >>> osuosl_mirror.transitionToCountryMirror(None) |
3542 | 1039 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3543 | 1040 | Traceback (most recent call last): | 1035 | Traceback (most recent call last): |
3544 | 1041 | ... | 1036 | ... |
3545 | 1042 | storm.exceptions.NoneError: None isn't acceptable as a value for DistributionMirror.country_dns_mirror | 1037 | storm.exceptions.NoneError: None isn't acceptable as a value for DistributionMirror.country_dns_mirror |
3546 | 1043 | 1038 | ||
3547 | 1044 | >>> osuosl_mirror.transitionToCountryMirror(True) | 1039 | >>> osuosl_mirror.transitionToCountryMirror(True) |
3548 | 1045 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3549 | 1046 | Traceback (most recent call last): | 1040 | Traceback (most recent call last): |
3550 | 1047 | ... | 1041 | ... |
3551 | 1048 | lp.registry.errors.MirrorHasNoHTTPURL: This mirror may not be set as a country mirror as it does not have an HTTP URL set. | 1042 | lp.registry.errors.MirrorHasNoHTTPURL: This mirror may not be set as a country mirror as it does not have an HTTP URL set. |
3552 | diff --git a/lib/lp/registry/doc/distribution.txt b/lib/lp/registry/doc/distribution.txt | |||
3553 | index d9dcd94..dc2941b 100644 | |||
3554 | --- a/lib/lp/registry/doc/distribution.txt | |||
3555 | +++ b/lib/lp/registry/doc/distribution.txt | |||
3556 | @@ -308,7 +308,6 @@ Distribution can do that for us. | |||
3557 | 308 | 308 | ||
3558 | 309 | If we ask for a totally unknown distroseries, we raise NotFoundError | 309 | If we ask for a totally unknown distroseries, we raise NotFoundError |
3559 | 310 | >>> ubuntu.getDistroSeriesAndPocket('unknown') | 310 | >>> ubuntu.getDistroSeriesAndPocket('unknown') |
3560 | 311 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3561 | 312 | Traceback (most recent call last): | 311 | Traceback (most recent call last): |
3562 | 313 | ... | 312 | ... |
3563 | 314 | lp.app.errors.NotFoundError: ...'unknown' | 313 | lp.app.errors.NotFoundError: ...'unknown' |
3564 | @@ -339,7 +338,6 @@ Find the backports pocket, too: | |||
3565 | 339 | If we ask for a valid distroseries which doesn't have a given pocket it should | 338 | If we ask for a valid distroseries which doesn't have a given pocket it should |
3566 | 340 | raise NotFoundError for us | 339 | raise NotFoundError for us |
3567 | 341 | >>> ubuntu.getDistroSeriesAndPocket('hoary-bullshit') | 340 | >>> ubuntu.getDistroSeriesAndPocket('hoary-bullshit') |
3568 | 342 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3569 | 343 | Traceback (most recent call last): | 341 | Traceback (most recent call last): |
3570 | 344 | ... | 342 | ... |
3571 | 345 | lp.app.errors.NotFoundError: ...'hoary-bullshit' | 343 | lp.app.errors.NotFoundError: ...'hoary-bullshit' |
3572 | @@ -469,15 +467,12 @@ But others can't. | |||
3573 | 469 | 467 | ||
3574 | 470 | >>> login('no-priv@canonical.com') | 468 | >>> login('no-priv@canonical.com') |
3575 | 471 | >>> debian.blueprints_usage = ServiceUsage.LAUNCHPAD | 469 | >>> debian.blueprints_usage = ServiceUsage.LAUNCHPAD |
3576 | 472 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3577 | 473 | Traceback (most recent call last): | 470 | Traceback (most recent call last): |
3578 | 474 | zope.security.interfaces.Unauthorized: (..., 'blueprints_usage', 'launchpad.Edit') | 471 | zope.security.interfaces.Unauthorized: (..., 'blueprints_usage', 'launchpad.Edit') |
3579 | 475 | >>> debian.official_malone = True | 472 | >>> debian.official_malone = True |
3580 | 476 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3581 | 477 | Traceback (most recent call last): | 473 | Traceback (most recent call last): |
3582 | 478 | zope.security.interfaces.Unauthorized: (..., 'official_malone', 'launchpad.Edit') | 474 | zope.security.interfaces.Unauthorized: (..., 'official_malone', 'launchpad.Edit') |
3583 | 479 | >>> debian.translations_usage = ServiceUsage.LAUNCHPAD | 475 | >>> debian.translations_usage = ServiceUsage.LAUNCHPAD |
3584 | 480 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3585 | 481 | Traceback (most recent call last): | 476 | Traceback (most recent call last): |
3586 | 482 | zope.security.interfaces.Unauthorized: (..., 'translations_usage', 'launchpad.TranslationsAdmin') | 477 | zope.security.interfaces.Unauthorized: (..., 'translations_usage', 'launchpad.TranslationsAdmin') |
3587 | 483 | 478 | ||
3588 | @@ -595,7 +590,6 @@ Milestones for distros can only be created by distro owners or admins. | |||
3589 | 595 | >>> login('no-priv@canonical.com') | 590 | >>> login('no-priv@canonical.com') |
3590 | 596 | >>> woody.newMilestone( | 591 | >>> woody.newMilestone( |
3591 | 597 | ... name='impossible', dateexpected=datetime(2028, 10, 1)) | 592 | ... name='impossible', dateexpected=datetime(2028, 10, 1)) |
3592 | 598 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3593 | 599 | Traceback (most recent call last): | 593 | Traceback (most recent call last): |
3594 | 600 | ... | 594 | ... |
3595 | 601 | zope.security.interfaces.Unauthorized: (<DistroSeries ...'woody'>, 'newMilestone', 'launchpad.Edit') | 595 | zope.security.interfaces.Unauthorized: (<DistroSeries ...'woody'>, 'newMilestone', 'launchpad.Edit') |
3596 | diff --git a/lib/lp/registry/doc/distroseries.txt b/lib/lp/registry/doc/distroseries.txt | |||
3597 | index b69d655..225c66d 100644 | |||
3598 | --- a/lib/lp/registry/doc/distroseries.txt | |||
3599 | +++ b/lib/lp/registry/doc/distroseries.txt | |||
3600 | @@ -680,7 +680,6 @@ Ubuntu driver can not create series. | |||
3601 | 680 | ... name='finch', display_name='Finch', title='Ubuntu Finch', | 680 | ... name='finch', display_name='Finch', title='Ubuntu Finch', |
3602 | 681 | ... summary='summary', description='description', version='9.06', | 681 | ... summary='summary', description='description', version='9.06', |
3603 | 682 | ... previous_series=warty, owner=ubuntu.driver) | 682 | ... previous_series=warty, owner=ubuntu.driver) |
3604 | 683 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3605 | 684 | Traceback (most recent call last): | 683 | Traceback (most recent call last): |
3606 | 685 | ... | 684 | ... |
3607 | 686 | zope.security.interfaces.Unauthorized: ... | 685 | zope.security.interfaces.Unauthorized: ... |
3608 | diff --git a/lib/lp/registry/doc/karmacache.txt b/lib/lp/registry/doc/karmacache.txt | |||
3609 | index 13c7d9f..6f367f0 100644 | |||
3610 | --- a/lib/lp/registry/doc/karmacache.txt | |||
3611 | +++ b/lib/lp/registry/doc/karmacache.txt | |||
3612 | @@ -55,7 +55,6 @@ NotFoundError. | |||
3613 | 55 | 55 | ||
3614 | 56 | >>> karmacachemanager.updateKarmaValue( | 56 | >>> karmacachemanager.updateKarmaValue( |
3615 | 57 | ... new_value, person.id, bugs.id, product_id=9999) | 57 | ... new_value, person.id, bugs.id, product_id=9999) |
3616 | 58 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3617 | 59 | Traceback (most recent call last): | 58 | Traceback (most recent call last): |
3618 | 60 | ... | 59 | ... |
3619 | 61 | lp.app.errors.NotFoundError: ... | 60 | lp.app.errors.NotFoundError: ... |
3620 | diff --git a/lib/lp/registry/doc/launchpadlib/project-registry.txt.disabled b/lib/lp/registry/doc/launchpadlib/project-registry.txt.disabled | |||
3621 | index 08aefe1..7cb5aa3 100644 | |||
3622 | --- a/lib/lp/registry/doc/launchpadlib/project-registry.txt.disabled | |||
3623 | +++ b/lib/lp/registry/doc/launchpadlib/project-registry.txt.disabled | |||
3624 | @@ -276,7 +276,7 @@ Attributes can be edited, but not by the anonymous user. | |||
3625 | 276 | 276 | ||
3626 | 277 | >>> mark = lp_anon.people['mark'] | 277 | >>> mark = lp_anon.people['mark'] |
3627 | 278 | >>> firefox.driver = mark | 278 | >>> firefox.driver = mark |
3629 | 279 | >>> firefox.lp_save() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 279 | >>> firefox.lp_save() |
3630 | 280 | Traceback (most recent call last): | 280 | Traceback (most recent call last): |
3631 | 281 | ... | 281 | ... |
3632 | 282 | urllib.error.HTTPError: HTTP Error 401: Unauthorized... | 282 | urllib.error.HTTPError: HTTP Error 401: Unauthorized... |
3633 | @@ -328,7 +328,7 @@ Changing the owner of a project can change other attributes as well. | |||
3634 | 328 | Read-only attributes cannot be changed. | 328 | Read-only attributes cannot be changed. |
3635 | 329 | 329 | ||
3636 | 330 | >>> firefox.registrant = nopriv | 330 | >>> firefox.registrant = nopriv |
3638 | 331 | >>> firefox.lp_save() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 331 | >>> firefox.lp_save() |
3639 | 332 | Traceback (most recent call last): | 332 | Traceback (most recent call last): |
3640 | 333 | ... | 333 | ... |
3641 | 334 | urllib.error.HTTPError: HTTP Error 400: Bad Request ... registrant_link: You tried to modify a read-only attribute... | 334 | urllib.error.HTTPError: HTTP Error 400: Bad Request ... registrant_link: You tried to modify a read-only attribute... |
3642 | diff --git a/lib/lp/registry/doc/milestone.txt b/lib/lp/registry/doc/milestone.txt | |||
3643 | index 8cc820e..cd5c253 100644 | |||
3644 | --- a/lib/lp/registry/doc/milestone.txt | |||
3645 | +++ b/lib/lp/registry/doc/milestone.txt | |||
3646 | @@ -127,7 +127,7 @@ Now, lets test all of that for DistroSeriess too! | |||
3647 | 127 | Trying to retrieve a milestone that doesn't exist will raise a | 127 | Trying to retrieve a milestone that doesn't exist will raise a |
3648 | 128 | zope.exceptions.NotFoundError: | 128 | zope.exceptions.NotFoundError: |
3649 | 129 | 129 | ||
3651 | 130 | >>> milestoneset.get(-1) # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 130 | >>> milestoneset.get(-1) |
3652 | 131 | Traceback (most recent call last): | 131 | Traceback (most recent call last): |
3653 | 132 | ... | 132 | ... |
3654 | 133 | lp.app.errors.NotFoundError: 'Milestone with ID -1 does not exist' | 133 | lp.app.errors.NotFoundError: 'Milestone with ID -1 does not exist' |
3655 | diff --git a/lib/lp/registry/doc/person-account.txt b/lib/lp/registry/doc/person-account.txt | |||
3656 | index 3e62d40..576ab7d 100644 | |||
3657 | --- a/lib/lp/registry/doc/person-account.txt | |||
3658 | +++ b/lib/lp/registry/doc/person-account.txt | |||
3659 | @@ -33,7 +33,6 @@ the profile. Sample Person cannot claim it. | |||
3660 | 33 | 33 | ||
3661 | 34 | >>> login('test@canonical.com') | 34 | >>> login('test@canonical.com') |
3662 | 35 | >>> matsubara.account.reactivate(comment="test") | 35 | >>> matsubara.account.reactivate(comment="test") |
3663 | 36 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3664 | 37 | Traceback (most recent call last): | 36 | Traceback (most recent call last): |
3665 | 38 | ... | 37 | ... |
3666 | 39 | zope.security.interfaces.Unauthorized: ...'launchpad.View') | 38 | zope.security.interfaces.Unauthorized: ...'launchpad.View') |
3667 | @@ -138,7 +137,6 @@ even launchpad admins can use it. | |||
3668 | 138 | 137 | ||
3669 | 139 | >>> login('mark@example.com') | 138 | >>> login('mark@example.com') |
3670 | 140 | >>> foobar.deactivate(comment=comment) | 139 | >>> foobar.deactivate(comment=comment) |
3671 | 141 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3672 | 142 | Traceback (most recent call last): | 140 | Traceback (most recent call last): |
3673 | 143 | ... | 141 | ... |
3674 | 144 | zope.security.interfaces.Unauthorized: ...'launchpad.Special') | 142 | zope.security.interfaces.Unauthorized: ...'launchpad.Special') |
3675 | diff --git a/lib/lp/registry/doc/person.txt b/lib/lp/registry/doc/person.txt | |||
3676 | index 686ef2b..21312ce 100644 | |||
3677 | --- a/lib/lp/registry/doc/person.txt | |||
3678 | +++ b/lib/lp/registry/doc/person.txt | |||
3679 | @@ -352,13 +352,11 @@ Non-administrators may not change a person's standing. | |||
3680 | 352 | 352 | ||
3681 | 353 | >>> login('test@canonical.com') | 353 | >>> login('test@canonical.com') |
3682 | 354 | >>> lifeless.personal_standing = PersonalStanding.POOR | 354 | >>> lifeless.personal_standing = PersonalStanding.POOR |
3683 | 355 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3684 | 356 | Traceback (most recent call last): | 355 | Traceback (most recent call last): |
3685 | 357 | ... | 356 | ... |
3686 | 358 | zope.security.interfaces.Unauthorized: ... | 357 | zope.security.interfaces.Unauthorized: ... |
3687 | 359 | 358 | ||
3688 | 360 | >>> lifeless.personal_standing_reason = 'Such a cool guy!' | 359 | >>> lifeless.personal_standing_reason = 'Such a cool guy!' |
3689 | 361 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3690 | 362 | Traceback (most recent call last): | 360 | Traceback (most recent call last): |
3691 | 363 | ... | 361 | ... |
3692 | 364 | zope.security.interfaces.Unauthorized: ... | 362 | zope.security.interfaces.Unauthorized: ... |
3693 | @@ -437,7 +435,6 @@ If the given name is already in use by another team/person, an exception | |||
3694 | 437 | is raised. | 435 | is raised. |
3695 | 438 | 436 | ||
3696 | 439 | >>> personset.newTeam(ddaa, 'ddaa', 'Just a new team') | 437 | >>> personset.newTeam(ddaa, 'ddaa', 'Just a new team') |
3697 | 440 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3698 | 441 | Traceback (most recent call last): | 438 | Traceback (most recent call last): |
3699 | 442 | ... | 439 | ... |
3700 | 443 | lp.registry.errors.NameAlreadyTaken: ... | 440 | lp.registry.errors.NameAlreadyTaken: ... |
3701 | @@ -531,7 +528,6 @@ account_status is NOACCOUNT, though. | |||
3702 | 531 | AssertionError: Only Person entries whose account_status is NOACCOUNT... | 528 | AssertionError: Only Person entries whose account_status is NOACCOUNT... |
3703 | 532 | 529 | ||
3704 | 533 | >>> not_a_person.convertToTeam(team_owner=landscape_devs) | 530 | >>> not_a_person.convertToTeam(team_owner=landscape_devs) |
3705 | 534 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3706 | 535 | Traceback (most recent call last): | 531 | Traceback (most recent call last): |
3707 | 536 | ... | 532 | ... |
3708 | 537 | lp.registry.interfaces.person.AlreadyConvertedException: foo-... has already been converted to a team. | 533 | lp.registry.interfaces.person.AlreadyConvertedException: foo-... has already been converted to a team. |
3709 | @@ -1443,7 +1439,6 @@ error will be raised. | |||
3710 | 1443 | >>> person_set._newPerson( | 1439 | >>> person_set._newPerson( |
3711 | 1444 | ... 'new-name', 'New Person', True, | 1440 | ... 'new-name', 'New Person', True, |
3712 | 1445 | ... PersonCreationRationale.BUGIMPORT) | 1441 | ... PersonCreationRationale.BUGIMPORT) |
3713 | 1446 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3714 | 1447 | Traceback (most recent call last): | 1442 | Traceback (most recent call last): |
3715 | 1448 | ... | 1443 | ... |
3716 | 1449 | lp.registry.errors.NameAlreadyTaken: The name 'new-name' is already taken. | 1444 | lp.registry.errors.NameAlreadyTaken: The name 'new-name' is already taken. |
3717 | @@ -1454,7 +1449,6 @@ be raised. | |||
3718 | 1454 | >>> person_set._newPerson( | 1449 | >>> person_set._newPerson( |
3719 | 1455 | ... "ThisIsn'tValid", 'New Person', True, | 1450 | ... "ThisIsn'tValid", 'New Person', True, |
3720 | 1456 | ... PersonCreationRationale.BUGIMPORT) | 1451 | ... PersonCreationRationale.BUGIMPORT) |
3721 | 1457 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3722 | 1458 | Traceback (most recent call last): | 1452 | Traceback (most recent call last): |
3723 | 1459 | ... | 1453 | ... |
3724 | 1460 | lp.registry.errors.InvalidName: ThisIsn'tValid is not a valid name for a person. | 1454 | lp.registry.errors.InvalidName: ThisIsn'tValid is not a valid name for a person. |
3725 | diff --git a/lib/lp/registry/doc/pillar-aliases-field.txt b/lib/lp/registry/doc/pillar-aliases-field.txt | |||
3726 | index 9ccf329..f26605e 100644 | |||
3727 | --- a/lib/lp/registry/doc/pillar-aliases-field.txt | |||
3728 | +++ b/lib/lp/registry/doc/pillar-aliases-field.txt | |||
3729 | @@ -29,7 +29,6 @@ to be a valid alias for that pillar, but only for that pillar. | |||
3730 | 29 | >>> bound_field.validate(u'iceweasel') | 29 | >>> bound_field.validate(u'iceweasel') |
3731 | 30 | 30 | ||
3732 | 31 | >>> field.bind(getUtility(IProductSet)['bzr']).validate(u'iceweasel') | 31 | >>> field.bind(getUtility(IProductSet)['bzr']).validate(u'iceweasel') |
3733 | 32 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3734 | 33 | Traceback (most recent call last): | 32 | Traceback (most recent call last): |
3735 | 34 | ... | 33 | ... |
3736 | 35 | lp.app.validators.LaunchpadValidationError: iceweasel is already used by another project | 34 | lp.app.validators.LaunchpadValidationError: iceweasel is already used by another project |
3737 | @@ -54,13 +53,11 @@ If an empty string (or None) is given, all aliases will be removed. | |||
3738 | 54 | Each of these aliases must be valid names and must be unique. | 53 | Each of these aliases must be valid names and must be unique. |
3739 | 55 | 54 | ||
3740 | 56 | >>> bound_field.validate(u'names_cannot_have_underscores') | 55 | >>> bound_field.validate(u'names_cannot_have_underscores') |
3741 | 57 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3742 | 58 | Traceback (most recent call last): | 56 | Traceback (most recent call last): |
3743 | 59 | ... | 57 | ... |
3744 | 60 | lp.app.validators.LaunchpadValidationError: Invalid name... | 58 | lp.app.validators.LaunchpadValidationError: Invalid name... |
3745 | 61 | 59 | ||
3746 | 62 | >>> bound_field.validate(u'ubuntu') | 60 | >>> bound_field.validate(u'ubuntu') |
3747 | 63 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3748 | 64 | Traceback (most recent call last): | 61 | Traceback (most recent call last): |
3749 | 65 | ... | 62 | ... |
3750 | 66 | lp.app.validators.LaunchpadValidationError: ubuntu is already used by another project | 63 | lp.app.validators.LaunchpadValidationError: ubuntu is already used by another project |
3751 | @@ -68,7 +65,6 @@ Each of these aliases must be valid names and must be unique. | |||
3752 | 68 | Also, they must not be identical to the pillar's own name. | 65 | Also, they must not be identical to the pillar's own name. |
3753 | 69 | 66 | ||
3754 | 70 | >>> bound_field.validate(firefox.name) | 67 | >>> bound_field.validate(firefox.name) |
3755 | 71 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3756 | 72 | Traceback (most recent call last): | 68 | Traceback (most recent call last): |
3757 | 73 | ... | 69 | ... |
3758 | 74 | lp.app.validators.LaunchpadValidationError: This is your name: firefox | 70 | lp.app.validators.LaunchpadValidationError: This is your name: firefox |
3759 | @@ -76,7 +72,6 @@ Also, they must not be identical to the pillar's own name. | |||
3760 | 76 | Black-listed names are not accepted as aliases either. | 72 | Black-listed names are not accepted as aliases either. |
3761 | 77 | 73 | ||
3762 | 78 | >>> bound_field.validate(u'blacklisted') | 74 | >>> bound_field.validate(u'blacklisted') |
3763 | 79 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3764 | 80 | Traceback (most recent call last): | 75 | Traceback (most recent call last): |
3765 | 81 | ... | 76 | ... |
3766 | 82 | lp.app.validators.LaunchpadValidationError: The name 'blacklisted' has been blocked... | 77 | lp.app.validators.LaunchpadValidationError: The name 'blacklisted' has been blocked... |
3767 | diff --git a/lib/lp/registry/doc/pillar.txt b/lib/lp/registry/doc/pillar.txt | |||
3768 | index f27c34f..a471c21 100644 | |||
3769 | --- a/lib/lp/registry/doc/pillar.txt | |||
3770 | +++ b/lib/lp/registry/doc/pillar.txt | |||
3771 | @@ -36,7 +36,6 @@ share their name namespace are Product, ProjectGroup and Distribution. | |||
3772 | 36 | >>> 'fnord' in pillar_set | 36 | >>> 'fnord' in pillar_set |
3773 | 37 | False | 37 | False |
3774 | 38 | >>> pillar_set['fnord'] | 38 | >>> pillar_set['fnord'] |
3775 | 39 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3776 | 40 | Traceback (most recent call last): | 39 | Traceback (most recent call last): |
3777 | 41 | ... | 40 | ... |
3778 | 42 | lp.app.errors.NotFoundError: ...'fnord' | 41 | lp.app.errors.NotFoundError: ...'fnord' |
3779 | @@ -54,7 +53,6 @@ pillars. | |||
3780 | 54 | >>> 'gimp' in pillar_set | 53 | >>> 'gimp' in pillar_set |
3781 | 55 | False | 54 | False |
3782 | 56 | >>> pillar_set['gimp'] | 55 | >>> pillar_set['gimp'] |
3783 | 57 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3784 | 58 | Traceback (most recent call last): | 56 | Traceback (most recent call last): |
3785 | 59 | ... | 57 | ... |
3786 | 60 | lp.app.errors.NotFoundError: ...'gimp' | 58 | lp.app.errors.NotFoundError: ...'gimp' |
3787 | @@ -71,7 +69,6 @@ It also works if you use Unicode strings. | |||
3788 | 71 | >>> u'launchpad' in pillar_set | 69 | >>> u'launchpad' in pillar_set |
3789 | 72 | False | 70 | False |
3790 | 73 | >>> pillar_set[u'launchpad'] | 71 | >>> pillar_set[u'launchpad'] |
3791 | 74 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3792 | 75 | Traceback (most recent call last): | 72 | Traceback (most recent call last): |
3793 | 76 | ... | 73 | ... |
3794 | 77 | lp.app.errors.NotFoundError: ...'launchpad' | 74 | lp.app.errors.NotFoundError: ...'launchpad' |
3795 | @@ -134,12 +131,10 @@ Also, if the pillar is inactive, it can't be retrieved through any of its | |||
3796 | 134 | aliases, in the same way that it can't be retrieved through its name. | 131 | aliases, in the same way that it can't be retrieved through its name. |
3797 | 135 | 132 | ||
3798 | 136 | >>> pillar_set['iceweasel'] | 133 | >>> pillar_set['iceweasel'] |
3799 | 137 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3800 | 138 | Traceback (most recent call last): | 134 | Traceback (most recent call last): |
3801 | 139 | ... | 135 | ... |
3802 | 140 | lp.app.errors.NotFoundError: ... | 136 | lp.app.errors.NotFoundError: ... |
3803 | 141 | >>> pillar_set['firefox'] | 137 | >>> pillar_set['firefox'] |
3804 | 142 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3805 | 143 | Traceback (most recent call last): | 138 | Traceback (most recent call last): |
3806 | 144 | ... | 139 | ... |
3807 | 145 | lp.app.errors.NotFoundError: ... | 140 | lp.app.errors.NotFoundError: ... |
3808 | @@ -158,7 +153,6 @@ to be able to set its aliases. | |||
3809 | 158 | >>> check_permission('launchpad.Edit', firefox) | 153 | >>> check_permission('launchpad.Edit', firefox) |
3810 | 159 | True | 154 | True |
3811 | 160 | >>> firefox.setAliases(['iceweasel']) | 155 | >>> firefox.setAliases(['iceweasel']) |
3812 | 161 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3813 | 162 | Traceback (most recent call last): | 156 | Traceback (most recent call last): |
3814 | 163 | ... | 157 | ... |
3815 | 164 | zope.security.interfaces.Unauthorized: ... | 158 | zope.security.interfaces.Unauthorized: ... |
3816 | @@ -169,7 +163,6 @@ Ditto for the Mozilla project. | |||
3817 | 169 | >>> check_permission('launchpad.Edit', mozilla) | 163 | >>> check_permission('launchpad.Edit', mozilla) |
3818 | 170 | True | 164 | True |
3819 | 171 | >>> mozilla.setAliases(['moz']) | 165 | >>> mozilla.setAliases(['moz']) |
3820 | 172 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3821 | 173 | Traceback (most recent call last): | 166 | Traceback (most recent call last): |
3822 | 174 | ... | 167 | ... |
3823 | 175 | zope.security.interfaces.Unauthorized: ... | 168 | zope.security.interfaces.Unauthorized: ... |
3824 | @@ -181,7 +174,6 @@ And the same is true for Colin Watson on the Guadalinex distribution. | |||
3825 | 181 | >>> check_permission('launchpad.Edit', guadalinex) | 174 | >>> check_permission('launchpad.Edit', guadalinex) |
3826 | 182 | True | 175 | True |
3827 | 183 | >>> guadalinex.setAliases(['guada']) | 176 | >>> guadalinex.setAliases(['guada']) |
3828 | 184 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3829 | 185 | Traceback (most recent call last): | 177 | Traceback (most recent call last): |
3830 | 186 | ... | 178 | ... |
3831 | 187 | zope.security.interfaces.Unauthorized: ... | 179 | zope.security.interfaces.Unauthorized: ... |
3832 | diff --git a/lib/lp/registry/doc/private-team-roles.txt b/lib/lp/registry/doc/private-team-roles.txt | |||
3833 | index 0595e4c..c764699 100644 | |||
3834 | --- a/lib/lp/registry/doc/private-team-roles.txt | |||
3835 | +++ b/lib/lp/registry/doc/private-team-roles.txt | |||
3836 | @@ -197,7 +197,6 @@ or private, can be the project registrant. | |||
3837 | 197 | >>> product = factory.makeProduct(registrant=team_owner) | 197 | >>> product = factory.makeProduct(registrant=team_owner) |
3838 | 198 | >>> product = factory.makeProduct(registrant=public_team) | 198 | >>> product = factory.makeProduct(registrant=public_team) |
3839 | 199 | >>> product = factory.makeProduct(registrant=priv_team) | 199 | >>> product = factory.makeProduct(registrant=priv_team) |
3840 | 200 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3841 | 201 | Traceback (most recent call last): | 200 | Traceback (most recent call last): |
3842 | 202 | ... | 201 | ... |
3843 | 203 | lp.registry.errors.PrivatePersonLinkageError: Cannot link person (name=private-team, visibility=PRIVATE) to <Product at... | 202 | lp.registry.errors.PrivatePersonLinkageError: Cannot link person (name=private-team, visibility=PRIVATE) to <Product at... |
3844 | diff --git a/lib/lp/registry/doc/productrelease-file-download.txt b/lib/lp/registry/doc/productrelease-file-download.txt | |||
3845 | index 034c8ef..c1323ff 100644 | |||
3846 | --- a/lib/lp/registry/doc/productrelease-file-download.txt | |||
3847 | +++ b/lib/lp/registry/doc/productrelease-file-download.txt | |||
3848 | @@ -90,7 +90,6 @@ The alias can be retrieved by name. | |||
3849 | 90 | Attempting to retrieve an alias that does not exist is an error. | 90 | Attempting to retrieve an alias that does not exist is an error. |
3850 | 91 | 91 | ||
3851 | 92 | >>> file_alias = rel.getFileAliasByName('bar.txt') | 92 | >>> file_alias = rel.getFileAliasByName('bar.txt') |
3852 | 93 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3853 | 94 | Traceback (most recent call last): | 93 | Traceback (most recent call last): |
3854 | 95 | ... | 94 | ... |
3855 | 96 | lp.app.errors.NotFoundError: ...'bar.txt' | 95 | lp.app.errors.NotFoundError: ...'bar.txt' |
3856 | @@ -105,7 +104,6 @@ Attempting to retrieve a ProductReleaseFile that does not exist is an | |||
3857 | 105 | error. | 104 | error. |
3858 | 106 | 105 | ||
3859 | 107 | >>> prf = rel.getProductReleaseFileByName('bar.txt') | 106 | >>> prf = rel.getProductReleaseFileByName('bar.txt') |
3860 | 108 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3861 | 109 | Traceback (most recent call last): | 107 | Traceback (most recent call last): |
3862 | 110 | ... | 108 | ... |
3863 | 111 | lp.app.errors.NotFoundError: ...'bar.txt' | 109 | lp.app.errors.NotFoundError: ...'bar.txt' |
3864 | @@ -116,7 +114,6 @@ delete a product file. | |||
3865 | 116 | 114 | ||
3866 | 117 | >>> login(ANONYMOUS) | 115 | >>> login(ANONYMOUS) |
3867 | 118 | >>> rel.files[0].destroySelf() | 116 | >>> rel.files[0].destroySelf() |
3868 | 119 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3869 | 120 | Traceback (most recent call last): | 117 | Traceback (most recent call last): |
3870 | 121 | ... | 118 | ... |
3871 | 122 | zope.security.interfaces.Unauthorized: (<ProductReleaseFile...>, 'destroySelf', 'launchpad.Edit') | 119 | zope.security.interfaces.Unauthorized: (<ProductReleaseFile...>, 'destroySelf', 'launchpad.Edit') |
3872 | @@ -143,7 +140,6 @@ Deleting files via a GET method is not allowed. | |||
3873 | 143 | >>> firefox = getUtility(IProductSet).getByName('firefox') | 140 | >>> firefox = getUtility(IProductSet).getByName('firefox') |
3874 | 144 | >>> view = getMultiAdapter((firefox,request), name='+download') | 141 | >>> view = getMultiAdapter((firefox,request), name='+download') |
3875 | 145 | >>> view.initialize() | 142 | >>> view.initialize() |
3876 | 146 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3877 | 147 | Traceback (most recent call last): | 143 | Traceback (most recent call last): |
3878 | 148 | ... | 144 | ... |
3879 | 149 | lp.services.webapp.interfaces.UnsafeFormGetSubmissionError: Delete Files | 145 | lp.services.webapp.interfaces.UnsafeFormGetSubmissionError: Delete Files |
3880 | @@ -196,7 +192,6 @@ Only the product owner can create a new release. | |||
3881 | 196 | >>> owner_email = firefox.owner.preferredemail.email | 192 | >>> owner_email = firefox.owner.preferredemail.email |
3882 | 197 | >>> login(ANONYMOUS) | 193 | >>> login(ANONYMOUS) |
3883 | 198 | >>> trunk.milestones[0].createProductRelease(firefox.owner, now) | 194 | >>> trunk.milestones[0].createProductRelease(firefox.owner, now) |
3884 | 199 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3885 | 200 | Traceback (most recent call last): | 195 | Traceback (most recent call last): |
3886 | 201 | ... | 196 | ... |
3887 | 202 | zope.security.interfaces.Unauthorized: (<Milestone ...>, 'createProductRelease', 'launchpad.Edit') | 197 | zope.security.interfaces.Unauthorized: (<Milestone ...>, 'createProductRelease', 'launchpad.Edit') |
3888 | diff --git a/lib/lp/registry/doc/productseries.txt b/lib/lp/registry/doc/productseries.txt | |||
3889 | index dad7d3e..1ffd422 100644 | |||
3890 | --- a/lib/lp/registry/doc/productseries.txt | |||
3891 | +++ b/lib/lp/registry/doc/productseries.txt | |||
3892 | @@ -70,7 +70,6 @@ owner or driver can call Product.newSeries(). | |||
3893 | 70 | >>> series_driver = factory.makePerson(name="driver") | 70 | >>> series_driver = factory.makePerson(name="driver") |
3894 | 71 | >>> summary = "Port of Firefox to the Emacs operating system." | 71 | >>> summary = "Port of Firefox to the Emacs operating system." |
3895 | 72 | >>> emacs = firefox.newSeries(series_driver , 'emacs', summary) | 72 | >>> emacs = firefox.newSeries(series_driver , 'emacs', summary) |
3896 | 73 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3897 | 74 | Traceback (most recent call last): | 73 | Traceback (most recent call last): |
3898 | 75 | ... | 74 | ... |
3899 | 76 | zope.security.interfaces.Unauthorized: (..., 'newSeries', 'launchpad.Driver') | 75 | zope.security.interfaces.Unauthorized: (..., 'newSeries', 'launchpad.Driver') |
3900 | @@ -166,13 +165,11 @@ that the url uses one of the supported schemes (ftp, http, http). | |||
3901 | 166 | Invalid URLs and unsupported schemes raise a LaunchpadValidationError. | 165 | Invalid URLs and unsupported schemes raise a LaunchpadValidationError. |
3902 | 167 | 166 | ||
3903 | 168 | >>> validate_release_glob('ftp.gnu.org/gnu/emacs/emacs-21.*.gz') | 167 | >>> validate_release_glob('ftp.gnu.org/gnu/emacs/emacs-21.*.gz') |
3904 | 169 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3905 | 170 | Traceback (most recent call last): | 168 | Traceback (most recent call last): |
3906 | 171 | ... | 169 | ... |
3907 | 172 | lp.app.validators.LaunchpadValidationError: ... | 170 | lp.app.validators.LaunchpadValidationError: ... |
3908 | 173 | 171 | ||
3909 | 174 | >>> validate_release_glob('wais://ftp.gnu.org/gnu/emacs/emacs-21.*.gz') | 172 | >>> validate_release_glob('wais://ftp.gnu.org/gnu/emacs/emacs-21.*.gz') |
3910 | 175 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3911 | 176 | Traceback (most recent call last): | 173 | Traceback (most recent call last): |
3912 | 177 | ... | 174 | ... |
3913 | 178 | lp.app.validators.LaunchpadValidationError: ... | 175 | lp.app.validators.LaunchpadValidationError: ... |
3914 | @@ -180,7 +177,6 @@ Invalid URLs and unsupported schemes raise a LaunchpadValidationError. | |||
3915 | 180 | The URL must contain a glob (*) or , and may contain more than one. | 177 | The URL must contain a glob (*) or , and may contain more than one. |
3916 | 181 | 178 | ||
3917 | 182 | >>> validate_release_glob('http://ftp.gnu.org/gnu/emacs/emacs-21.10.1.gz') | 179 | >>> validate_release_glob('http://ftp.gnu.org/gnu/emacs/emacs-21.10.1.gz') |
3918 | 183 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3919 | 184 | Traceback (most recent call last): | 180 | Traceback (most recent call last): |
3920 | 185 | ... | 181 | ... |
3921 | 186 | lp.app.validators.LaunchpadValidationError: ... | 182 | lp.app.validators.LaunchpadValidationError: ... |
3922 | diff --git a/lib/lp/registry/doc/projectgroup.txt b/lib/lp/registry/doc/projectgroup.txt | |||
3923 | index e880792..1eb00f9 100644 | |||
3924 | --- a/lib/lp/registry/doc/projectgroup.txt | |||
3925 | +++ b/lib/lp/registry/doc/projectgroup.txt | |||
3926 | @@ -79,7 +79,6 @@ If there is no project with the specified name, a NotFoundError will be | |||
3927 | 79 | raised. | 79 | raised. |
3928 | 80 | 80 | ||
3929 | 81 | >>> projectset['non-existant'] | 81 | >>> projectset['non-existant'] |
3930 | 82 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3931 | 83 | Traceback (most recent call last): | 82 | Traceback (most recent call last): |
3932 | 84 | ... | 83 | ... |
3933 | 85 | lp.app.errors.NotFoundError: ... | 84 | lp.app.errors.NotFoundError: ... |
3934 | @@ -96,7 +95,6 @@ the project. | |||
3935 | 96 | 95 | ||
3936 | 97 | 96 | ||
3937 | 98 | >>> gnome = getUtility(IProjectGroupSet)['gnome'] | 97 | >>> gnome = getUtility(IProjectGroupSet)['gnome'] |
3938 | 99 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3939 | 100 | Traceback (most recent call last): | 98 | Traceback (most recent call last): |
3940 | 101 | ... | 99 | ... |
3941 | 102 | lp.app.errors.NotFoundError: ... | 100 | lp.app.errors.NotFoundError: ... |
3942 | diff --git a/lib/lp/registry/doc/teammembership-email-notification.txt b/lib/lp/registry/doc/teammembership-email-notification.txt | |||
3943 | index 218334c..3a60458 100644 | |||
3944 | --- a/lib/lp/registry/doc/teammembership-email-notification.txt | |||
3945 | +++ b/lib/lp/registry/doc/teammembership-email-notification.txt | |||
3946 | @@ -1008,7 +1008,6 @@ membership statues silently. | |||
3947 | 1008 | 1008 | ||
3948 | 1009 | >>> setStatus(stevea_ubuntu_team_membership, | 1009 | >>> setStatus(stevea_ubuntu_team_membership, |
3949 | 1010 | ... TeamMembershipStatus.DEACTIVATED, reviewer=kamion, silent=True) | 1010 | ... TeamMembershipStatus.DEACTIVATED, reviewer=kamion, silent=True) |
3950 | 1011 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3951 | 1012 | Traceback (most recent call last): | 1011 | Traceback (most recent call last): |
3952 | 1013 | lp.registry.errors.UserCannotChangeMembershipSilently: ... | 1012 | lp.registry.errors.UserCannotChangeMembershipSilently: ... |
3953 | 1014 | 1013 | ||
3954 | diff --git a/lib/lp/registry/doc/teammembership.txt b/lib/lp/registry/doc/teammembership.txt | |||
3955 | index 58cffd2..e55a1d6 100644 | |||
3956 | --- a/lib/lp/registry/doc/teammembership.txt | |||
3957 | +++ b/lib/lp/registry/doc/teammembership.txt | |||
3958 | @@ -99,7 +99,6 @@ given team. | |||
3959 | 99 | True | 99 | True |
3960 | 100 | >>> ignored = login_person(salgado) | 100 | >>> ignored = login_person(salgado) |
3961 | 101 | >>> salgado.join(launchpad) | 101 | >>> salgado.join(launchpad) |
3962 | 102 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3963 | 103 | Traceback (most recent call last): | 102 | Traceback (most recent call last): |
3964 | 104 | ... | 103 | ... |
3965 | 105 | lp.registry.errors.JoinNotAllowed: This is a restricted team | 104 | lp.registry.errors.JoinNotAllowed: This is a restricted team |
3966 | @@ -153,7 +152,6 @@ to a team. | |||
3967 | 153 | >>> mark = personset.getByName('mark') | 152 | >>> mark = personset.getByName('mark') |
3968 | 154 | >>> t3.addMember(salgado, reviewer=mark, | 153 | >>> t3.addMember(salgado, reviewer=mark, |
3969 | 155 | ... status=TeamMembershipStatus.ADMIN) | 154 | ... status=TeamMembershipStatus.ADMIN) |
3970 | 156 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3971 | 157 | Traceback (most recent call last): | 155 | Traceback (most recent call last): |
3972 | 158 | ... | 156 | ... |
3973 | 159 | zope.security.interfaces.Unauthorized: ... | 157 | zope.security.interfaces.Unauthorized: ... |
3974 | @@ -512,13 +510,11 @@ an extra check to ensure that doesn't happen. | |||
3975 | 512 | >>> ignored = login_person(foobar) | 510 | >>> ignored = login_person(foobar) |
3976 | 513 | >>> membership = foobar.team_memberships[0] | 511 | >>> membership = foobar.team_memberships[0] |
3977 | 514 | >>> membership.status = None | 512 | >>> membership.status = None |
3978 | 515 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3979 | 516 | Traceback (most recent call last): | 513 | Traceback (most recent call last): |
3980 | 517 | ... | 514 | ... |
3981 | 518 | zope.security.interfaces.ForbiddenAttribute: ... | 515 | zope.security.interfaces.ForbiddenAttribute: ... |
3982 | 519 | 516 | ||
3983 | 520 | >>> membership.dateexpires = None | 517 | >>> membership.dateexpires = None |
3984 | 521 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3985 | 522 | Traceback (most recent call last): | 518 | Traceback (most recent call last): |
3986 | 523 | ... | 519 | ... |
3987 | 524 | zope.security.interfaces.ForbiddenAttribute: ... | 520 | zope.security.interfaces.ForbiddenAttribute: ... |
3988 | @@ -726,7 +722,6 @@ The member themselves can't change the expiration date of their membership. | |||
3989 | 726 | 722 | ||
3990 | 727 | >>> ignored = login_person(karl) | 723 | >>> ignored = login_person(karl) |
3991 | 728 | >>> karl_on_mirroradmins.setExpirationDate(tomorrow, karl) | 724 | >>> karl_on_mirroradmins.setExpirationDate(tomorrow, karl) |
3992 | 729 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
3993 | 730 | Traceback (most recent call last): | 725 | Traceback (most recent call last): |
3994 | 731 | ... | 726 | ... |
3995 | 732 | zope.security.interfaces.Unauthorized: ... | 727 | zope.security.interfaces.Unauthorized: ... |
3996 | diff --git a/lib/lp/registry/doc/vocabularies.txt b/lib/lp/registry/doc/vocabularies.txt | |||
3997 | index 127ad1a..9bc4dc0 100644 | |||
3998 | --- a/lib/lp/registry/doc/vocabularies.txt | |||
3999 | +++ b/lib/lp/registry/doc/vocabularies.txt | |||
4000 | @@ -150,7 +150,6 @@ display name. | |||
4001 | 150 | You cannot get a term by an other object, such as a team. | 150 | You cannot get a term by an other object, such as a team. |
4002 | 151 | 151 | ||
4003 | 152 | >>> list_vocabulary.getTerm(team_one) | 152 | >>> list_vocabulary.getTerm(team_one) |
4004 | 153 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4005 | 154 | Traceback (most recent call last): | 153 | Traceback (most recent call last): |
4006 | 155 | ... | 154 | ... |
4007 | 156 | zope.security.interfaces.ForbiddenAttribute: ... | 155 | zope.security.interfaces.ForbiddenAttribute: ... |
4008 | @@ -183,7 +182,6 @@ You are not allowed to ask whether a non-mailing list object is | |||
4009 | 183 | contained in this vocabulary. | 182 | contained in this vocabulary. |
4010 | 184 | 183 | ||
4011 | 185 | >>> team_three in list_vocabulary | 184 | >>> team_three in list_vocabulary |
4012 | 186 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4013 | 187 | Traceback (most recent call last): | 185 | Traceback (most recent call last): |
4014 | 188 | ... | 186 | ... |
4015 | 189 | zope.security.interfaces.ForbiddenAttribute: ... | 187 | zope.security.interfaces.ForbiddenAttribute: ... |
4016 | diff --git a/lib/lp/registry/model/projectgroup.py b/lib/lp/registry/model/projectgroup.py | |||
4017 | index b56499a..433851f 100644 | |||
4018 | --- a/lib/lp/registry/model/projectgroup.py | |||
4019 | +++ b/lib/lp/registry/model/projectgroup.py | |||
4020 | @@ -543,7 +543,6 @@ class ProjectGroupSet: | |||
4021 | 543 | apache | 543 | apache |
4022 | 544 | >>> getUtility(IProjectGroupSet).get(-1) | 544 | >>> getUtility(IProjectGroupSet).get(-1) |
4023 | 545 | ... # doctest: +NORMALIZE_WHITESPACE | 545 | ... # doctest: +NORMALIZE_WHITESPACE |
4024 | 546 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4025 | 547 | Traceback (most recent call last): | 546 | Traceback (most recent call last): |
4026 | 548 | ... | 547 | ... |
4027 | 549 | lp.app.errors.NotFoundError: -1 | 548 | lp.app.errors.NotFoundError: -1 |
4028 | diff --git a/lib/lp/registry/stories/announcements/xx-announcements.txt b/lib/lp/registry/stories/announcements/xx-announcements.txt | |||
4029 | index 9296fb6..c683ffe 100644 | |||
4030 | --- a/lib/lp/registry/stories/announcements/xx-announcements.txt | |||
4031 | +++ b/lib/lp/registry/stories/announcements/xx-announcements.txt | |||
4032 | @@ -42,28 +42,24 @@ page. | |||
4033 | 42 | 42 | ||
4034 | 43 | >>> anon_browser.open('http://launchpad.test/firefox') | 43 | >>> anon_browser.open('http://launchpad.test/firefox') |
4035 | 44 | >>> anon_browser.getLink('Make announcement') | 44 | >>> anon_browser.getLink('Make announcement') |
4036 | 45 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4037 | 46 | Traceback (most recent call last): | 45 | Traceback (most recent call last): |
4038 | 47 | ... | 46 | ... |
4039 | 48 | zope.testbrowser.browser.LinkNotFoundError | 47 | zope.testbrowser.browser.LinkNotFoundError |
4040 | 49 | 48 | ||
4041 | 50 | >>> anon_browser.getLink('Read all announcements').click() | 49 | >>> anon_browser.getLink('Read all announcements').click() |
4042 | 51 | >>> anon_browser.getLink('Make announcement') | 50 | >>> anon_browser.getLink('Make announcement') |
4043 | 52 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4044 | 53 | Traceback (most recent call last): | 51 | Traceback (most recent call last): |
4045 | 54 | ... | 52 | ... |
4046 | 55 | zope.testbrowser.browser.LinkNotFoundError | 53 | zope.testbrowser.browser.LinkNotFoundError |
4047 | 56 | 54 | ||
4048 | 57 | >>> anon_browser.open('http://launchpad.test/ubuntu') | 55 | >>> anon_browser.open('http://launchpad.test/ubuntu') |
4049 | 58 | >>> anon_browser.getLink('Make announcement') | 56 | >>> anon_browser.getLink('Make announcement') |
4050 | 59 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4051 | 60 | Traceback (most recent call last): | 57 | Traceback (most recent call last): |
4052 | 61 | ... | 58 | ... |
4053 | 62 | zope.testbrowser.browser.LinkNotFoundError | 59 | zope.testbrowser.browser.LinkNotFoundError |
4054 | 63 | 60 | ||
4055 | 64 | >>> anon_browser.getLink('Read all announcements').click() | 61 | >>> anon_browser.getLink('Read all announcements').click() |
4056 | 65 | >>> anon_browser.getLink('Make announcement') | 62 | >>> anon_browser.getLink('Make announcement') |
4057 | 66 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4058 | 67 | Traceback (most recent call last): | 63 | Traceback (most recent call last): |
4059 | 68 | ... | 64 | ... |
4060 | 69 | zope.testbrowser.browser.LinkNotFoundError | 65 | zope.testbrowser.browser.LinkNotFoundError |
4061 | @@ -75,14 +71,12 @@ pillar. | |||
4062 | 75 | >>> nopriv_browser = setupBrowser(auth="Basic no-priv@canonical.com:test") | 71 | >>> nopriv_browser = setupBrowser(auth="Basic no-priv@canonical.com:test") |
4063 | 76 | >>> nopriv_browser.open('http://launchpad.test/firefox') | 72 | >>> nopriv_browser.open('http://launchpad.test/firefox') |
4064 | 77 | >>> nopriv_browser.getLink('Make announcement') | 73 | >>> nopriv_browser.getLink('Make announcement') |
4065 | 78 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4066 | 79 | Traceback (most recent call last): | 74 | Traceback (most recent call last): |
4067 | 80 | ... | 75 | ... |
4068 | 81 | zope.testbrowser.browser.LinkNotFoundError | 76 | zope.testbrowser.browser.LinkNotFoundError |
4069 | 82 | 77 | ||
4070 | 83 | >>> nopriv_browser.getLink('Read all announcements').click() | 78 | >>> nopriv_browser.getLink('Read all announcements').click() |
4071 | 84 | >>> nopriv_browser.getLink('Make announcement') | 79 | >>> nopriv_browser.getLink('Make announcement') |
4072 | 85 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4073 | 86 | Traceback (most recent call last): | 80 | Traceback (most recent call last): |
4074 | 87 | ... | 81 | ... |
4075 | 88 | zope.testbrowser.browser.LinkNotFoundError | 82 | zope.testbrowser.browser.LinkNotFoundError |
4076 | @@ -260,7 +254,6 @@ anon_browser. | |||
4077 | 260 | >>> priv_browser.getLink('Kubuntu announcement headline').click() | 254 | >>> priv_browser.getLink('Kubuntu announcement headline').click() |
4078 | 261 | >>> link_url = priv_browser.url | 255 | >>> link_url = priv_browser.url |
4079 | 262 | >>> anon_browser.open(link_url) | 256 | >>> anon_browser.open(link_url) |
4080 | 263 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4081 | 264 | Traceback (most recent call last): | 257 | Traceback (most recent call last): |
4082 | 265 | ... | 258 | ... |
4083 | 266 | zope.security.interfaces.Unauthorized: ... | 259 | zope.security.interfaces.Unauthorized: ... |
4084 | diff --git a/lib/lp/registry/stories/distribution/xx-distribution-launchpad-usage.txt b/lib/lp/registry/stories/distribution/xx-distribution-launchpad-usage.txt | |||
4085 | index d3b4045..5a06d50 100644 | |||
4086 | --- a/lib/lp/registry/stories/distribution/xx-distribution-launchpad-usage.txt | |||
4087 | +++ b/lib/lp/registry/stories/distribution/xx-distribution-launchpad-usage.txt | |||
4088 | @@ -9,17 +9,14 @@ details. | |||
4089 | 9 | 9 | ||
4090 | 10 | >>> user_browser.open('http://launchpad.test/ubuntu') | 10 | >>> user_browser.open('http://launchpad.test/ubuntu') |
4091 | 11 | >>> user_browser.getLink('Change details') | 11 | >>> user_browser.getLink('Change details') |
4092 | 12 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4093 | 13 | Traceback (most recent call last): | 12 | Traceback (most recent call last): |
4094 | 14 | ... | 13 | ... |
4095 | 15 | zope.testbrowser.browser.LinkNotFoundError | 14 | zope.testbrowser.browser.LinkNotFoundError |
4096 | 16 | >>> user_browser.getLink('Configure publisher') | 15 | >>> user_browser.getLink('Configure publisher') |
4097 | 17 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4098 | 18 | Traceback (most recent call last): | 16 | Traceback (most recent call last): |
4099 | 19 | ... | 17 | ... |
4100 | 20 | zope.testbrowser.browser.LinkNotFoundError | 18 | zope.testbrowser.browser.LinkNotFoundError |
4101 | 21 | >>> user_browser.open('http://launchpad.test/ubuntu/+edit') | 19 | >>> user_browser.open('http://launchpad.test/ubuntu/+edit') |
4102 | 22 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4103 | 23 | Traceback (most recent call last): | 20 | Traceback (most recent call last): |
4104 | 24 | ... | 21 | ... |
4105 | 25 | zope.security.interfaces.Unauthorized: ... | 22 | zope.security.interfaces.Unauthorized: ... |
4106 | diff --git a/lib/lp/registry/stories/distribution/xx-distribution-overview.txt b/lib/lp/registry/stories/distribution/xx-distribution-overview.txt | |||
4107 | index 2734a8c..26d217a 100644 | |||
4108 | --- a/lib/lp/registry/stories/distribution/xx-distribution-overview.txt | |||
4109 | +++ b/lib/lp/registry/stories/distribution/xx-distribution-overview.txt | |||
4110 | @@ -124,7 +124,6 @@ If there is a development series alias, it becomes a redirect. | |||
4111 | 124 | >>> from zope.component import getUtility | 124 | >>> from zope.component import getUtility |
4112 | 125 | 125 | ||
4113 | 126 | >>> anon_browser.open("http://launchpad.test/ubuntu/devel") | 126 | >>> anon_browser.open("http://launchpad.test/ubuntu/devel") |
4114 | 127 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4115 | 128 | Traceback (most recent call last): | 127 | Traceback (most recent call last): |
4116 | 129 | ... | 128 | ... |
4117 | 130 | zope.publisher.interfaces.NotFound: Object: <Distribution ...>, name: 'devel' | 129 | zope.publisher.interfaces.NotFound: Object: <Distribution ...>, name: 'devel' |
4118 | @@ -177,13 +176,11 @@ term) or an unavailable name (only 'primary' and 'partner' exist) | |||
4119 | 177 | results in a NotFound error. | 176 | results in a NotFound error. |
4120 | 178 | 177 | ||
4121 | 179 | >>> anon_browser.open("http://launchpad.test/ubuntu/+archive") | 178 | >>> anon_browser.open("http://launchpad.test/ubuntu/+archive") |
4122 | 180 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4123 | 181 | Traceback (most recent call last): | 179 | Traceback (most recent call last): |
4124 | 182 | ... | 180 | ... |
4125 | 183 | zope.publisher.interfaces.NotFound: Object: <Distribution ...>, name: '+archive' | 181 | zope.publisher.interfaces.NotFound: Object: <Distribution ...>, name: '+archive' |
4126 | 184 | 182 | ||
4127 | 185 | >>> anon_browser.open("http://launchpad.test/ubuntu/+archive/boing") | 183 | >>> anon_browser.open("http://launchpad.test/ubuntu/+archive/boing") |
4128 | 186 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4129 | 187 | Traceback (most recent call last): | 184 | Traceback (most recent call last): |
4130 | 188 | ... | 185 | ... |
4131 | 189 | zope.publisher.interfaces.NotFound: Object: <Distribution ...>, name: 'boing' | 186 | zope.publisher.interfaces.NotFound: Object: <Distribution ...>, name: 'boing' |
4132 | diff --git a/lib/lp/registry/stories/distributionmirror/xx-distribution-countrymirrors.txt b/lib/lp/registry/stories/distributionmirror/xx-distribution-countrymirrors.txt | |||
4133 | index 9ddcf14..b6bcddd 100644 | |||
4134 | --- a/lib/lp/registry/stories/distributionmirror/xx-distribution-countrymirrors.txt | |||
4135 | +++ b/lib/lp/registry/stories/distributionmirror/xx-distribution-countrymirrors.txt | |||
4136 | @@ -61,7 +61,6 @@ Also, the +countrymirrors-archive page is only available for the Ubuntu | |||
4137 | 61 | distribution. | 61 | distribution. |
4138 | 62 | 62 | ||
4139 | 63 | >>> browser.open('http://launchpad.test/debian/+countrymirrors-archive') | 63 | >>> browser.open('http://launchpad.test/debian/+countrymirrors-archive') |
4140 | 64 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4141 | 65 | Traceback (most recent call last): | 64 | Traceback (most recent call last): |
4142 | 66 | ... | 65 | ... |
4143 | 67 | urllib.error.HTTPError: HTTP Error 404: Not Found | 66 | urllib.error.HTTPError: HTTP Error 404: Not Found |
4144 | diff --git a/lib/lp/registry/stories/distributionmirror/xx-distribution-mirrors.txt b/lib/lp/registry/stories/distributionmirror/xx-distribution-mirrors.txt | |||
4145 | index bdeeb63..48068d4 100644 | |||
4146 | --- a/lib/lp/registry/stories/distributionmirror/xx-distribution-mirrors.txt | |||
4147 | +++ b/lib/lp/registry/stories/distributionmirror/xx-distribution-mirrors.txt | |||
4148 | @@ -80,7 +80,6 @@ they were out of date, missing some content, etc). This list can only be | |||
4149 | 80 | seen by distro owners, mirror admins of the distro or launchpad admins. | 80 | seen by distro owners, mirror admins of the distro or launchpad admins. |
4150 | 81 | 81 | ||
4151 | 82 | >>> user_browser.open('http://launchpad.test/ubuntu/+disabledmirrors') | 82 | >>> user_browser.open('http://launchpad.test/ubuntu/+disabledmirrors') |
4152 | 83 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4153 | 84 | Traceback (most recent call last): | 83 | Traceback (most recent call last): |
4154 | 85 | ... | 84 | ... |
4155 | 86 | zope.security.interfaces.Unauthorized: ... | 85 | zope.security.interfaces.Unauthorized: ... |
4156 | @@ -103,7 +102,6 @@ It's only visible to distro owners, mirror admins of the distro or | |||
4157 | 103 | launchpad admins. | 102 | launchpad admins. |
4158 | 104 | 103 | ||
4159 | 105 | >>> user_browser.open('http://launchpad.test/ubuntu/+unofficialmirrors') | 104 | >>> user_browser.open('http://launchpad.test/ubuntu/+unofficialmirrors') |
4160 | 106 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4161 | 107 | Traceback (most recent call last): | 105 | Traceback (most recent call last): |
4162 | 108 | ... | 106 | ... |
4163 | 109 | zope.security.interfaces.Unauthorized: ... | 107 | zope.security.interfaces.Unauthorized: ... |
4164 | @@ -126,7 +124,6 @@ type of mirror is shown. Also the freshness is not visible since | |||
4165 | 126 | pending mirrors have never been probed. | 124 | pending mirrors have never been probed. |
4166 | 127 | 125 | ||
4167 | 128 | >>> user_browser.open('http://launchpad.test/ubuntu/+pendingreviewmirrors') | 126 | >>> user_browser.open('http://launchpad.test/ubuntu/+pendingreviewmirrors') |
4168 | 129 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4169 | 130 | Traceback (most recent call last): | 127 | Traceback (most recent call last): |
4170 | 131 | ... | 128 | ... |
4171 | 132 | zope.security.interfaces.Unauthorized: ... | 129 | zope.security.interfaces.Unauthorized: ... |
4172 | diff --git a/lib/lp/registry/stories/distributionmirror/xx-distributionmirror-prober-logs.txt b/lib/lp/registry/stories/distributionmirror/xx-distributionmirror-prober-logs.txt | |||
4173 | index c48105d..157fb8f 100644 | |||
4174 | --- a/lib/lp/registry/stories/distributionmirror/xx-distributionmirror-prober-logs.txt | |||
4175 | +++ b/lib/lp/registry/stories/distributionmirror/xx-distributionmirror-prober-logs.txt | |||
4176 | @@ -23,7 +23,6 @@ A random logged in user won't have the rights to see that page. | |||
4177 | 23 | >>> user_browser.open( | 23 | >>> user_browser.open( |
4178 | 24 | ... 'http://launchpad.test/ubuntu/+mirror/archive-mirror2/') | 24 | ... 'http://launchpad.test/ubuntu/+mirror/archive-mirror2/') |
4179 | 25 | >>> user_browser.getLink('Content check logs') | 25 | >>> user_browser.getLink('Content check logs') |
4180 | 26 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4181 | 27 | Traceback (most recent call last): | 26 | Traceback (most recent call last): |
4182 | 28 | ... | 27 | ... |
4183 | 29 | zope.testbrowser.browser.LinkNotFoundError | 28 | zope.testbrowser.browser.LinkNotFoundError |
4184 | @@ -31,7 +30,6 @@ A random logged in user won't have the rights to see that page. | |||
4185 | 31 | >>> user_browser.open( | 30 | >>> user_browser.open( |
4186 | 32 | ... 'http://launchpad.test/ubuntu/+mirror/archive-mirror2/' | 31 | ... 'http://launchpad.test/ubuntu/+mirror/archive-mirror2/' |
4187 | 33 | ... '+prober-logs') | 32 | ... '+prober-logs') |
4188 | 34 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4189 | 35 | Traceback (most recent call last): | 33 | Traceback (most recent call last): |
4190 | 36 | ... | 34 | ... |
4191 | 37 | zope.security.interfaces.Unauthorized: ... | 35 | zope.security.interfaces.Unauthorized: ... |
4192 | diff --git a/lib/lp/registry/stories/distributionmirror/xx-reassign-distributionmirror.txt b/lib/lp/registry/stories/distributionmirror/xx-reassign-distributionmirror.txt | |||
4193 | index 75a5cd3..bef3699 100644 | |||
4194 | --- a/lib/lp/registry/stories/distributionmirror/xx-reassign-distributionmirror.txt | |||
4195 | +++ b/lib/lp/registry/stories/distributionmirror/xx-reassign-distributionmirror.txt | |||
4196 | @@ -15,12 +15,10 @@ permission on them. Mark is the owner of the archive-mirror. | |||
4197 | 15 | 15 | ||
4198 | 16 | >>> user_browser.open(context_url) | 16 | >>> user_browser.open(context_url) |
4199 | 17 | >>> user_browser.getLink('Change') | 17 | >>> user_browser.getLink('Change') |
4200 | 18 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4201 | 19 | Traceback (most recent call last): | 18 | Traceback (most recent call last): |
4202 | 20 | ... | 19 | ... |
4203 | 21 | zope.testbrowser.browser.LinkNotFoundError | 20 | zope.testbrowser.browser.LinkNotFoundError |
4204 | 22 | >>> user_browser.open(context_url + "/+reassign") | 21 | >>> user_browser.open(context_url + "/+reassign") |
4205 | 23 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4206 | 24 | Traceback (most recent call last): | 22 | Traceback (most recent call last): |
4207 | 25 | ... | 23 | ... |
4208 | 26 | zope.security.interfaces.Unauthorized: ... | 24 | zope.security.interfaces.Unauthorized: ... |
4209 | diff --git a/lib/lp/registry/stories/distroseries/distroseries-admin.txt b/lib/lp/registry/stories/distroseries/distroseries-admin.txt | |||
4210 | index 051256d..8b7ce57 100644 | |||
4211 | --- a/lib/lp/registry/stories/distroseries/distroseries-admin.txt | |||
4212 | +++ b/lib/lp/registry/stories/distroseries/distroseries-admin.txt | |||
4213 | @@ -56,7 +56,6 @@ Registry experts do not have access to the 'Change details' link. | |||
4214 | 56 | ... auth='Basic %s:test' % email) | 56 | ... auth='Basic %s:test' % email) |
4215 | 57 | >>> registry_browser.open('http://launchpad.test/ubuntu/happy') | 57 | >>> registry_browser.open('http://launchpad.test/ubuntu/happy') |
4216 | 58 | >>> registry_browser.getLink('Change details').click() | 58 | >>> registry_browser.getLink('Change details').click() |
4217 | 59 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4218 | 60 | Traceback (most recent call last): | 59 | Traceback (most recent call last): |
4219 | 61 | ... | 60 | ... |
4220 | 62 | zope.testbrowser.browser.LinkNotFoundError | 61 | zope.testbrowser.browser.LinkNotFoundError |
4221 | @@ -64,7 +63,6 @@ Registry experts do not have access to the 'Change details' link. | |||
4222 | 64 | And navigating directly to +edit is thwarted. | 63 | And navigating directly to +edit is thwarted. |
4223 | 65 | 64 | ||
4224 | 66 | >>> registry_browser.open('http://launchpad.test/ubuntu/happy/+edit') | 65 | >>> registry_browser.open('http://launchpad.test/ubuntu/happy/+edit') |
4225 | 67 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4226 | 68 | Traceback (most recent call last): | 66 | Traceback (most recent call last): |
4227 | 69 | ... | 67 | ... |
4228 | 70 | zope.security.interfaces.Unauthorized: ... | 68 | zope.security.interfaces.Unauthorized: ... |
4229 | diff --git a/lib/lp/registry/stories/distroseries/xx-show-distroseries-packaging.txt b/lib/lp/registry/stories/distroseries/xx-show-distroseries-packaging.txt | |||
4230 | index d491f5c..a8d9558 100644 | |||
4231 | --- a/lib/lp/registry/stories/distroseries/xx-show-distroseries-packaging.txt | |||
4232 | +++ b/lib/lp/registry/stories/distroseries/xx-show-distroseries-packaging.txt | |||
4233 | @@ -38,7 +38,6 @@ is linked, but the link to this page is not enabled. | |||
4234 | 38 | url='http://launchpad.test/ubuntu/hoary/+needs-packaging'> | 38 | url='http://launchpad.test/ubuntu/hoary/+needs-packaging'> |
4235 | 39 | 39 | ||
4236 | 40 | >>> anon_browser.getLink('All upstream links') | 40 | >>> anon_browser.getLink('All upstream links') |
4237 | 41 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4238 | 42 | Traceback (most recent call last): | 41 | Traceback (most recent call last): |
4239 | 43 | ... | 42 | ... |
4240 | 44 | zope.testbrowser.browser.LinkNotFoundError | 43 | zope.testbrowser.browser.LinkNotFoundError |
4241 | @@ -118,7 +117,6 @@ linked, but the link to this page is not enabled. | |||
4242 | 118 | url='http://launchpad.test/ubuntu/hoary/+packaging'> | 117 | url='http://launchpad.test/ubuntu/hoary/+packaging'> |
4243 | 119 | 118 | ||
4244 | 120 | >>> anon_browser.getLink('Needs upstream links') | 119 | >>> anon_browser.getLink('Needs upstream links') |
4245 | 121 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4246 | 122 | Traceback (most recent call last): | 120 | Traceback (most recent call last): |
4247 | 123 | ... | 121 | ... |
4248 | 124 | zope.testbrowser.browser.LinkNotFoundError | 122 | zope.testbrowser.browser.LinkNotFoundError |
4249 | diff --git a/lib/lp/registry/stories/gpg-coc/xx-ubuntu-codeofconduct-signer.txt b/lib/lp/registry/stories/gpg-coc/xx-ubuntu-codeofconduct-signer.txt | |||
4250 | index 13cda85..a2e403d 100644 | |||
4251 | --- a/lib/lp/registry/stories/gpg-coc/xx-ubuntu-codeofconduct-signer.txt | |||
4252 | +++ b/lib/lp/registry/stories/gpg-coc/xx-ubuntu-codeofconduct-signer.txt | |||
4253 | @@ -25,7 +25,6 @@ A regular user can't see the link to Foo Bar's signed codes of conduct. | |||
4254 | 25 | Signed Ubuntu Code of Conduct: Yes | 25 | Signed Ubuntu Code of Conduct: Yes |
4255 | 26 | 26 | ||
4256 | 27 | >>> browser.getLink(url='+codesofconduct') | 27 | >>> browser.getLink(url='+codesofconduct') |
4257 | 28 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4258 | 29 | Traceback (most recent call last): | 28 | Traceback (most recent call last): |
4259 | 30 | ... | 29 | ... |
4260 | 31 | zope.testbrowser.browser.LinkNotFoundError | 30 | zope.testbrowser.browser.LinkNotFoundError |
4261 | diff --git a/lib/lp/registry/stories/location/personlocation-edit.txt b/lib/lp/registry/stories/location/personlocation-edit.txt | |||
4262 | index 14f336b..89385a5 100644 | |||
4263 | --- a/lib/lp/registry/stories/location/personlocation-edit.txt | |||
4264 | +++ b/lib/lp/registry/stories/location/personlocation-edit.txt | |||
4265 | @@ -13,7 +13,6 @@ A user cannot set another user's +editlocation page. | |||
4266 | 13 | 13 | ||
4267 | 14 | >>> nopriv_browser = setupBrowser(auth="Basic no-priv@canonical.com:test") | 14 | >>> nopriv_browser = setupBrowser(auth="Basic no-priv@canonical.com:test") |
4268 | 15 | >>> nopriv_browser.open('http://launchpad.test/~zzz/+editlocation') | 15 | >>> nopriv_browser.open('http://launchpad.test/~zzz/+editlocation') |
4269 | 16 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4270 | 17 | Traceback (most recent call last): | 16 | Traceback (most recent call last): |
4271 | 18 | ... | 17 | ... |
4272 | 19 | zope.security.interfaces.Unauthorized: ... | 18 | zope.security.interfaces.Unauthorized: ... |
4273 | diff --git a/lib/lp/registry/stories/mailinglists/lifecycle.txt b/lib/lp/registry/stories/mailinglists/lifecycle.txt | |||
4274 | index 203f3c2..63d2ff6 100644 | |||
4275 | --- a/lib/lp/registry/stories/mailinglists/lifecycle.txt | |||
4276 | +++ b/lib/lp/registry/stories/mailinglists/lifecycle.txt | |||
4277 | @@ -230,7 +230,6 @@ Anonymous users cannot see the link, because they cannot even see the | |||
4278 | 230 | private team. | 230 | private team. |
4279 | 231 | 231 | ||
4280 | 232 | >>> anon_browser.open('http://launchpad.test/~bassists') | 232 | >>> anon_browser.open('http://launchpad.test/~bassists') |
4281 | 233 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4282 | 234 | Traceback (most recent call last): | 233 | Traceback (most recent call last): |
4283 | 235 | ... | 234 | ... |
4284 | 236 | zope.publisher.interfaces.NotFound: Object: <...>, name: '~bassists' | 235 | zope.publisher.interfaces.NotFound: Object: <...>, name: '~bassists' |
4285 | @@ -238,7 +237,6 @@ private team. | |||
4286 | 238 | The same is true for normal users who are not team members. | 237 | The same is true for normal users who are not team members. |
4287 | 239 | 238 | ||
4288 | 240 | >>> browser.open('http://launchpad.test/~bassists') | 239 | >>> browser.open('http://launchpad.test/~bassists') |
4289 | 241 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4290 | 242 | Traceback (most recent call last): | 240 | Traceback (most recent call last): |
4291 | 243 | ... | 241 | ... |
4292 | 244 | zope.publisher.interfaces.NotFound: Object: <...>, name: '~bassists' | 242 | zope.publisher.interfaces.NotFound: Object: <...>, name: '~bassists' |
4293 | @@ -248,7 +246,6 @@ Members who are not owners can see the link. | |||
4294 | 248 | >>> cprov_browser = setupBrowser( | 246 | >>> cprov_browser = setupBrowser( |
4295 | 249 | ... auth='Basic celso.providelo@canonical.com:test') | 247 | ... auth='Basic celso.providelo@canonical.com:test') |
4296 | 250 | >>> cprov_browser.open('http://launchpad.test/~bassists') | 248 | >>> cprov_browser.open('http://launchpad.test/~bassists') |
4297 | 251 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4298 | 252 | Traceback (most recent call last): | 249 | Traceback (most recent call last): |
4299 | 253 | ... | 250 | ... |
4300 | 254 | zope.publisher.interfaces.NotFound: Object: <...>, name: '~bassists' | 251 | zope.publisher.interfaces.NotFound: Object: <...>, name: '~bassists' |
4301 | diff --git a/lib/lp/registry/stories/mailinglists/subscriptions.txt b/lib/lp/registry/stories/mailinglists/subscriptions.txt | |||
4302 | index 5ab421c..525698e 100644 | |||
4303 | --- a/lib/lp/registry/stories/mailinglists/subscriptions.txt | |||
4304 | +++ b/lib/lp/registry/stories/mailinglists/subscriptions.txt | |||
4305 | @@ -377,13 +377,11 @@ does not show either link. | |||
4306 | 377 | Create a mailing list | 377 | Create a mailing list |
4307 | 378 | 378 | ||
4308 | 379 | >>> carlos_browser.getLink('Subscribe') | 379 | >>> carlos_browser.getLink('Subscribe') |
4309 | 380 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4310 | 381 | Traceback (most recent call last): | 380 | Traceback (most recent call last): |
4311 | 382 | ... | 381 | ... |
4312 | 383 | zope.testbrowser.browser.LinkNotFoundError | 382 | zope.testbrowser.browser.LinkNotFoundError |
4313 | 384 | 383 | ||
4314 | 385 | >>> carlos_browser.getLink('Unsubscribe') | 384 | >>> carlos_browser.getLink('Unsubscribe') |
4315 | 386 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4316 | 387 | Traceback (most recent call last): | 385 | Traceback (most recent call last): |
4317 | 388 | ... | 386 | ... |
4318 | 389 | zope.testbrowser.browser.LinkNotFoundError | 387 | zope.testbrowser.browser.LinkNotFoundError |
4319 | diff --git a/lib/lp/registry/stories/milestone/xx-create-milestone-on-distribution.txt b/lib/lp/registry/stories/milestone/xx-create-milestone-on-distribution.txt | |||
4320 | index a5f6829..cbf71cc 100644 | |||
4321 | --- a/lib/lp/registry/stories/milestone/xx-create-milestone-on-distribution.txt | |||
4322 | +++ b/lib/lp/registry/stories/milestone/xx-create-milestone-on-distribution.txt | |||
4323 | @@ -5,7 +5,6 @@ Team (ubuntu-team). | |||
4324 | 5 | >>> name12_browser = setupBrowser(auth='Basic test@canonical.com:test') | 5 | >>> name12_browser = setupBrowser(auth='Basic test@canonical.com:test') |
4325 | 6 | >>> name12_browser.open( | 6 | >>> name12_browser.open( |
4326 | 7 | ... 'http://launchpad.test/ubuntu/hoary/+addmilestone') | 7 | ... 'http://launchpad.test/ubuntu/hoary/+addmilestone') |
4327 | 8 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4328 | 9 | Traceback (most recent call last): | 8 | Traceback (most recent call last): |
4329 | 10 | ... | 9 | ... |
4330 | 11 | zope.security.interfaces.Unauthorized: ... | 10 | zope.security.interfaces.Unauthorized: ... |
4331 | diff --git a/lib/lp/registry/stories/milestone/xx-milestone-add-and-edit.txt b/lib/lp/registry/stories/milestone/xx-milestone-add-and-edit.txt | |||
4332 | index d7cb196..a167369 100644 | |||
4333 | --- a/lib/lp/registry/stories/milestone/xx-milestone-add-and-edit.txt | |||
4334 | +++ b/lib/lp/registry/stories/milestone/xx-milestone-add-and-edit.txt | |||
4335 | @@ -31,25 +31,21 @@ see the link to add a milestone nor access the page directly. | |||
4336 | 31 | 31 | ||
4337 | 32 | >>> user_browser.open('http://launchpad.test/alsa-utils/trunk') | 32 | >>> user_browser.open('http://launchpad.test/alsa-utils/trunk') |
4338 | 33 | >>> user_browser.getLink('Create milestone').click() | 33 | >>> user_browser.getLink('Create milestone').click() |
4339 | 34 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4340 | 35 | Traceback (most recent call last): | 34 | Traceback (most recent call last): |
4341 | 36 | ... | 35 | ... |
4342 | 37 | zope.testbrowser.browser.LinkNotFoundError | 36 | zope.testbrowser.browser.LinkNotFoundError |
4343 | 38 | >>> user_browser.open( | 37 | >>> user_browser.open( |
4344 | 39 | ... 'http://launchpad.test/alsa-utils/trunk/+addmilestone') | 38 | ... 'http://launchpad.test/alsa-utils/trunk/+addmilestone') |
4345 | 40 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4346 | 41 | Traceback (most recent call last): | 39 | Traceback (most recent call last): |
4347 | 42 | ... | 40 | ... |
4348 | 43 | zope.security.interfaces.Unauthorized: ... | 41 | zope.security.interfaces.Unauthorized: ... |
4349 | 44 | 42 | ||
4350 | 45 | >>> user_browser.open('http://launchpad.test/ubuntu/hoary') | 43 | >>> user_browser.open('http://launchpad.test/ubuntu/hoary') |
4351 | 46 | >>> user_browser.getLink('Create milestone').click() | 44 | >>> user_browser.getLink('Create milestone').click() |
4352 | 47 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4353 | 48 | Traceback (most recent call last): | 45 | Traceback (most recent call last): |
4354 | 49 | ... | 46 | ... |
4355 | 50 | zope.testbrowser.browser.LinkNotFoundError | 47 | zope.testbrowser.browser.LinkNotFoundError |
4356 | 51 | >>> user_browser.open('http://launchpad.test/ubuntu/hoary/+addmilestone') | 48 | >>> user_browser.open('http://launchpad.test/ubuntu/hoary/+addmilestone') |
4357 | 52 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4358 | 53 | Traceback (most recent call last): | 49 | Traceback (most recent call last): |
4359 | 54 | ... | 50 | ... |
4360 | 55 | zope.security.interfaces.Unauthorized: ... | 51 | zope.security.interfaces.Unauthorized: ... |
4361 | @@ -86,7 +82,6 @@ But we can't subscribe to project milestones, since they are not real objects. | |||
4362 | 86 | 82 | ||
4363 | 87 | >>> user_browser.open('http://launchpad.test/mozilla/+milestone/1.0') | 83 | >>> user_browser.open('http://launchpad.test/mozilla/+milestone/1.0') |
4364 | 88 | >>> user_browser.getLink('Subscribe to bug mail') | 84 | >>> user_browser.getLink('Subscribe to bug mail') |
4365 | 89 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4366 | 90 | Traceback (most recent call last): | 85 | Traceback (most recent call last): |
4367 | 91 | ... | 86 | ... |
4368 | 92 | zope.testbrowser.browser.LinkNotFoundError | 87 | zope.testbrowser.browser.LinkNotFoundError |
4369 | diff --git a/lib/lp/registry/stories/object/xx-object-branding.txt b/lib/lp/registry/stories/object/xx-object-branding.txt | |||
4370 | index e8ee21c..79c75f1 100644 | |||
4371 | --- a/lib/lp/registry/stories/object/xx-object-branding.txt | |||
4372 | +++ b/lib/lp/registry/stories/object/xx-object-branding.txt | |||
4373 | @@ -17,7 +17,6 @@ Team branding | |||
4374 | 17 | 17 | ||
4375 | 18 | >>> browser = setupBrowser(auth='Basic no-priv@canonical.com:test') | 18 | >>> browser = setupBrowser(auth='Basic no-priv@canonical.com:test') |
4376 | 19 | >>> browser.open('http://launchpad.test/~ubuntu-team/+branding') | 19 | >>> browser.open('http://launchpad.test/~ubuntu-team/+branding') |
4377 | 20 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4378 | 21 | Traceback (most recent call last): | 20 | Traceback (most recent call last): |
4379 | 22 | ... | 21 | ... |
4380 | 23 | zope.security.interfaces.Unauthorized: ... | 22 | zope.security.interfaces.Unauthorized: ... |
4381 | @@ -80,7 +79,6 @@ Distribution branding | |||
4382 | 80 | 79 | ||
4383 | 81 | >>> browser = setupBrowser(auth='Basic no-priv@canonical.com:test') | 80 | >>> browser = setupBrowser(auth='Basic no-priv@canonical.com:test') |
4384 | 82 | >>> browser.open('http://launchpad.test/kubuntu/+edit') | 81 | >>> browser.open('http://launchpad.test/kubuntu/+edit') |
4385 | 83 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4386 | 84 | Traceback (most recent call last): | 82 | Traceback (most recent call last): |
4387 | 85 | ... | 83 | ... |
4388 | 86 | zope.security.interfaces.Unauthorized: ... | 84 | zope.security.interfaces.Unauthorized: ... |
4389 | @@ -141,7 +139,6 @@ ProjectGroup branding | |||
4390 | 141 | 139 | ||
4391 | 142 | >>> browser = setupBrowser(auth='Basic no-priv@canonical.com:test') | 140 | >>> browser = setupBrowser(auth='Basic no-priv@canonical.com:test') |
4392 | 143 | >>> browser.open('http://launchpad.test/mozilla/+branding') | 141 | >>> browser.open('http://launchpad.test/mozilla/+branding') |
4393 | 144 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4394 | 145 | Traceback (most recent call last): | 142 | Traceback (most recent call last): |
4395 | 146 | ... | 143 | ... |
4396 | 147 | zope.security.interfaces.Unauthorized: ... | 144 | zope.security.interfaces.Unauthorized: ... |
4397 | @@ -204,7 +201,6 @@ Product branding | |||
4398 | 204 | 201 | ||
4399 | 205 | >>> browser = setupBrowser(auth='Basic no-priv@canonical.com:test') | 202 | >>> browser = setupBrowser(auth='Basic no-priv@canonical.com:test') |
4400 | 206 | >>> browser.open('http://launchpad.test/jokosher/+branding') | 203 | >>> browser.open('http://launchpad.test/jokosher/+branding') |
4401 | 207 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4402 | 208 | Traceback (most recent call last): | 204 | Traceback (most recent call last): |
4403 | 209 | ... | 205 | ... |
4404 | 210 | zope.security.interfaces.Unauthorized: ... | 206 | zope.security.interfaces.Unauthorized: ... |
4405 | @@ -271,7 +267,6 @@ Again, for Sprints, we have not exposed icon editing through the UI. | |||
4406 | 271 | 267 | ||
4407 | 272 | >>> browser = setupBrowser(auth='Basic no-priv@canonical.com:test') | 268 | >>> browser = setupBrowser(auth='Basic no-priv@canonical.com:test') |
4408 | 273 | >>> browser.open('http://launchpad.test/sprints/futurista/+branding') | 269 | >>> browser.open('http://launchpad.test/sprints/futurista/+branding') |
4409 | 274 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4410 | 275 | Traceback (most recent call last): | 270 | Traceback (most recent call last): |
4411 | 276 | ... | 271 | ... |
4412 | 277 | zope.security.interfaces.Unauthorized: ... | 272 | zope.security.interfaces.Unauthorized: ... |
4413 | diff --git a/lib/lp/registry/stories/person/xx-add-sshkey.txt b/lib/lp/registry/stories/person/xx-add-sshkey.txt | |||
4414 | index 3771907..8283d4f 100644 | |||
4415 | --- a/lib/lp/registry/stories/person/xx-add-sshkey.txt | |||
4416 | +++ b/lib/lp/registry/stories/person/xx-add-sshkey.txt | |||
4417 | @@ -133,7 +133,6 @@ Launchpad administrators are not allowed to poke at other user's ssh keys. | |||
4418 | 133 | >>> logout() | 133 | >>> logout() |
4419 | 134 | >>> admin_browser = setupBrowserFreshLogin(foo_bar) | 134 | >>> admin_browser = setupBrowserFreshLogin(foo_bar) |
4420 | 135 | >>> admin_browser.open('http://launchpad.test/~salgado/+editsshkeys') | 135 | >>> admin_browser.open('http://launchpad.test/~salgado/+editsshkeys') |
4421 | 136 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4422 | 137 | Traceback (most recent call last): | 136 | Traceback (most recent call last): |
4423 | 138 | ... | 137 | ... |
4424 | 139 | zope.security.interfaces.Unauthorized: ... | 138 | zope.security.interfaces.Unauthorized: ... |
4425 | @@ -173,7 +172,6 @@ belong to him, it will fail with an error message. | |||
4426 | 173 | 172 | ||
4427 | 174 | >>> browser.getControl(name='key', index=0).value = '1' | 173 | >>> browser.getControl(name='key', index=0).value = '1' |
4428 | 175 | >>> browser.getControl('Remove', index=0).click() | 174 | >>> browser.getControl('Remove', index=0).click() |
4429 | 176 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4430 | 177 | Traceback (most recent call last): | 175 | Traceback (most recent call last): |
4431 | 178 | lp.app.errors.UnexpectedFormData: ... | 176 | lp.app.errors.UnexpectedFormData: ... |
4432 | 179 | 177 | ||
4433 | @@ -183,7 +181,6 @@ this case we'll raise an UnexpectedFormData. | |||
4434 | 183 | >>> browser.open('http://launchpad.test/~salgado/+editsshkeys') | 181 | >>> browser.open('http://launchpad.test/~salgado/+editsshkeys') |
4435 | 184 | >>> browser.getControl(name='key', index=0).value = '' | 182 | >>> browser.getControl(name='key', index=0).value = '' |
4436 | 185 | >>> browser.getControl('Remove', index=0).click() | 183 | >>> browser.getControl('Remove', index=0).click() |
4437 | 186 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4438 | 187 | Traceback (most recent call last): | 184 | Traceback (most recent call last): |
4439 | 188 | ... | 185 | ... |
4440 | 189 | lp.app.errors.UnexpectedFormData: ... | 186 | lp.app.errors.UnexpectedFormData: ... |
4441 | diff --git a/lib/lp/registry/stories/person/xx-admin-person-review.txt b/lib/lp/registry/stories/person/xx-admin-person-review.txt | |||
4442 | index e191f41..0f38bee 100644 | |||
4443 | --- a/lib/lp/registry/stories/person/xx-admin-person-review.txt | |||
4444 | +++ b/lib/lp/registry/stories/person/xx-admin-person-review.txt | |||
4445 | @@ -30,7 +30,6 @@ Registry experts can't change the displayname. | |||
4446 | 30 | >>> expert_browser.getControl( | 30 | >>> expert_browser.getControl( |
4447 | 31 | ... 'Display Name', index=0).value = 'The one and only Salgado' | 31 | ... 'Display Name', index=0).value = 'The one and only Salgado' |
4448 | 32 | >>> expert_browser.getControl('Change').click() | 32 | >>> expert_browser.getControl('Change').click() |
4449 | 33 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4450 | 34 | Traceback (most recent call last): | 33 | Traceback (most recent call last): |
4451 | 35 | ... | 34 | ... |
4452 | 36 | zope.security.interfaces.Unauthorized: ... | 35 | zope.security.interfaces.Unauthorized: ... |
4453 | diff --git a/lib/lp/registry/stories/person/xx-adminpeoplemerge.txt b/lib/lp/registry/stories/person/xx-adminpeoplemerge.txt | |||
4454 | index cf0b6b8..cc9928a 100644 | |||
4455 | --- a/lib/lp/registry/stories/person/xx-adminpeoplemerge.txt | |||
4456 | +++ b/lib/lp/registry/stories/person/xx-adminpeoplemerge.txt | |||
4457 | @@ -7,12 +7,10 @@ for merging people and another one for merging teams, which obviously | |||
4458 | 7 | are only accessible to LP admins. | 7 | are only accessible to LP admins. |
4459 | 8 | 8 | ||
4460 | 9 | >>> user_browser.open('http://launchpad.test/people/+adminpeoplemerge') | 9 | >>> user_browser.open('http://launchpad.test/people/+adminpeoplemerge') |
4461 | 10 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4462 | 11 | Traceback (most recent call last): | 10 | Traceback (most recent call last): |
4463 | 12 | ... | 11 | ... |
4464 | 13 | zope.security.interfaces.Unauthorized: ... | 12 | zope.security.interfaces.Unauthorized: ... |
4465 | 14 | >>> user_browser.open('http://launchpad.test/people/+adminteammerge') | 13 | >>> user_browser.open('http://launchpad.test/people/+adminteammerge') |
4466 | 15 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4467 | 16 | Traceback (most recent call last): | 14 | Traceback (most recent call last): |
4468 | 17 | ... | 15 | ... |
4469 | 18 | zope.security.interfaces.Unauthorized: ... | 16 | zope.security.interfaces.Unauthorized: ... |
4470 | diff --git a/lib/lp/registry/stories/person/xx-approve-members.txt b/lib/lp/registry/stories/person/xx-approve-members.txt | |||
4471 | index bd55eba..34486c2 100644 | |||
4472 | --- a/lib/lp/registry/stories/person/xx-approve-members.txt | |||
4473 | +++ b/lib/lp/registry/stories/person/xx-approve-members.txt | |||
4474 | @@ -73,7 +73,6 @@ as an inactive one. | |||
4475 | 73 | And now we see that there are no pending members left. | 73 | And now we see that there are no pending members left. |
4476 | 74 | 74 | ||
4477 | 75 | >>> browser.getLink('Approve or decline members') | 75 | >>> browser.getLink('Approve or decline members') |
4478 | 76 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4479 | 77 | Traceback (most recent call last): | 76 | Traceback (most recent call last): |
4480 | 78 | ... | 77 | ... |
4481 | 79 | zope.testbrowser.browser.LinkNotFoundError | 78 | zope.testbrowser.browser.LinkNotFoundError |
4482 | diff --git a/lib/lp/registry/stories/person/xx-deactivate-account.txt b/lib/lp/registry/stories/person/xx-deactivate-account.txt | |||
4483 | index dfef5de..43d2c59 100644 | |||
4484 | --- a/lib/lp/registry/stories/person/xx-deactivate-account.txt | |||
4485 | +++ b/lib/lp/registry/stories/person/xx-deactivate-account.txt | |||
4486 | @@ -84,7 +84,6 @@ the user themselves --not even Launchpad admins can do that on behalf of other | |||
4487 | 84 | people. | 84 | people. |
4488 | 85 | 85 | ||
4489 | 86 | >>> admin_browser.open('http://launchpad.test/~cprov/+deactivate-account') | 86 | >>> admin_browser.open('http://launchpad.test/~cprov/+deactivate-account') |
4490 | 87 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4491 | 88 | Traceback (most recent call last): | 87 | Traceback (most recent call last): |
4492 | 89 | ... | 88 | ... |
4493 | 90 | zope.security.interfaces.Unauthorized: ... | 89 | zope.security.interfaces.Unauthorized: ... |
4494 | diff --git a/lib/lp/registry/stories/person/xx-person-claim-merge.txt b/lib/lp/registry/stories/person/xx-person-claim-merge.txt | |||
4495 | index 1c8462f..f7cfaa3 100644 | |||
4496 | --- a/lib/lp/registry/stories/person/xx-person-claim-merge.txt | |||
4497 | +++ b/lib/lp/registry/stories/person/xx-person-claim-merge.txt | |||
4498 | @@ -9,7 +9,7 @@ exception that will redirect the user to the login page. | |||
4499 | 9 | >>> link = anon_browser.getLink("Are you Diogo Matsubara?") | 9 | >>> link = anon_browser.getLink("Are you Diogo Matsubara?") |
4500 | 10 | >>> print(link.url) | 10 | >>> print(link.url) |
4501 | 11 | http://launchpad.test/people/+requestmerge?field.dupe_person=matsubara | 11 | http://launchpad.test/people/+requestmerge?field.dupe_person=matsubara |
4503 | 12 | >>> link.click() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 12 | >>> link.click() |
4504 | 13 | Traceback (most recent call last): | 13 | Traceback (most recent call last): |
4505 | 14 | ... | 14 | ... |
4506 | 15 | zope.security.interfaces.Unauthorized: ... | 15 | zope.security.interfaces.Unauthorized: ... |
4507 | diff --git a/lib/lp/registry/stories/person/xx-person-home.txt b/lib/lp/registry/stories/person/xx-person-home.txt | |||
4508 | index 28a99ab..99fe5cb 100644 | |||
4509 | --- a/lib/lp/registry/stories/person/xx-person-home.txt | |||
4510 | +++ b/lib/lp/registry/stories/person/xx-person-home.txt | |||
4511 | @@ -80,7 +80,6 @@ However, when the user visits someone else's page, they see no such URL. | |||
4512 | 80 | And there is no helpful link. | 80 | And there is no helpful link. |
4513 | 81 | 81 | ||
4514 | 82 | >>> print(user_browser.getLink('openid help').url) | 82 | >>> print(user_browser.getLink('openid help').url) |
4515 | 83 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4516 | 84 | Traceback (most recent call last): | 83 | Traceback (most recent call last): |
4517 | 85 | ... | 84 | ... |
4518 | 86 | zope.testbrowser.browser.LinkNotFoundError | 85 | zope.testbrowser.browser.LinkNotFoundError |
4519 | diff --git a/lib/lp/registry/stories/pillar/xx-pillar-deactivation.txt b/lib/lp/registry/stories/pillar/xx-pillar-deactivation.txt | |||
4520 | index 7e9127f..f55c567 100644 | |||
4521 | --- a/lib/lp/registry/stories/pillar/xx-pillar-deactivation.txt | |||
4522 | +++ b/lib/lp/registry/stories/pillar/xx-pillar-deactivation.txt | |||
4523 | @@ -44,24 +44,20 @@ The projects are now no longer publicly visible: | |||
4524 | 44 | 44 | ||
4525 | 45 | >>> anon_browser.open('http://launchpad.test/projects/+index?text=mozilla') | 45 | >>> anon_browser.open('http://launchpad.test/projects/+index?text=mozilla') |
4526 | 46 | >>> anon_browser.getLink(url='/firefox') | 46 | >>> anon_browser.getLink(url='/firefox') |
4527 | 47 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4528 | 48 | Traceback (most recent call last): | 47 | Traceback (most recent call last): |
4529 | 49 | ... | 48 | ... |
4530 | 50 | zope.testbrowser.browser.LinkNotFoundError | 49 | zope.testbrowser.browser.LinkNotFoundError |
4531 | 51 | >>> anon_browser.getLink(url='/mozilla') | 50 | >>> anon_browser.getLink(url='/mozilla') |
4532 | 52 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4533 | 53 | Traceback (most recent call last): | 51 | Traceback (most recent call last): |
4534 | 54 | ... | 52 | ... |
4535 | 55 | zope.testbrowser.browser.LinkNotFoundError | 53 | zope.testbrowser.browser.LinkNotFoundError |
4536 | 56 | 54 | ||
4537 | 57 | >>> anon_browser.open('http://launchpad.test/firefox') | 55 | >>> anon_browser.open('http://launchpad.test/firefox') |
4538 | 58 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4539 | 59 | Traceback (most recent call last): | 56 | Traceback (most recent call last): |
4540 | 60 | ... | 57 | ... |
4541 | 61 | zope.publisher.interfaces.NotFound: ... | 58 | zope.publisher.interfaces.NotFound: ... |
4542 | 62 | 59 | ||
4543 | 63 | >>> anon_browser.open('http://launchpad.test/mozilla') | 60 | >>> anon_browser.open('http://launchpad.test/mozilla') |
4544 | 64 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4545 | 65 | Traceback (most recent call last): | 61 | Traceback (most recent call last): |
4546 | 66 | ... | 62 | ... |
4547 | 67 | zope.publisher.interfaces.NotFound: ... | 63 | zope.publisher.interfaces.NotFound: ... |
4548 | diff --git a/lib/lp/registry/stories/pillar/xx-pillar-traversal.txt b/lib/lp/registry/stories/pillar/xx-pillar-traversal.txt | |||
4549 | index e4b57ec..392b75b 100644 | |||
4550 | --- a/lib/lp/registry/stories/pillar/xx-pillar-traversal.txt | |||
4551 | +++ b/lib/lp/registry/stories/pillar/xx-pillar-traversal.txt | |||
4552 | @@ -16,7 +16,6 @@ canonical URL. | |||
4553 | 16 | >>> browser.open('http://launchpad.test/firefox') | 16 | >>> browser.open('http://launchpad.test/firefox') |
4554 | 17 | 17 | ||
4555 | 18 | >>> browser.open('http://launchpad.test/iceweasel') | 18 | >>> browser.open('http://launchpad.test/iceweasel') |
4556 | 19 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4557 | 20 | Traceback (most recent call last): | 19 | Traceback (most recent call last): |
4558 | 21 | ... | 20 | ... |
4559 | 22 | zope.publisher.interfaces.NotFound: ... | 21 | zope.publisher.interfaces.NotFound: ... |
4560 | diff --git a/lib/lp/registry/stories/product/xx-product-files.txt b/lib/lp/registry/stories/product/xx-product-files.txt | |||
4561 | index 04f7fc8..0d99ad7 100644 | |||
4562 | --- a/lib/lp/registry/stories/product/xx-product-files.txt | |||
4563 | +++ b/lib/lp/registry/stories/product/xx-product-files.txt | |||
4564 | @@ -191,7 +191,6 @@ Ensure a non-owner doesn't see the 'Add download file' link. | |||
4565 | 191 | 191 | ||
4566 | 192 | >>> non_owner.open('http://launchpad.test/firefox/+download') | 192 | >>> non_owner.open('http://launchpad.test/firefox/+download') |
4567 | 193 | >>> non_owner.getLink('1.0.0') | 193 | >>> non_owner.getLink('1.0.0') |
4568 | 194 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4569 | 195 | Traceback (most recent call last): | 194 | Traceback (most recent call last): |
4570 | 196 | ... | 195 | ... |
4571 | 197 | zope.testbrowser.browser.LinkNotFoundError | 196 | zope.testbrowser.browser.LinkNotFoundError |
4572 | @@ -208,7 +207,6 @@ navigating to the product release page. | |||
4573 | 208 | 207 | ||
4574 | 209 | >>> non_owner.open('http://launchpad.test/firefox/1.0/1.0.0') | 208 | >>> non_owner.open('http://launchpad.test/firefox/1.0/1.0.0') |
4575 | 210 | >>> non_owner.getLink('Add download file') | 209 | >>> non_owner.getLink('Add download file') |
4576 | 211 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4577 | 212 | Traceback (most recent call last): | 210 | Traceback (most recent call last): |
4578 | 213 | ... | 211 | ... |
4579 | 214 | zope.testbrowser.browser.LinkNotFoundError | 212 | zope.testbrowser.browser.LinkNotFoundError |
4580 | diff --git a/lib/lp/registry/stories/product/xx-product-package-pages.txt b/lib/lp/registry/stories/product/xx-product-package-pages.txt | |||
4581 | index 15b7576..4659d66 100644 | |||
4582 | --- a/lib/lp/registry/stories/product/xx-product-package-pages.txt | |||
4583 | +++ b/lib/lp/registry/stories/product/xx-product-package-pages.txt | |||
4584 | @@ -44,7 +44,6 @@ Any logged in users can still see the links to create a packaging link. | |||
4585 | 44 | 44 | ||
4586 | 45 | >>> anon_browser.open('http://launchpad.test/evolution/+packages') | 45 | >>> anon_browser.open('http://launchpad.test/evolution/+packages') |
4587 | 46 | >>> anon_browser.getLink(url='/evolution/trunk/+ubuntupkg') | 46 | >>> anon_browser.getLink(url='/evolution/trunk/+ubuntupkg') |
4588 | 47 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4589 | 48 | Traceback (most recent call last): | 47 | Traceback (most recent call last): |
4590 | 49 | ... | 48 | ... |
4591 | 50 | zope.testbrowser.browser.LinkNotFoundError | 49 | zope.testbrowser.browser.LinkNotFoundError |
4592 | diff --git a/lib/lp/registry/stories/product/xx-projects-index.txt b/lib/lp/registry/stories/product/xx-projects-index.txt | |||
4593 | index 2ccbef5..4ca2e43 100644 | |||
4594 | --- a/lib/lp/registry/stories/product/xx-projects-index.txt | |||
4595 | +++ b/lib/lp/registry/stories/product/xx-projects-index.txt | |||
4596 | @@ -5,7 +5,6 @@ Just make sure this page contains the right links: | |||
4597 | 5 | This link was removed. | 5 | This link was removed. |
4598 | 6 | 6 | ||
4599 | 7 | >>> user_browser.getLink("Show all teams").url | 7 | >>> user_browser.getLink("Show all teams").url |
4600 | 8 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4601 | 9 | Traceback (most recent call last): | 8 | Traceback (most recent call last): |
4602 | 10 | ... | 9 | ... |
4603 | 11 | zope.testbrowser.browser.LinkNotFoundError | 10 | zope.testbrowser.browser.LinkNotFoundError |
4604 | diff --git a/lib/lp/registry/stories/productrelease/xx-productrelease-basics.txt b/lib/lp/registry/stories/productrelease/xx-productrelease-basics.txt | |||
4605 | index 4c2e840..4ece9de 100644 | |||
4606 | --- a/lib/lp/registry/stories/productrelease/xx-productrelease-basics.txt | |||
4607 | +++ b/lib/lp/registry/stories/productrelease/xx-productrelease-basics.txt | |||
4608 | @@ -8,13 +8,11 @@ release nor can access the page directly. | |||
4609 | 8 | 8 | ||
4610 | 9 | >>> user_browser.open('http://launchpad.test/firefox/+milestone/1.0') | 9 | >>> user_browser.open('http://launchpad.test/firefox/+milestone/1.0') |
4611 | 10 | >>> user_browser.getLink('Create release').click() | 10 | >>> user_browser.getLink('Create release').click() |
4612 | 11 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4613 | 12 | Traceback (most recent call last): | 11 | Traceback (most recent call last): |
4614 | 13 | ... | 12 | ... |
4615 | 14 | zope.testbrowser.browser.LinkNotFoundError | 13 | zope.testbrowser.browser.LinkNotFoundError |
4616 | 15 | >>> user_browser.open( | 14 | >>> user_browser.open( |
4617 | 16 | ... 'http://launchpad.test/firefox/+milestone/1.0/+addrelease') | 15 | ... 'http://launchpad.test/firefox/+milestone/1.0/+addrelease') |
4618 | 17 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4619 | 18 | Traceback (most recent call last): | 16 | Traceback (most recent call last): |
4620 | 19 | ... | 17 | ... |
4621 | 20 | zope.security.interfaces.Unauthorized: ... | 18 | zope.security.interfaces.Unauthorized: ... |
4622 | @@ -92,7 +90,6 @@ has a productrelease. | |||
4623 | 92 | 90 | ||
4624 | 93 | >>> browser.open('http://launchpad.test/firefox/+milestone/1.0') | 91 | >>> browser.open('http://launchpad.test/firefox/+milestone/1.0') |
4625 | 94 | >>> browser.getLink('Create release').click() | 92 | >>> browser.getLink('Create release').click() |
4626 | 95 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4627 | 96 | Traceback (most recent call last): | 93 | Traceback (most recent call last): |
4628 | 97 | ... | 94 | ... |
4629 | 98 | zope.testbrowser.browser.LinkNotFoundError | 95 | zope.testbrowser.browser.LinkNotFoundError |
4630 | diff --git a/lib/lp/registry/stories/productrelease/xx-productrelease-delete.txt b/lib/lp/registry/stories/productrelease/xx-productrelease-delete.txt | |||
4631 | index 9bd1066..f33a780 100644 | |||
4632 | --- a/lib/lp/registry/stories/productrelease/xx-productrelease-delete.txt | |||
4633 | +++ b/lib/lp/registry/stories/productrelease/xx-productrelease-delete.txt | |||
4634 | @@ -22,12 +22,10 @@ link and cannot access the +delete page. | |||
4635 | 22 | 0.9.2 "One (secure) Tree Hill" : Mozilla Firefox | 22 | 0.9.2 "One (secure) Tree Hill" : Mozilla Firefox |
4636 | 23 | 23 | ||
4637 | 24 | >>> user_browser.getLink(url='/firefox/trunk/0.9.2/+delete') | 24 | >>> user_browser.getLink(url='/firefox/trunk/0.9.2/+delete') |
4638 | 25 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4639 | 26 | Traceback (most recent call last): | 25 | Traceback (most recent call last): |
4640 | 27 | ... | 26 | ... |
4641 | 28 | zope.testbrowser.browser.LinkNotFoundError | 27 | zope.testbrowser.browser.LinkNotFoundError |
4642 | 29 | >>> user_browser.open('http://launchpad.test/firefox/trunk/0.9.2/+delete') | 28 | >>> user_browser.open('http://launchpad.test/firefox/trunk/0.9.2/+delete') |
4643 | 30 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4644 | 31 | Traceback (most recent call last): | 29 | Traceback (most recent call last): |
4645 | 32 | ... | 30 | ... |
4646 | 33 | zope.security.interfaces.Unauthorized: ... | 31 | zope.security.interfaces.Unauthorized: ... |
4647 | diff --git a/lib/lp/registry/stories/productseries/xx-productseries-add-and-edit.txt b/lib/lp/registry/stories/productseries/xx-productseries-add-and-edit.txt | |||
4648 | index d8a665b..8ac9740 100644 | |||
4649 | --- a/lib/lp/registry/stories/productseries/xx-productseries-add-and-edit.txt | |||
4650 | +++ b/lib/lp/registry/stories/productseries/xx-productseries-add-and-edit.txt | |||
4651 | @@ -10,12 +10,10 @@ Person won't even see the link nor can access the page directly. | |||
4652 | 10 | 10 | ||
4653 | 11 | >>> user_browser.open('http://launchpad.test/firefox') | 11 | >>> user_browser.open('http://launchpad.test/firefox') |
4654 | 12 | >>> user_browser.getLink('Register a series').click() | 12 | >>> user_browser.getLink('Register a series').click() |
4655 | 13 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4656 | 14 | Traceback (most recent call last): | 13 | Traceback (most recent call last): |
4657 | 15 | ... | 14 | ... |
4658 | 16 | zope.testbrowser.browser.LinkNotFoundError | 15 | zope.testbrowser.browser.LinkNotFoundError |
4659 | 17 | >>> user_browser.open('http://launchpad.test/firefox/+addseries') | 16 | >>> user_browser.open('http://launchpad.test/firefox/+addseries') |
4660 | 18 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4661 | 19 | Traceback (most recent call last): | 17 | Traceback (most recent call last): |
4662 | 20 | ... | 18 | ... |
4663 | 21 | zope.security.interfaces.Unauthorized: ... | 19 | zope.security.interfaces.Unauthorized: ... |
4664 | diff --git a/lib/lp/registry/stories/productseries/xx-productseries-delete.txt b/lib/lp/registry/stories/productseries/xx-productseries-delete.txt | |||
4665 | index 92bfa76..179e316 100644 | |||
4666 | --- a/lib/lp/registry/stories/productseries/xx-productseries-delete.txt | |||
4667 | +++ b/lib/lp/registry/stories/productseries/xx-productseries-delete.txt | |||
4668 | @@ -92,7 +92,6 @@ that the series was deleted, and can not see a link to it anymore. | |||
4669 | 92 | Series trunk deleted. | 92 | Series trunk deleted. |
4670 | 93 | 93 | ||
4671 | 94 | >>> owner_browser.getLink('trunk') | 94 | >>> owner_browser.getLink('trunk') |
4672 | 95 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4673 | 96 | Traceback (most recent call last): | 95 | Traceback (most recent call last): |
4674 | 97 | ... | 96 | ... |
4675 | 98 | zope.testbrowser.browser.LinkNotFoundError | 97 | zope.testbrowser.browser.LinkNotFoundError |
4676 | diff --git a/lib/lp/registry/stories/project/xx-project-add.txt b/lib/lp/registry/stories/project/xx-project-add.txt | |||
4677 | index 4e6a32a..6f4903e 100644 | |||
4678 | --- a/lib/lp/registry/stories/project/xx-project-add.txt | |||
4679 | +++ b/lib/lp/registry/stories/project/xx-project-add.txt | |||
4680 | @@ -4,7 +4,6 @@ Adding new projects | |||
4681 | 4 | Normal users should not be able to do this: | 4 | Normal users should not be able to do this: |
4682 | 5 | 5 | ||
4683 | 6 | >>> user_browser.open("http://launchpad.test/projectgroups/+new") | 6 | >>> user_browser.open("http://launchpad.test/projectgroups/+new") |
4684 | 7 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4685 | 8 | Traceback (most recent call last): | 7 | Traceback (most recent call last): |
4686 | 9 | ... | 8 | ... |
4687 | 10 | zope.security.interfaces.Unauthorized: ... | 9 | zope.security.interfaces.Unauthorized: ... |
4688 | diff --git a/lib/lp/registry/stories/project/xx-project-edit.txt b/lib/lp/registry/stories/project/xx-project-edit.txt | |||
4689 | index 840697c..e6c0e97 100644 | |||
4690 | --- a/lib/lp/registry/stories/project/xx-project-edit.txt | |||
4691 | +++ b/lib/lp/registry/stories/project/xx-project-edit.txt | |||
4692 | @@ -23,7 +23,6 @@ The maintainer of a project can edit its details. | |||
4693 | 23 | Regular users can't access the +review page. | 23 | Regular users can't access the +review page. |
4694 | 24 | 24 | ||
4695 | 25 | >>> browser.getLink('Administer') | 25 | >>> browser.getLink('Administer') |
4696 | 26 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4697 | 27 | Traceback (most recent call last): | 26 | Traceback (most recent call last): |
4698 | 28 | ... | 27 | ... |
4699 | 29 | zope.testbrowser.browser.LinkNotFoundError | 28 | zope.testbrowser.browser.LinkNotFoundError |
4700 | @@ -123,7 +122,6 @@ Registry experts are not allowed access to the +edit page. | |||
4701 | 123 | 122 | ||
4702 | 124 | >>> expert_browser.open('http://launchpad.test/new-name') | 123 | >>> expert_browser.open('http://launchpad.test/new-name') |
4703 | 125 | >>> expert_browser.getLink('Change details').click() | 124 | >>> expert_browser.getLink('Change details').click() |
4704 | 126 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4705 | 127 | Traceback (most recent call last): | 125 | Traceback (most recent call last): |
4706 | 128 | ... | 126 | ... |
4707 | 129 | zope.testbrowser.browser.LinkNotFoundError | 127 | zope.testbrowser.browser.LinkNotFoundError |
4708 | @@ -131,7 +129,6 @@ Registry experts are not allowed access to the +edit page. | |||
4709 | 131 | And going directly to the URL is not allowed. | 129 | And going directly to the URL is not allowed. |
4710 | 132 | 130 | ||
4711 | 133 | >>> expert_browser.open('http://launchpad.test/new-name/+edit') | 131 | >>> expert_browser.open('http://launchpad.test/new-name/+edit') |
4712 | 134 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4713 | 135 | Traceback (most recent call last): | 132 | Traceback (most recent call last): |
4714 | 136 | ... | 133 | ... |
4715 | 137 | zope.security.interfaces.Unauthorized: ... | 134 | zope.security.interfaces.Unauthorized: ... |
4716 | diff --git a/lib/lp/registry/stories/project/xx-project-index.txt b/lib/lp/registry/stories/project/xx-project-index.txt | |||
4717 | index 086ce39..b84ce00 100644 | |||
4718 | --- a/lib/lp/registry/stories/project/xx-project-index.txt | |||
4719 | +++ b/lib/lp/registry/stories/project/xx-project-index.txt | |||
4720 | @@ -46,14 +46,12 @@ project. | |||
4721 | 46 | 46 | ||
4722 | 47 | >>> browser.open('http://launchpad.test/mozilla') | 47 | >>> browser.open('http://launchpad.test/mozilla') |
4723 | 48 | >>> browser.getLink('Register a project in The Mozilla Project') | 48 | >>> browser.getLink('Register a project in The Mozilla Project') |
4724 | 49 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4725 | 50 | Traceback (most recent call last): | 49 | Traceback (most recent call last): |
4726 | 51 | ... | 50 | ... |
4727 | 52 | zope.testbrowser.browser.LinkNotFoundError | 51 | zope.testbrowser.browser.LinkNotFoundError |
4728 | 53 | 52 | ||
4729 | 54 | >>> browser.addHeader('Authorization', 'Basic no-priv@canonical.com:test') | 53 | >>> browser.addHeader('Authorization', 'Basic no-priv@canonical.com:test') |
4730 | 55 | >>> browser.getLink('Register a project in The Mozilla Project') | 54 | >>> browser.getLink('Register a project in The Mozilla Project') |
4731 | 56 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4732 | 57 | Traceback (most recent call last): | 55 | Traceback (most recent call last): |
4733 | 58 | ... | 56 | ... |
4734 | 59 | zope.testbrowser.browser.LinkNotFoundError | 57 | zope.testbrowser.browser.LinkNotFoundError |
4735 | @@ -83,17 +81,14 @@ question' or 'Help translate' buttons. | |||
4736 | 83 | 81 | ||
4737 | 84 | >>> user_browser.open('http://launchpad.test/a-test-group') | 82 | >>> user_browser.open('http://launchpad.test/a-test-group') |
4738 | 85 | >>> user_browser.getLink('Report a bug') | 83 | >>> user_browser.getLink('Report a bug') |
4739 | 86 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4740 | 87 | Traceback (most recent call last): | 84 | Traceback (most recent call last): |
4741 | 88 | .. | 85 | .. |
4742 | 89 | zope.testbrowser.browser.LinkNotFoundError | 86 | zope.testbrowser.browser.LinkNotFoundError |
4743 | 90 | >>> user_browser.getLink('Ask a question') | 87 | >>> user_browser.getLink('Ask a question') |
4744 | 91 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4745 | 92 | Traceback (most recent call last): | 88 | Traceback (most recent call last): |
4746 | 93 | .. | 89 | .. |
4747 | 94 | zope.testbrowser.browser.LinkNotFoundError | 90 | zope.testbrowser.browser.LinkNotFoundError |
4748 | 95 | >>> user_browser.getLink('Help translate') | 91 | >>> user_browser.getLink('Help translate') |
4749 | 96 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4750 | 97 | Traceback (most recent call last): | 92 | Traceback (most recent call last): |
4751 | 98 | .. | 93 | .. |
4752 | 99 | zope.testbrowser.browser.LinkNotFoundError | 94 | zope.testbrowser.browser.LinkNotFoundError |
4753 | @@ -102,27 +97,22 @@ Also, the bugs, blueprints, translations and answers facets will be disabled: | |||
4754 | 102 | 97 | ||
4755 | 103 | >>> user_browser.open('http://launchpad.test/a-test-group') | 98 | >>> user_browser.open('http://launchpad.test/a-test-group') |
4756 | 104 | >>> user_browser.getLink('Bugs') | 99 | >>> user_browser.getLink('Bugs') |
4757 | 105 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4758 | 106 | Traceback (most recent call last): | 100 | Traceback (most recent call last): |
4759 | 107 | .. | 101 | .. |
4760 | 108 | zope.testbrowser.browser.LinkNotFoundError | 102 | zope.testbrowser.browser.LinkNotFoundError |
4761 | 109 | >>> user_browser.getLink('Blueprints') | 103 | >>> user_browser.getLink('Blueprints') |
4762 | 110 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4763 | 111 | Traceback (most recent call last): | 104 | Traceback (most recent call last): |
4764 | 112 | .. | 105 | .. |
4765 | 113 | zope.testbrowser.browser.LinkNotFoundError | 106 | zope.testbrowser.browser.LinkNotFoundError |
4766 | 114 | >>> user_browser.getLink('Answers') | 107 | >>> user_browser.getLink('Answers') |
4767 | 115 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4768 | 116 | Traceback (most recent call last): | 108 | Traceback (most recent call last): |
4769 | 117 | .. | 109 | .. |
4770 | 118 | zope.testbrowser.browser.LinkNotFoundError | 110 | zope.testbrowser.browser.LinkNotFoundError |
4771 | 119 | >>> user_browser.getLink('Answers') | 111 | >>> user_browser.getLink('Answers') |
4772 | 120 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4773 | 121 | Traceback (most recent call last): | 112 | Traceback (most recent call last): |
4774 | 122 | .. | 113 | .. |
4775 | 123 | zope.testbrowser.browser.LinkNotFoundError | 114 | zope.testbrowser.browser.LinkNotFoundError |
4776 | 124 | >>> user_browser.getLink('Translations') | 115 | >>> user_browser.getLink('Translations') |
4777 | 125 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4778 | 126 | Traceback (most recent call last): | 116 | Traceback (most recent call last): |
4779 | 127 | .. | 117 | .. |
4780 | 128 | zope.testbrowser.browser.LinkNotFoundError | 118 | zope.testbrowser.browser.LinkNotFoundError |
4781 | diff --git a/lib/lp/registry/stories/team-polls/create-polls.txt b/lib/lp/registry/stories/team-polls/create-polls.txt | |||
4782 | index ed0e1bd..9f8e833 100644 | |||
4783 | --- a/lib/lp/registry/stories/team-polls/create-polls.txt | |||
4784 | +++ b/lib/lp/registry/stories/team-polls/create-polls.txt | |||
4785 | @@ -20,7 +20,6 @@ administrator. There's no link leading to the +newpoll page, but the user can | |||
4786 | 20 | easily guess it. | 20 | easily guess it. |
4787 | 21 | 21 | ||
4788 | 22 | >>> no_priv_browser.open('http://launchpad.test/~ubuntu-team/+newpoll') | 22 | >>> no_priv_browser.open('http://launchpad.test/~ubuntu-team/+newpoll') |
4789 | 23 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4790 | 24 | Traceback (most recent call last): | 23 | Traceback (most recent call last): |
4791 | 25 | ... | 24 | ... |
4792 | 26 | zope.security.interfaces.Unauthorized: ... | 25 | zope.security.interfaces.Unauthorized: ... |
4793 | diff --git a/lib/lp/registry/stories/team-polls/edit-options.txt b/lib/lp/registry/stories/team-polls/edit-options.txt | |||
4794 | index 1cbf715..8610451 100644 | |||
4795 | --- a/lib/lp/registry/stories/team-polls/edit-options.txt | |||
4796 | +++ b/lib/lp/registry/stories/team-polls/edit-options.txt | |||
4797 | @@ -13,7 +13,6 @@ team's administrators: | |||
4798 | 13 | OptionA OptionA Yes | 13 | OptionA OptionA Yes |
4799 | 14 | ... | 14 | ... |
4800 | 15 | >>> user_browser.getLink('[Edit]') | 15 | >>> user_browser.getLink('[Edit]') |
4801 | 16 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4802 | 17 | Traceback (most recent call last): | 16 | Traceback (most recent call last): |
4803 | 18 | ... | 17 | ... |
4804 | 19 | zope.testbrowser.browser.LinkNotFoundError | 18 | zope.testbrowser.browser.LinkNotFoundError |
4805 | diff --git a/lib/lp/registry/stories/team/xx-team-add-my-teams.txt b/lib/lp/registry/stories/team/xx-team-add-my-teams.txt | |||
4806 | index 4fb0e3a..caadf07 100644 | |||
4807 | --- a/lib/lp/registry/stories/team/xx-team-add-my-teams.txt | |||
4808 | +++ b/lib/lp/registry/stories/team/xx-team-add-my-teams.txt | |||
4809 | @@ -103,7 +103,6 @@ your teams as members. | |||
4810 | 103 | 103 | ||
4811 | 104 | >>> browser.open('http://launchpad.test/~ubuntu-team') | 104 | >>> browser.open('http://launchpad.test/~ubuntu-team') |
4812 | 105 | >>> browser.getLink('Add one of my teams') | 105 | >>> browser.getLink('Add one of my teams') |
4813 | 106 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4814 | 107 | Traceback (most recent call last): | 106 | Traceback (most recent call last): |
4815 | 108 | ... | 107 | ... |
4816 | 109 | zope.testbrowser.browser.LinkNotFoundError | 108 | zope.testbrowser.browser.LinkNotFoundError |
4817 | @@ -118,7 +117,6 @@ your teams as members. | |||
4818 | 118 | The page is restricted to logged in users. | 117 | The page is restricted to logged in users. |
4819 | 119 | 118 | ||
4820 | 120 | >>> anon_browser.open('http://launchpad.test/~ubuntu-team/+add-my-teams') | 119 | >>> anon_browser.open('http://launchpad.test/~ubuntu-team/+add-my-teams') |
4821 | 121 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4822 | 122 | Traceback (most recent call last): | 120 | Traceback (most recent call last): |
4823 | 123 | zope.security.interfaces.Unauthorized: ... | 121 | zope.security.interfaces.Unauthorized: ... |
4824 | 124 | 122 | ||
4825 | diff --git a/lib/lp/registry/stories/team/xx-team-home.txt b/lib/lp/registry/stories/team/xx-team-home.txt | |||
4826 | index b6f36e0..6ec6b77 100644 | |||
4827 | --- a/lib/lp/registry/stories/team/xx-team-home.txt | |||
4828 | +++ b/lib/lp/registry/stories/team/xx-team-home.txt | |||
4829 | @@ -159,7 +159,6 @@ As teams do not have OpenID Logins, there is no link in the Contact | |||
4830 | 159 | details section for help. | 159 | details section for help. |
4831 | 160 | 160 | ||
4832 | 161 | >>> sample_browser.getLink('OpenID help') | 161 | >>> sample_browser.getLink('OpenID help') |
4833 | 162 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4834 | 163 | Traceback (most recent call last): | 162 | Traceback (most recent call last): |
4835 | 164 | ... | 163 | ... |
4836 | 165 | zope.testbrowser.browser.LinkNotFoundError | 164 | zope.testbrowser.browser.LinkNotFoundError |
4837 | diff --git a/lib/lp/registry/stories/teammembership/private-team.txt b/lib/lp/registry/stories/teammembership/private-team.txt | |||
4838 | index c334281..36b2812 100644 | |||
4839 | --- a/lib/lp/registry/stories/teammembership/private-team.txt | |||
4840 | +++ b/lib/lp/registry/stories/teammembership/private-team.txt | |||
4841 | @@ -41,7 +41,6 @@ The page indicates that the team is private. | |||
4842 | 41 | A normal user cannot see the team. | 41 | A normal user cannot see the team. |
4843 | 42 | 42 | ||
4844 | 43 | >>> user_browser.open('http://launchpad.test/~private-team') | 43 | >>> user_browser.open('http://launchpad.test/~private-team') |
4845 | 44 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4846 | 45 | Traceback (most recent call last): | 44 | Traceback (most recent call last): |
4847 | 46 | ... | 45 | ... |
4848 | 47 | zope.publisher.interfaces.NotFound: ... | 46 | zope.publisher.interfaces.NotFound: ... |
4849 | @@ -49,7 +48,6 @@ A normal user cannot see the team. | |||
4850 | 49 | An anonymous user cannot see the team. | 48 | An anonymous user cannot see the team. |
4851 | 50 | 49 | ||
4852 | 51 | >>> anon_browser.open('http://launchpad.test/~private-team') | 50 | >>> anon_browser.open('http://launchpad.test/~private-team') |
4853 | 52 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4854 | 53 | Traceback (most recent call last): | 51 | Traceback (most recent call last): |
4855 | 54 | ... | 52 | ... |
4856 | 55 | zope.publisher.interfaces.NotFound: ... | 53 | zope.publisher.interfaces.NotFound: ... |
4857 | diff --git a/lib/lp/registry/stories/teammembership/xx-add-member.txt b/lib/lp/registry/stories/teammembership/xx-add-member.txt | |||
4858 | index bdf48f2..f5a2733 100644 | |||
4859 | --- a/lib/lp/registry/stories/teammembership/xx-add-member.txt | |||
4860 | +++ b/lib/lp/registry/stories/teammembership/xx-add-member.txt | |||
4861 | @@ -91,7 +91,6 @@ rights to edit the membership in question) can do it. | |||
4862 | 91 | 91 | ||
4863 | 92 | >>> landscape_admin_browser.open( | 92 | >>> landscape_admin_browser.open( |
4864 | 93 | ... 'http://launchpad.test/~launchpad/+invitation/landscape-developers') | 93 | ... 'http://launchpad.test/~launchpad/+invitation/landscape-developers') |
4865 | 94 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4866 | 95 | Traceback (most recent call last): | 94 | Traceback (most recent call last): |
4867 | 96 | ... | 95 | ... |
4868 | 97 | zope.security.interfaces.Unauthorized: ... | 96 | zope.security.interfaces.Unauthorized: ... |
4869 | diff --git a/lib/lp/registry/stories/teammembership/xx-member-renewed-membership.txt b/lib/lp/registry/stories/teammembership/xx-member-renewed-membership.txt | |||
4870 | index c3b457c..5388662 100644 | |||
4871 | --- a/lib/lp/registry/stories/teammembership/xx-member-renewed-membership.txt | |||
4872 | +++ b/lib/lp/registry/stories/teammembership/xx-member-renewed-membership.txt | |||
4873 | @@ -53,7 +53,6 @@ Other users (apart from Karl) can't see that page. | |||
4874 | 53 | 53 | ||
4875 | 54 | >>> user_browser.open('http://launchpad.test/~karl/+expiringmembership/' | 54 | >>> user_browser.open('http://launchpad.test/~karl/+expiringmembership/' |
4876 | 55 | ... 'ubuntu-mirror-admins') | 55 | ... 'ubuntu-mirror-admins') |
4877 | 56 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4878 | 57 | Traceback (most recent call last): | 56 | Traceback (most recent call last): |
4879 | 58 | ... | 57 | ... |
4880 | 59 | zope.security.interfaces.Unauthorized: ... | 58 | zope.security.interfaces.Unauthorized: ... |
4881 | @@ -203,7 +202,6 @@ Any user who's not an admin of landscape-developers can't even see that page. | |||
4882 | 203 | 202 | ||
4883 | 204 | >>> user_browser.open('http://launchpad.test/~landscape-developers' | 203 | >>> user_browser.open('http://launchpad.test/~landscape-developers' |
4884 | 205 | ... '/+expiringmembership/ubuntu-mirror-admins') | 204 | ... '/+expiringmembership/ubuntu-mirror-admins') |
4885 | 206 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4886 | 207 | Traceback (most recent call last): | 205 | Traceback (most recent call last): |
4887 | 208 | ... | 206 | ... |
4888 | 209 | zope.security.interfaces.Unauthorized: ... | 207 | zope.security.interfaces.Unauthorized: ... |
4889 | diff --git a/lib/lp/registry/stories/teammembership/xx-team-leave.txt b/lib/lp/registry/stories/teammembership/xx-team-leave.txt | |||
4890 | index b2ee0a6..b2d66d3 100644 | |||
4891 | --- a/lib/lp/registry/stories/teammembership/xx-team-leave.txt | |||
4892 | +++ b/lib/lp/registry/stories/teammembership/xx-team-leave.txt | |||
4893 | @@ -71,7 +71,6 @@ team's overview page. | |||
4894 | 71 | 71 | ||
4895 | 72 | # The 'Leave' link should be gone. | 72 | # The 'Leave' link should be gone. |
4896 | 73 | >>> browser.getLink('Leave the Team') | 73 | >>> browser.getLink('Leave the Team') |
4897 | 74 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4898 | 75 | Traceback (most recent call last): | 74 | Traceback (most recent call last): |
4899 | 76 | ... | 75 | ... |
4900 | 77 | zope.testbrowser.browser.LinkNotFoundError | 76 | zope.testbrowser.browser.LinkNotFoundError |
4901 | @@ -87,7 +86,6 @@ Team owners do not have the option to leave. | |||
4902 | 87 | ... find_tag_by_id(browser.contents, 'your-involvement'))) | 86 | ... find_tag_by_id(browser.contents, 'your-involvement'))) |
4903 | 88 | You own this team... | 87 | You own this team... |
4904 | 89 | >>> browser.getLink('Leave the Team') | 88 | >>> browser.getLink('Leave the Team') |
4905 | 90 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4906 | 91 | Traceback (most recent call last): | 89 | Traceback (most recent call last): |
4907 | 92 | ... | 90 | ... |
4908 | 93 | zope.testbrowser.browser.LinkNotFoundError | 91 | zope.testbrowser.browser.LinkNotFoundError |
4909 | diff --git a/lib/lp/registry/stories/teammembership/xx-teammembership.txt b/lib/lp/registry/stories/teammembership/xx-teammembership.txt | |||
4910 | index ff6f13d..4cca381 100644 | |||
4911 | --- a/lib/lp/registry/stories/teammembership/xx-teammembership.txt | |||
4912 | +++ b/lib/lp/registry/stories/teammembership/xx-teammembership.txt | |||
4913 | @@ -64,7 +64,6 @@ say that there's no need to join since the user is already a member of that | |||
4914 | 64 | team. | 64 | team. |
4915 | 65 | 65 | ||
4916 | 66 | >>> browser.getLink('Join the team') | 66 | >>> browser.getLink('Join the team') |
4917 | 67 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4918 | 68 | Traceback (most recent call last): | 67 | Traceback (most recent call last): |
4919 | 69 | ... | 68 | ... |
4920 | 70 | zope.testbrowser.browser.LinkNotFoundError | 69 | zope.testbrowser.browser.LinkNotFoundError |
4921 | @@ -177,7 +176,6 @@ If it was a restricted team, users wouldn't even see a link to join the team. | |||
4922 | 177 | Restricted Team | 176 | Restricted Team |
4923 | 178 | 177 | ||
4924 | 179 | >>> browser.getLink('Join the team') | 178 | >>> browser.getLink('Join the team') |
4925 | 180 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4926 | 181 | Traceback (most recent call last): | 179 | Traceback (most recent call last): |
4927 | 182 | ... | 180 | ... |
4928 | 183 | zope.testbrowser.browser.LinkNotFoundError | 181 | zope.testbrowser.browser.LinkNotFoundError |
4929 | diff --git a/lib/lp/registry/tests/person_from_principal.txt b/lib/lp/registry/tests/person_from_principal.txt | |||
4930 | index d414705..04ff03d 100644 | |||
4931 | --- a/lib/lp/registry/tests/person_from_principal.txt | |||
4932 | +++ b/lib/lp/registry/tests/person_from_principal.txt | |||
4933 | @@ -10,7 +10,6 @@ raised. | |||
4934 | 10 | ... id = 42 | 10 | ... id = 42 |
4935 | 11 | ... person = None | 11 | ... person = None |
4936 | 12 | >>> person_from_principal(NoLaunchpadPrincipal()) | 12 | >>> person_from_principal(NoLaunchpadPrincipal()) |
4937 | 13 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4938 | 14 | Traceback (most recent call last): | 13 | Traceback (most recent call last): |
4939 | 15 | ... | 14 | ... |
4940 | 16 | zope.interface.interfaces.ComponentLookupError | 15 | zope.interface.interfaces.ComponentLookupError |
4941 | diff --git a/lib/lp/services/database/doc/db-policy.txt b/lib/lp/services/database/doc/db-policy.txt | |||
4942 | index aa90ed7..48255e9 100644 | |||
4943 | --- a/lib/lp/services/database/doc/db-policy.txt | |||
4944 | +++ b/lib/lp/services/database/doc/db-policy.txt | |||
4945 | @@ -38,7 +38,7 @@ a single master. | |||
4946 | 38 | False | 38 | False |
4947 | 39 | 39 | ||
4948 | 40 | >>> ro_janitor.display_name = 'Janice the Janitor' | 40 | >>> ro_janitor.display_name = 'Janice the Janitor' |
4950 | 41 | >>> transaction.commit() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 41 | >>> transaction.commit() |
4951 | 42 | Traceback (most recent call last): | 42 | Traceback (most recent call last): |
4952 | 43 | ... | 43 | ... |
4953 | 44 | storm.database.InternalError: ... | 44 | storm.database.InternalError: ... |
4954 | @@ -81,7 +81,6 @@ resources. | |||
4955 | 81 | >>> with SlaveOnlyDatabasePolicy(): | 81 | >>> with SlaveOnlyDatabasePolicy(): |
4956 | 82 | ... whoops = IMasterStore(Person).find( | 82 | ... whoops = IMasterStore(Person).find( |
4957 | 83 | ... Person, Person.name == 'janitor').one() | 83 | ... Person, Person.name == 'janitor').one() |
4958 | 84 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4959 | 85 | Traceback (most recent call last): | 84 | Traceback (most recent call last): |
4960 | 86 | ... | 85 | ... |
4961 | 87 | lp.services.database.interfaces.DisallowedStore: master | 86 | lp.services.database.interfaces.DisallowedStore: master |
4962 | @@ -95,7 +94,6 @@ database transaction. | |||
4963 | 95 | >>> with DatabaseBlockedPolicy(): | 94 | >>> with DatabaseBlockedPolicy(): |
4964 | 96 | ... whoops = IStore(Person).find( | 95 | ... whoops = IStore(Person).find( |
4965 | 97 | ... Person, Person.name == 'janitor').one() | 96 | ... Person, Person.name == 'janitor').one() |
4966 | 98 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4967 | 99 | Traceback (most recent call last): | 97 | Traceback (most recent call last): |
4968 | 100 | ... | 98 | ... |
4969 | 101 | lp.services.database.interfaces.DisallowedStore: ('main', 'default') | 99 | lp.services.database.interfaces.DisallowedStore: ('main', 'default') |
4970 | diff --git a/lib/lp/services/database/doc/multitablecopy.txt b/lib/lp/services/database/doc/multitablecopy.txt | |||
4971 | index 618ebd7..f6ffd41 100644 | |||
4972 | --- a/lib/lp/services/database/doc/multitablecopy.txt | |||
4973 | +++ b/lib/lp/services/database/doc/multitablecopy.txt | |||
4974 | @@ -327,7 +327,6 @@ which means that the attempt to insert it will violate a unique constraint. | |||
4975 | 327 | ... % numeric_holding_table) | 327 | ... % numeric_holding_table) |
4976 | 328 | 328 | ||
4977 | 329 | >>> copier.pour(transaction) | 329 | >>> copier.pour(transaction) |
4978 | 330 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
4979 | 331 | Traceback (most recent call last): | 330 | Traceback (most recent call last): |
4980 | 332 | ... | 331 | ... |
4981 | 333 | storm.database.IntegrityError: duplicate ... violates unique constraint ... | 332 | storm.database.IntegrityError: duplicate ... violates unique constraint ... |
4982 | diff --git a/lib/lp/services/database/doc/storm.txt b/lib/lp/services/database/doc/storm.txt | |||
4983 | index abe5dc3..82823a5 100644 | |||
4984 | --- a/lib/lp/services/database/doc/storm.txt | |||
4985 | +++ b/lib/lp/services/database/doc/storm.txt | |||
4986 | @@ -72,7 +72,7 @@ from a store other than the correct Master. | |||
4987 | 72 | >>> t = transaction.begin() | 72 | >>> t = transaction.begin() |
4988 | 73 | >>> person = main_slave.find(Person, name='mark').one() | 73 | >>> person = main_slave.find(Person, name='mark').one() |
4989 | 74 | >>> person.display_name = 'Cannot change' | 74 | >>> person.display_name = 'Cannot change' |
4991 | 75 | >>> transaction.commit() # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | 75 | >>> transaction.commit() |
4992 | 76 | Traceback (most recent call last): | 76 | Traceback (most recent call last): |
4993 | 77 | ... | 77 | ... |
4994 | 78 | storm.database.InternalError: ... | 78 | storm.database.InternalError: ... |
4995 | @@ -94,7 +94,6 @@ similarly wrapped. | |||
4996 | 94 | >>> print(person.displayname) | 94 | >>> print(person.displayname) |
4997 | 95 | No Privileges Person | 95 | No Privileges Person |
4998 | 96 | >>> person.name = 'foo' | 96 | >>> person.name = 'foo' |
4999 | 97 | ... # doctest: +IGNORE_EXCEPTION_MODULE_IN_PYTHON2 | ||
5000 | 98 | Traceback (most recent call last): | 97 | Traceback (most recent call last): |
The diff has been truncated for viewing.
Looks good!