jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/742955 )
Change subject: [bugfix] Raise TypeError of text parameter of color_format is bytes
......................................................................
[bugfix] Raise TypeError of text parameter of color_format is bytes
PyPy implementation of string.Formatter does not raise a TypeError;
do it in color_format itself.
Bug: T296830
Change-Id: I6372403f9e194354b21e11905f593cf32f0be3df
---
M pywikibot/tools/formatter.py
1 file changed, 5 insertions(+), 0 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/tools/formatter.py b/pywikibot/tools/formatter.py
index 1abbb85..26bfff2 100644
--- a/pywikibot/tools/formatter.py
+++ b/pywikibot/tools/formatter.py
@@ -5,6 +5,8 @@
# Distributed under the terms of the MIT license.
#
import math
+import platform
+
from string import Formatter
from typing import Any, Mapping, Sequence
@@ -136,4 +138,7 @@
:param text: The format template string
:return: The formatted string
"""
+ if platform.python_implementation() == 'PyPy' \
+ and isinstance(text, bytes): # T296830
+ raise TypeError("'text' parameter must be a str not bytes")
return _ColorFormatter().format(text, *args, **kwargs)
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/742955
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I6372403f9e194354b21e11905f593cf32f0be3df
Gerrit-Change-Number: 742955
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/742932 )
Change subject: [tests] remove TRAVIS settings
......................................................................
[tests] remove TRAVIS settings
Bug: T296371
Change-Id: Ibcb3b956840f0ea4647c1df46242c32f1655c606
---
D .travis.yml
M tests/README.rst
2 files changed, 0 insertions(+), 239 deletions(-)
Approvals:
Rubin: Looks good to me, but someone else must approve
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 5283c71..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,191 +0,0 @@
-# See tests/README.rst for instructions for using Travis with developer builds.
-
-language: python
-
-# Python 3.5 does not work on sponsored s390x arch
-python:
- - '3.6'
- - '3.7'
- - '3.8'
- - '3.9'
- - '3.10-dev'
-
-# OSX builds do not yet support Python
-os: linux
-
-# Partner Queue Solution
-arch:
- - s390x
-
-dist: xenial # required for Python >= 3.7
-
-addons:
- apt:
- packages:
- - djvulibre-bin
-
-before_install:
- # When PYSETUP_TEST_EXTRAS is not enabled, do not allow the
- # default 'install' step to install all dependencies listed in
- # requirements.txt to verify that a minimal install works as expected.
- # Instead install requests in the before_script step below.
- - if [[ "$PYSETUP_TEST_EXTRAS" != '1' ]]; then
- printf "# Empty requirements with PYSETUP_TEST_EXTRA" > requirements.txt ;
- fi
-
- # PYTEST is taken as the default
- - if [[ "$PYSETUP_TEST_EXTRAS" != '1' ]]; then
- export USE_PYTEST=1 ;
- fi
-
- - if [[ "$PYWIKIBOT_SITE_ONLY" == "1" ]]; then
- echo "Running site tests only code ${LANGUAGE} on family ${FAMILY}" ;
- fi
-
- - export GITHUB_USER=`echo $TRAVIS_REPO_SLUG | cut -d '/' -f 1`
- - mkdir ~/.python-eggs
- - chmod 700 ~/.python-eggs
-
- - if [[ "$GITHUB_USER" != "wikimedia" ]]; then
- export PYWIKIBOT_TEST_WRITE_FAIL=1 ;
- fi
-
-install:
- - pip install -U setuptools
- - pip install -r dev-requirements.txt
- - pip install -r requirements.txt
- - pip install mwparserfromhell
-
-before_script:
- - if [[ "$PYSETUP_TEST_EXTRAS" != '1' ]]; then
- pip install -e .[mwoauth];
- fi
-
-script:
- - mkdir ~/.pywikibot
-
- - python pwb.py generate_family_file 'https://wiki.musicbrainz.org/' musicbrainz 'n'
- - if [[ $FAMILY == 'wpbeta' ]]; then
- python -m generate_family_file 'http://'$LANGUAGE'.wikipedia.beta.wmflabs.org/' 'wpbeta' 'y' ;
- fi
- - if [[ $FAMILY == 'wsbeta' ]]; then
- python -m generate_family_file 'http://'$LANGUAGE'.wikisource.beta.wmflabs.org/' 'wsbeta' 'y' ;
- fi
- - if [[ $FAMILY == 'portalwiki' ]]; then
- python -m generate_family_file 'https://theportalwiki.com/wiki/Main_Page' 'portalwiki' 'y' 'y';
- fi
-
- - python -W error::UserWarning -m pwb generate_user_files -dir:~/.pywikibot/ -family:$FAMILY -lang:$LANGUAGE -v -user:"$PYWIKIBOT_USERNAME"
-
- - if [[ -n "$USER_PASSWORD" && -n "$PYWIKIBOT_USERNAME" ]]; then
- printf "usernames['wikipedia']['en'] = '%q'\n" "$PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
- printf "usernames['wikipedia']['test'] = '%q'\n" "$PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
- printf "usernames['wikidata']['test'] = '%q'\n" "$PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
- printf "usernames['commons']['commons'] = '%q'\n" "$PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
- printf "usernames['meta']['meta'] = '%q'\n" "$PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
- printf "usernames['wikisource']['zh'] = '%q'\n" "$PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
- printf "('%q', '%q')\n" "$PYWIKIBOT_USERNAME" "$USER_PASSWORD" > ~/.pywikibot/passwordfile ;
- echo "import os" >> ~/.pywikibot/user-config.py ;
- echo "password_file = os.path.expanduser('~/.pywikibot/passwordfile')" >> ~/.pywikibot/user-config.py ;
- fi
-
- - if [[ -n "$OAUTH_DOMAIN" ]]; then
- if [[ -n "$OAUTH_PYWIKIBOT_USERNAME" ]]; then
- printf "usernames['${FAMILY}']['${LANGUAGE}'] = '%q'\n" "$OAUTH_PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
- fi ;
- oauth_token_var="OAUTH_TOKENS_${FAMILY^^}_${LANGUAGE^^}" ;
- if [[ -n "${!oauth_token_var}" ]]; then
- printf "authenticate['${OAUTH_DOMAIN}'] = ('%s')\n" "${!oauth_token_var//:/\', \'}" >> ~/.pywikibot/user-config.py ;
- fi ;
- fi
- - echo "authenticate['wiki.musicbrainz.org'] = ('NOTSPAM', 'NOTSPAM')" >> ~/.pywikibot/user-config.py ;
-
- - echo "max_retries = 3" >> ~/.pywikibot/user-config.py
- - echo "maximum_GET_length = 5000" >> ~/.pywikibot/user-config.py
- - echo "console_encoding = 'utf8'" >> ~/.pywikibot/user-config.py
-
- - python -c "import setuptools; print(setuptools.__version__)"
-
- - if [[ "$USE_PYTEST" == "1" ]]; then
- if [[ "$PYWIKIBOT_SITE_ONLY" == "1" ]]; then
- python setup.py pytest --addopts="-vvv -s --timeout=$TEST_TIMEOUT --cov=. -rsxX -a \"family=='$FAMILY' and code=='$LANGUAGE'\"" ;
- else
- python setup.py pytest --addopts="-vvv -s --timeout=$TEST_TIMEOUT --cov=. -rsxX" ;
- fi
- else
- coverage run -m unittest discover -vv -p "*_tests.py" ;
- fi
-
-after_script:
- codecov
-
-env:
- global:
- - TEST_TIMEOUT=300
- - PYWIKIBOT_TESTS_RUNNING=1
-
- matrix:
- - LANGUAGE=en FAMILY=wikipedia PYWIKIBOT_TEST_PROD_ONLY=1
- - LANGUAGE=zh FAMILY=wikisource PYSETUP_TEST_EXTRAS=1 PYWIKIBOT_TEST_PROD_ONLY=1 PYWIKIBOT_TEST_NO_RC=1
-
-# use Partner Queue Solution for Python > 3.5 to not consume credits
-matrix:
- include:
- - python: '3.5_with_system_site_packages'
- env: LANGUAGE=nb FAMILY=wikipedia PYSETUP_TEST_EXTRAS=1 PYWIKIBOT_TEST_NO_RC=1
- addons:
- apt:
- packages:
- - djvulibre-bin
- - graphviz
- arch: amd64
- - python: '3.6'
- env: LANGUAGE=en FAMILY=wpbeta PYWIKIBOT_SITE_ONLY=1 OAUTH_DOMAIN="en.wikipedia.beta.wmflabs.org"
- - python: '3.6'
- env: LANGUAGE=zh FAMILY=wpbeta PYWIKIBOT_SITE_ONLY=1 OAUTH_DOMAIN="zh.wikipedia.beta.wmflabs.org"
- - python: '3.5'
- env: LANGUAGE=en FAMILY=wsbeta PYWIKIBOT_SITE_ONLY=1
- arch: amd64
- - python: '3.5'
- env: LANGUAGE=en FAMILY=musicbrainz PYWIKIBOT_SITE_ONLY=1
- arch: amd64
- - python: '3.7'
- env: LANGUAGE=test FAMILY=wikipedia PYWIKIBOT_SITE_ONLY=1 OAUTH_DOMAIN="test.wikipedia.org"
- - python: '3.7'
- env: LANGUAGE=test FAMILY=wikidata PYWIKIBOT_SITE_ONLY=1
- - python: '3.9'
- env: LANGUAGE=ar FAMILY=wiktionary PYWIKIBOT_TEST_NO_RC=1
- - python: '3.6'
- env: LANGUAGE=wikidata FAMILY=wikidata PYWIKIBOT_SITE_ONLY=1
- - python: '3.8'
- env: LANGUAGE=uk FAMILY=wowwiki PYWIKIBOT_TEST_NO_RC=1
- - python: '3.8'
- env: LANGUAGE=en FAMILY=portalwiki
- - python: '3.5'
- env: LANGUAGE=en FAMILY=wikipedia PYWIKIBOT_TEST_PROD_ONLY=1
- arch: amd64
- - python: '3.5'
- env: LANGUAGE=zh FAMILY=wikisource PYSETUP_TEST_EXTRAS=1 PYWIKIBOT_TEST_PROD_ONLY=1 PYWIKIBOT_TEST_NO_RC=1
- arch: amd64
- allow_failures:
- - python: '3.6'
- env: LANGUAGE=en FAMILY=wpbeta PYWIKIBOT_SITE_ONLY=1 OAUTH_DOMAIN="en.wikipedia.beta.wmflabs.org"
- - python: '3.8'
- env: LANGUAGE=uk FAMILY=wowwiki PYWIKIBOT_TEST_NO_RC=1
- - python: '3.5'
- env: LANGUAGE=en FAMILY=wsbeta PYWIKIBOT_SITE_ONLY=1
- arch: amd64
-
-notifications:
- email:
- recipients:
- - pywikibot-commits(a)lists.wikimedia.org
- on_success: always
- on_failure: always
- irc:
- channels:
- - "libera.chat#pywikibot"
- on_success: change
- on_failure: change
- template:
- - "%{repository_slug}#%{build_number} (%{branch} - %{commit} : %{author}): %{message} %{build_url}"
diff --git a/tests/README.rst b/tests/README.rst
index 0da404d..6267c07 100644
--- a/tests/README.rst
+++ b/tests/README.rst
@@ -92,54 +92,6 @@
PYWIKIBOT_TEST_MODULES=api,site python -m unittest -v
-Travis CI
-=========
-
-After changes are published into a GitHub repository, tests may be run on
-travis-ci.com according to the configuration in .travis.yml .
-
-When changes are merged into the main repository, they are replicated to
-https://github.com/wikimedia/pywikibot , and Travis tests are run and
-published at https://app.travis-ci.com/github/wikimedia/pywikibot/builds . These tests
-use the Wikimedia global (SUL) account 'Pywikibot-test', which has a password
-securely stored in .travis.yml file. See section env:global:secure.
-
-Anyone can run these tests on travis-ci.com using their own GitHub account, with
-code changes that have not been merged into the main repository. To do this:
-
-1. create a GitHub and travis-ci account
-2. fork the main GitHub repository https://github.com/wikimedia/pywikibot
-3. enable builds from the Travis profile page: https://travis-ci.com/profile
-4. push changes into the forked git repository
-5. watch the build at https://travis-ci.com/<username>/pywikibot/builds
-
-Only travis-ci builds from the main repository can access the password for the
-Wikimedia account 'Pywikibot-test'. All tests which require a logged in user
-are skipped if the travis-ci build environment does not have a password.
-
-To enable 'user' tests on travis-ci builds for a different repository, add
-a username and password to Travis:
-
-1. Go to https://travis-ci.com/<username>/pywikibot/settings
-2. Add a new variable named PYWIKIBOT_USERNAME and a value of a valid
- Wikimedia SUL username
-3. Add another variable named USER_PASSWORD, with the private password for
- the Wikimedia SUL username used in step 2. Check that this
- environment variable has "Display value in build logs" set to OFF, so
- the password does not leak into the build logs.
-4. The next build should run tests that require a logged in user
-
-If the username does not exist on one of the Travis build sites, user tests
-will not be run on that build site.
-
-While passwords in travis-ci environment variables are not leaked in normal
-operations, you are responsible for your own passwords. If the variables contain
-single quotes it is necessary to surround them in double quotes (see also
-`travis-ci #4350 <https://github.com/travis-ci/travis-ci/issues/4350>`_).
-
-It is strongly recommended that an untrusted bot account is created for
-Travis tests, using a password that is not shared with trusted accounts.
-
AppVeyor CI
===========
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/742932
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ibcb3b956840f0ea4647c1df46242c32f1655c606
Gerrit-Change-Number: 742932
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: Legoktm <legoktm(a)debian.org>
Gerrit-Reviewer: Rubin <rubin.happy(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged