From f9b136a8869ea9351fa109ac62b36303f4a1dc47 Mon Sep 17 00:00:00 2001 From: Neil Johnson Date: Wed, 28 Nov 2018 09:33:41 +0000 Subject: [PATCH 1/2] Neilj/fix mau initial reserved users (#4211) * fix transaction wrapping bug that caused get_user_id_by_threepid_txn to fail * towncrier * white space --- changelog.d/4211.bugfix | 2 ++ synapse/storage/monthly_active_users.py | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 changelog.d/4211.bugfix diff --git a/changelog.d/4211.bugfix b/changelog.d/4211.bugfix new file mode 100644 index 0000000000..376f80c55a --- /dev/null +++ b/changelog.d/4211.bugfix @@ -0,0 +1,2 @@ +fix start up failure when mau_limit_reserved_threepids set and db is postgres + diff --git a/synapse/storage/monthly_active_users.py b/synapse/storage/monthly_active_users.py index c353b11c9a..479e01ddc1 100644 --- a/synapse/storage/monthly_active_users.py +++ b/synapse/storage/monthly_active_users.py @@ -34,8 +34,9 @@ class MonthlyActiveUsersStore(SQLBaseStore): self.hs = hs self.reserved_users = () # Do not add more reserved users than the total allowable number - self._initialise_reserved_users( - dbconn.cursor(), + self._new_transaction( + dbconn, "initialise_mau_threepids", [], [], + self._initialise_reserved_users, hs.config.mau_limits_reserved_threepids[:self.hs.config.max_mau_value], ) From 8ca53fb53e1601f83c68a464b3390b4e22f25233 Mon Sep 17 00:00:00 2001 From: Amber Brown Date: Wed, 28 Nov 2018 20:59:31 +1100 Subject: [PATCH 2/2] Report combined coverage to codecov (#4225) --- .travis.yml | 10 +++++----- changelog.d/4225.misc | 1 + tox.ini | 29 +++++++++++++++++------------ 3 files changed, 23 insertions(+), 17 deletions(-) create mode 100644 changelog.d/4225.misc diff --git a/.travis.yml b/.travis.yml index 655fab9d8e..84d5efff9b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,24 +36,24 @@ matrix: env: TOX_ENV="pep8,check_isort" - python: 2.7 - env: TOX_ENV=py27 TRIAL_FLAGS="-j 2" + env: TOX_ENV=py27,codecov TRIAL_FLAGS="-j 2" - python: 2.7 env: TOX_ENV=py27-old TRIAL_FLAGS="-j 2" - python: 2.7 - env: TOX_ENV=py27-postgres TRIAL_FLAGS="-j 4" + env: TOX_ENV=py27-postgres,codecov TRIAL_FLAGS="-j 4" services: - postgresql - python: 3.5 - env: TOX_ENV=py35 TRIAL_FLAGS="-j 2" + env: TOX_ENV=py35,codecov TRIAL_FLAGS="-j 2" - python: 3.6 - env: TOX_ENV=py36 TRIAL_FLAGS="-j 2" + env: TOX_ENV=py36,codecov TRIAL_FLAGS="-j 2" - python: 3.6 - env: TOX_ENV=py36-postgres TRIAL_FLAGS="-j 4" + env: TOX_ENV=py36-postgres,codecov TRIAL_FLAGS="-j 4" services: - postgresql diff --git a/changelog.d/4225.misc b/changelog.d/4225.misc new file mode 100644 index 0000000000..39062696ea --- /dev/null +++ b/changelog.d/4225.misc @@ -0,0 +1 @@ +Added automated coverage reporting to CI. diff --git a/tox.ini b/tox.ini index dfd9afdd49..731094b5da 100644 --- a/tox.ini +++ b/tox.ini @@ -7,6 +7,7 @@ deps = mock python-subunit junitxml + coverage # needed by some of the tests lxml @@ -27,11 +28,15 @@ deps = setenv = PYTHONDONTWRITEBYTECODE = no_byte_code + COVERAGE_PROCESS_START = {toxinidir}/.coveragerc [testenv] deps = {[base]deps} +whitelist_externals = + sh + setenv = {[base]setenv} @@ -39,7 +44,9 @@ passenv = * commands = /usr/bin/find "{toxinidir}" -name '*.pyc' -delete - "{envbindir}/trial" {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:} + # Add this so that coverage will run on subprocesses + sh -c 'echo "import coverage; coverage.process_startup()" > {envsitepackagesdir}/../sitecustomize.py' + {envbindir}/coverage run "{envbindir}/trial" {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:} [testenv:py27] @@ -101,17 +108,6 @@ usedevelop=true [testenv:py36] usedevelop=true - -[testenv:py36-coverage] -usedevelop=true -deps = - {[base]deps} - coverage -commands = - /usr/bin/find "{toxinidir}" -name '*.pyc' -delete - python -m coverage run -m twisted.trial {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:} - - [testenv:py36-postgres] usedevelop=true deps = @@ -146,3 +142,12 @@ deps = towncrier>=18.6.0rc1 commands = python -m towncrier.check --compare-with=origin/develop basepython = python3.6 + +[testenv:codecov] +skip_install = True +deps = + coverage + codecov +commands = + coverage combine + codecov -X gcov \ No newline at end of file