[Python-modules-commits] [python-motor] 01/09: Import python-motor_1.2.0.orig.tar.gz

Ondrej Novy onovy at debian.org
Tue Jan 16 14:35:24 UTC 2018


This is an automated email from the git hooks/post-receive script.

onovy pushed a commit to branch master
in repository python-motor.

commit 0b0b62a9301f7bc1bb2017e9e2b308acbf952b62
Author: Ondřej Nový <onovy at debian.org>
Date:   Tue Jan 16 13:33:45 2018 +0100

    Import python-motor_1.2.0.orig.tar.gz
---
 .evergreen/config.yml                              | 871 +++++++++++++++++++++
 .evergreen/install-dependencies.sh                 |  19 +
 .evergreen/run-enterprise-auth-tests.sh            |  29 +
 .evergreen/run-tox.sh                              |  28 +
 .gitignore                                         |   1 +
 CONTRIBUTING.rst                                   |  20 +-
 README.rst                                         |   9 +-
 doc/api-asyncio/asyncio_motor_change_stream.rst    |   7 +
 doc/api-asyncio/index.rst                          |   1 +
 doc/api-tornado/index.rst                          |   1 +
 doc/api-tornado/motor_change_stream.rst            |   7 +
 doc/changelog.rst                                  |  48 ++
 doc/conf.py                                        |  21 +-
 doc/configuration.rst                              |   9 +
 doc/developer-guide.rst                            |  12 +-
 doc/docs-requirements.txt                          |   2 +
 doc/examples/aiohttp_gridfs_example.py             |   2 +
 doc/examples/index.rst                             |   2 +
 doc/examples/monitoring.rst                        |  91 +++
 doc/examples/monitoring_example.py                 | 132 ++++
 doc/examples/tailable-cursors.rst                  |   2 +-
 doc/examples/tornado_change_stream_example.py      | 110 +++
 doc/examples/tornado_change_stream_example.rst     |  54 ++
 .../tornado_change_stream_templates/index.html     |  51 ++
 doc/index.rst                                      |   1 +
 doc/mongo_extensions.py                            |  14 +-
 doc/motor_extensions.py                            |  35 +-
 doc/pydoctheme/static/pydoctheme.css               |   8 +
 doc/requirements.rst                               |  79 +-
 doc/tutorial-asyncio.rst                           |   6 +-
 doc/tutorial-tornado.rst                           |  33 +-
 motor/__init__.py                                  |  16 +-
 motor/{aiohttp.py => aiohttp/__init__.py}          |   5 +-
 motor/core.py                                      | 383 +++++++--
 motor/docstrings.py                                | 859 ++++++++++++++++++--
 motor/frameworks/asyncio/__init__.py               |  12 +-
 motor/frameworks/tornado/__init__.py               |  31 +-
 motor/metaprogramming.py                           |  21 +-
 motor/motor_asyncio.py                             |  12 +-
 motor/motor_gridfs.py                              |  43 +-
 motor/motor_py3_compat.py                          |   2 +-
 motor/motor_tornado.py                             |  24 +-
 setup.cfg                                          |   2 +
 setup.py                                           |  70 +-
 synchro/__init__.py                                |  39 +-
 synchro/synchrotest.py                             |  76 +-
 test/__init__.py                                   |  32 +-
 test/asyncio_tests/__init__.py                     |  27 +-
 test/asyncio_tests/test_aiohttp_gridfs.py          |  25 +-
 test/asyncio_tests/test_asyncio_await.py           |  17 +-
 test/asyncio_tests/test_asyncio_change_stream.py   | 140 ++++
 test/asyncio_tests/test_asyncio_client.py          |  45 +-
 test/asyncio_tests/test_asyncio_collection.py      |  54 +-
 test/asyncio_tests/test_asyncio_cursor.py          |  60 +-
 test/asyncio_tests/test_asyncio_database.py        |  11 +-
 test/asyncio_tests/test_asyncio_gridfs.py          |   2 +-
 test/asyncio_tests/test_asyncio_ipv6.py            |   5 +-
 test/asyncio_tests/test_asyncio_session.py         | 204 +++++
 test/asyncio_tests/test_asyncio_ssl.py             |  27 +-
 test/test_environment.py                           | 145 ++--
 test/tornado_tests/__init__.py                     |  89 +--
 test/tornado_tests/test_motor_await.py             |   5 +-
 test/tornado_tests/test_motor_change_stream.py     | 143 ++++
 test/tornado_tests/test_motor_client.py            |  54 +-
 test/tornado_tests/test_motor_collection.py        |  73 +-
 test/tornado_tests/test_motor_core.py              |  30 +-
 test/tornado_tests/test_motor_cursor.py            |  91 ++-
 test/tornado_tests/test_motor_database.py          |  22 +-
 test/tornado_tests/test_motor_gen.py               |  68 --
 test/tornado_tests/test_motor_gridfs.py            |  15 +-
 test/tornado_tests/test_motor_ipv6.py              |   5 +-
 test/tornado_tests/test_motor_replica_set.py       |   6 +-
 test/tornado_tests/test_motor_session.py           | 209 +++++
 test/tornado_tests/test_motor_son_manipulator.py   |   5 +-
 test/tornado_tests/test_motor_ssl.py               |  12 +-
 test/tornado_tests/test_motor_web.py               |  15 +-
 test/tornado_tests/test_test.py                    |  51 --
 test/utils.py                                      |  37 +-
 test/version.py                                    | 108 ++-
 tox.ini                                            |  75 +-
 80 files changed, 4111 insertions(+), 1096 deletions(-)

diff --git a/.evergreen/config.yml b/.evergreen/config.yml
new file mode 100644
index 0000000..aca6808
--- /dev/null
+++ b/.evergreen/config.yml
@@ -0,0 +1,871 @@
+########################################
+# Evergreen Template for MongoDB Drivers
+########################################
+
+# When a task that used to pass starts to fail
+# Go through all versions that may have been skipped to detect
+# when the task started failing
+stepback: true
+
+# Mark a failure as a system/bootstrap failure (purple box) rather then a task
+# failure by default.
+# Actual testing tasks are marked with `type: test`
+command_type: system
+
+# Protect ourself against rogue test case, or curl gone wild, that runs forever
+# Good rule of thumb: the averageish length a task takes, times 5
+# That roughly accounts for variable system performance for various buildvariants
+exec_timeout_secs: 1800 # 6 minutes is the longest we'll ever run
+
+# What to do when evergreen hits the timeout (`post:` tasks are run automatically)
+timeout:
+  - command: shell.exec
+    params:
+      script: |
+        ls -la
+
+functions:
+  "fetch source":
+    # Executes git clone and applies the submitted patch, if any
+    - command: git.get_project
+      params:
+        directory: "src"
+    # Make an evergreen exapanstion file with dynamic values
+    - command: shell.exec
+      params:
+        working_dir: "src"
+        script: |
+           # Get the current unique version of this checkout
+           if [ "${is_patch}" = "true" ]; then
+              CURRENT_VERSION=$(git describe)-patch-${version_id}
+           else
+              CURRENT_VERSION=latest
+           fi
+
+           export DRIVERS_TOOLS="$(pwd)/../drivers-tools"
+           export PROJECT_DIRECTORY="$(pwd)"
+
+           # Python has cygwin path problems on Windows. Detect prospective mongo-orchestration home directory
+           if [ "Windows_NT" = "$OS" ]; then # Magic variable in cygwin
+              export DRIVERS_TOOLS=$(cygpath -m $DRIVERS_TOOLS)
+              export PROJECT_DIRECTORY=$(cygpath -m $PROJECT_DIRECTORY)
+           fi
+
+           export MONGO_ORCHESTRATION_HOME="$DRIVERS_TOOLS/.evergreen/orchestration"
+           export MONGODB_BINARIES="$DRIVERS_TOOLS/mongodb/bin"
+           export UPLOAD_BUCKET="${project}"
+
+           cat <<EOT > expansion.yml
+           CURRENT_VERSION: "$CURRENT_VERSION"
+           DRIVERS_TOOLS: "$DRIVERS_TOOLS"
+           MONGO_ORCHESTRATION_HOME: "$MONGO_ORCHESTRATION_HOME"
+           MONGODB_BINARIES: "$MONGODB_BINARIES"
+           UPLOAD_BUCKET: "$UPLOAD_BUCKET"
+           PROJECT_DIRECTORY: "$PROJECT_DIRECTORY"
+           PREPARE_SHELL: |
+              set -o errexit
+              set -o xtrace
+              export DRIVERS_TOOLS="$DRIVERS_TOOLS"
+              export MONGO_ORCHESTRATION_HOME="$MONGO_ORCHESTRATION_HOME"
+              export MONGODB_BINARIES="$MONGODB_BINARIES"
+              export UPLOAD_BUCKET="$UPLOAD_BUCKET"
+              export PROJECT_DIRECTORY="$PROJECT_DIRECTORY"
+              export TMPDIR="$MONGO_ORCHESTRATION_HOME/db"
+              export PATH="$MONGODB_BINARIES:$PATH"
+              export PROJECT="${project}"
+              export ASYNC_TEST_TIMEOUT=30
+           EOT
+           # See what we've done
+           cat expansion.yml
+
+    # Load the expansion file to make an evergreen variable with the current unique version
+    - command: expansions.update
+      params:
+        file: src/expansion.yml
+
+  "prepare resources":
+    - command: shell.exec
+      params:
+        working_dir: "src"
+        script: |
+          ${PREPARE_SHELL}
+          rm -rf $DRIVERS_TOOLS
+          if [ "${project}" = "drivers-tools" ]; then
+            # If this was a patch build, doing a fresh clone would not actually test the patch
+            cp -R ${PROJECT_DIRECTORY}/ $DRIVERS_TOOLS
+          else
+            git clone git://github.com/mongodb-labs/drivers-evergreen-tools.git $DRIVERS_TOOLS
+          fi
+          echo "{ \"releases\": { \"default\": \"$MONGODB_BINARIES\" }}" > $MONGO_ORCHESTRATION_HOME/orchestration.config
+
+  "upload release":
+    - command: s3.put
+      params:
+        aws_key: ${aws_key}
+        aws_secret: ${aws_secret}
+        local_file: ${project}.tar.gz
+        remote_file: ${UPLOAD_BUCKET}/${project}-${CURRENT_VERSION}.tar.gz
+        bucket: mciuploads
+        permissions: public-read
+        content_type: ${content_type|application/x-gzip}
+
+  # Upload build artifacts that other tasks may depend on
+  # Note this URL needs to be totally unique, while predictable for the next task
+  # so it can automatically download the artifacts
+  "upload build":
+    # Compress and upload the entire build directory
+    - command: archive.targz_pack
+      params:
+        # Example: mongo_c_driver_releng_9dfb7d741efbca16faa7859b9349d7a942273e43_16_11_08_19_29_52.tar.gz
+        target: "${build_id}.tar.gz"
+        source_dir: ${PROJECT_DIRECTORY}/
+        include:
+          - "./**"
+    - command: s3.put
+      params:
+        aws_key: ${aws_key}
+        aws_secret: ${aws_secret}
+        local_file: ${build_id}.tar.gz
+        # Example: /mciuploads/${UPLOAD_BUCKET}/gcc49/9dfb7d741efbca16faa7859b9349d7a942273e43/debug-compile-nosasl-nossl/mongo_c_driver_releng_9dfb7d741efbca16faa7859b9349d7a942273e43_16_11_08_19_29_52.tar.gz
+        remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${task_name}/${build_id}.tar.gz
+        bucket: mciuploads
+        permissions: public-read
+        content_type: ${content_type|application/x-gzip}
+
+  "fetch build":
+    - command: shell.exec
+      params:
+        continue_on_err: true
+        script: "set -o xtrace && rm -rf ${PROJECT_DIRECTORY}"
+    - command: s3.get
+      params:
+        aws_key: ${aws_key}
+        aws_secret: ${aws_secret}
+        remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${BUILD_NAME}/${build_id}.tar.gz
+        bucket: mciuploads
+        local_file: build.tar.gz
+    - command: shell.exec
+      params:
+        continue_on_err: true
+        # EVG-1105: Use s3.get extract_to: ./
+        script: "set -o xtrace && cd .. && rm -rf ${PROJECT_DIRECTORY} && mkdir ${PROJECT_DIRECTORY}/ && tar xf build.tar.gz -C ${PROJECT_DIRECTORY}/"
+
+  "exec compile script" :
+    - command: shell.exec
+      type: test
+      params:
+        working_dir: "src"
+        script: |
+          ${PREPARE_SHELL}
+          [ -f ${PROJECT_DIRECTORY}/${file} ] && BUILDTOOL="${buildtool}" sh ${PROJECT_DIRECTORY}/${file} || echo "${PROJECT_DIRECTORY}/${file} not available, skipping"
+
+  "exec script" :
+    - command: shell.exec
+      type: test
+      params:
+        working_dir: "src"
+        script: |
+          ${PREPARE_SHELL}
+          [ -f ${PROJECT_DIRECTORY}/${file} ] && sh ${PROJECT_DIRECTORY}/${file} || echo "${PROJECT_DIRECTORY}/${file} not available, skipping"
+
+  "upload docs" :
+    - command: shell.exec
+      params:
+        silent: true
+        script: |
+           export AWS_ACCESS_KEY_ID=${aws_key}
+           export AWS_SECRET_ACCESS_KEY=${aws_secret}
+           aws s3 cp ${PROJECT_DIRECTORY}/doc/html s3://mciuploads/${UPLOAD_BUCKET}/docs/${CURRENT_VERSION} --recursive --acl public-read --region us-east-1
+    - command: s3.put
+      params:
+        aws_key: ${aws_key}
+        aws_secret: ${aws_secret}
+        local_file:  ${PROJECT_DIRECTORY}/doc/html/index.html
+        remote_file: ${UPLOAD_BUCKET}/docs/${CURRENT_VERSION}/index.html
+        bucket: mciuploads
+        permissions: public-read
+        content_type: text/html
+        display_name: "Rendered docs"
+
+  "upload coverage" :
+    - command: shell.exec
+      params:
+        silent: true
+        script: |
+           export AWS_ACCESS_KEY_ID=${aws_key}
+           export AWS_SECRET_ACCESS_KEY=${aws_secret}
+           aws s3 cp ${PROJECT_DIRECTORY}/coverage s3://mciuploads/${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/coverage/ --recursive --acl public-read --region us-east-1
+    - command: s3.put
+      params:
+        aws_key: ${aws_key}
+        aws_secret: ${aws_secret}
+        local_file:  ${PROJECT_DIRECTORY}/coverage/index.html
+        remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/coverage/index.html
+        bucket: mciuploads
+        permissions: public-read
+        content_type: text/html
+        display_name: "Coverage Report"
+
+  "upload scan artifacts" :
+    - command: shell.exec
+      type: test
+      params:
+        script: |
+          cd
+          if find ${PROJECT_DIRECTORY}/scan -name \*.html | grep -q html; then
+            (cd ${PROJECT_DIRECTORY}/scan && find . -name index.html -exec echo "<li><a href='{}'>{}</a></li>" \;) >> scan.html
+          else
+            echo "No issues found" > scan.html
+          fi
+    - command: shell.exec
+      params:
+        silent: true
+        script: |
+           export AWS_ACCESS_KEY_ID=${aws_key}
+           export AWS_SECRET_ACCESS_KEY=${aws_secret}
+           aws s3 cp ${PROJECT_DIRECTORY}/scan s3://mciuploads/${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/scan/ --recursive --acl public-read --region us-east-1
+    - command: s3.put
+      params:
+        aws_key: ${aws_key}
+        aws_secret: ${aws_secret}
+        local_file:  ${PROJECT_DIRECTORY}/scan.html
+        remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/scan/index.html
+        bucket: mciuploads
+        permissions: public-read
+        content_type: text/html
+        display_name: "Scan Build Report"
+
+  "upload mo artifacts":
+    - command: shell.exec
+      params:
+        script: |
+          ${PREPARE_SHELL}
+          find $MONGO_ORCHESTRATION_HOME -name \*.log | xargs tar czf mongodb-logs.tar.gz
+    - command: s3.put
+      params:
+        aws_key: ${aws_key}
+        aws_secret: ${aws_secret}
+        local_file: mongodb-logs.tar.gz
+        remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-mongodb-logs.tar.gz
+        bucket: mciuploads
+        permissions: public-read
+        content_type: ${content_type|application/x-gzip}
+        display_name: "mongodb-logs.tar.gz"
+    - command: s3.put
+      params:
+        aws_key: ${aws_key}
+        aws_secret: ${aws_secret}
+        local_file: ${DRIVERS_TOOLS}/.evergreen/orchestration/server.log
+        remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-orchestration.log
+        bucket: mciuploads
+        permissions: public-read
+        content_type: ${content_type|text/plain}
+        display_name: "orchestration.log"
+
+  "upload working dir":
+    - command: archive.targz_pack
+      params:
+        target: "working-dir.tar.gz"
+        source_dir: ${PROJECT_DIRECTORY}/
+        include:
+          - "./**"
+    - command: s3.put
+      params:
+        aws_key: ${aws_key}
+        aws_secret: ${aws_secret}
+        local_file: working-dir.tar.gz
+        remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/artifacts/${task_id}-${execution}-working-dir.tar.gz
+        bucket: mciuploads
+        permissions: public-read
+        content_type: ${content_type|application/x-gzip}
+        display_name: "working-dir.tar.gz"
+    - command: archive.targz_pack
+      params:
+        target: "drivers-dir.tar.gz"
+        source_dir: ${DRIVERS_TOOLS}
+        include:
+          - "./**"
+        exclude_files:
+          # Windows cannot read the mongod *.lock files because they are locked.
+          - "*.lock"
+    - command: s3.put
+      params:
+        aws_key: ${aws_key}
+        aws_secret: ${aws_secret}
+        local_file: drivers-dir.tar.gz
+        remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/artifacts/${task_id}-${execution}-drivers-dir.tar.gz
+        bucket: mciuploads
+        permissions: public-read
+        content_type: ${content_type|application/x-gzip}
+        display_name: "drivers-dir.tar.gz"
+
+  "upload test results":
+    - command: attach.results
+      params:
+        file_location: "${DRIVERS_TOOLS}/results.json"
+    - command: attach.xunit_results
+      params:
+        file: "src/xunit-results/TEST-*.xml"
+
+  "bootstrap mongo-orchestration":
+    - command: shell.exec
+      params:
+        script: |
+          ${PREPARE_SHELL}
+          MONGODB_VERSION=${VERSION} TOPOLOGY=${TOPOLOGY} AUTH=${AUTH} SSL=${SSL} STORAGE_ENGINE=${STORAGE_ENGINE} sh ${DRIVERS_TOOLS}/.evergreen/run-orchestration.sh
+    # run-orchestration generates expansion file with the MONGODB_URI for the cluster
+    - command: expansions.update
+      params:
+        file: mo-expansion.yml
+
+  "stop mongo-orchestration":
+    - command: shell.exec
+      params:
+        script: |
+          ${PREPARE_SHELL}
+          sh ${DRIVERS_TOOLS}/.evergreen/stop-orchestration.sh
+
+  "run tox":
+    - command: shell.exec
+      type: test
+      params:
+        working_dir: "src"
+        script: |
+          ${PREPARE_SHELL}
+          PYTHON_BINARY=${PYTHON_BINARY} TOX_BINARY=${TOX_BINARY} TOX_ENV=${TOX_ENV} AUTH=${AUTH} SSL=${SSL} sh ${PROJECT_DIRECTORY}/.evergreen/run-tox.sh
+
+  "run enterprise auth tests":
+    - command: shell.exec
+      type: test
+      params:
+        silent: true
+        working_dir: "src"
+        script: |
+          # DO NOT ECHO WITH XTRACE (which PREPARE_SHELL does)
+          PYTHON_BINARY=${PYTHON_BINARY} TOX_ENV=${TOX_ENV} SASL_HOST=${sasl_host} SASL_PORT=${sasl_port} SASL_USER=${sasl_user} SASL_PASS=${sasl_pass} SASL_DB=${sasl_db} PRINCIPAL=${principal} GSSAPI_DB=${gssapi_db} KEYTAB_BASE64=${keytab_base64} PROJECT_DIRECTORY=${PROJECT_DIRECTORY} sh ${PROJECT_DIRECTORY}/.evergreen/run-enterprise-auth-tests.sh
+
+  "cleanup":
+    - command: shell.exec
+      params:
+        script: |
+          ${PREPARE_SHELL}
+          rm -rf $DRIVERS_TOOLS || true
+
+  "fix absolute paths":
+    - command: shell.exec
+      params:
+        script: |
+          ${PREPARE_SHELL}
+          for filename in $(find ${DRIVERS_TOOLS} -name \*.json); do
+            perl -p -i -e "s|ABSOLUTE_PATH_REPLACEMENT_TOKEN|${DRIVERS_TOOLS}|g" $filename
+          done
+
+  "windows fix":
+    - command: shell.exec
+      params:
+        script: |
+          ${PREPARE_SHELL}
+          for i in $(find ${DRIVERS_TOOLS}/.evergreen ${PROJECT_DIRECTORY}/.evergreen -name \*.sh); do
+            cat $i | tr -d '\r' > $i.new
+            mv $i.new $i
+          done
+          # Copy client certificate because symlinks do not work on Windows.
+          cp ${DRIVERS_TOOLS}/.evergreen/x509gen/client.pem ${MONGO_ORCHESTRATION_HOME}/lib/client.pem
+
+  "make files executable":
+    - command: shell.exec
+      params:
+        script: |
+          ${PREPARE_SHELL}
+          for i in $(find ${DRIVERS_TOOLS}/.evergreen ${PROJECT_DIRECTORY}/.evergreen -name \*.sh); do
+            chmod +x $i
+          done
+
+  "init test-results":
+    - command: shell.exec
+      params:
+        script: |
+          ${PREPARE_SHELL}
+          echo '{"results": [{ "status": "FAIL", "test_file": "Build", "log_raw": "No test-results.json found was created"  } ]}' > ${PROJECT_DIRECTORY}/test-results.json
+
+  "install dependencies":
+    - command: shell.exec
+      params:
+        working_dir: "src"
+        script: |
+          ${PREPARE_SHELL}
+          file="${PROJECT_DIRECTORY}/.evergreen/install-dependencies.sh"
+          # Don't use ${file} syntax here because evergreen treats it as an empty expansion.
+          [ -f "$file" ] && sh $file || echo "$file not available, skipping"
+
+pre:
+  - func: "fetch source"
+  - func: "prepare resources"
+  - func: "windows fix"
+  - func: "fix absolute paths"
+  - func: "init test-results"
+  - func: "make files executable"
+  - func: "install dependencies"
+
+post:
+  # Disabled, causing timeouts
+  # - func: "upload working dir"
+  - func: "upload mo artifacts"
+  - func: "upload test results"
+  - func: "stop mongo-orchestration"
+  - func: "cleanup"
+
+tasks:
+
+    # Wildcard task. Do you need to find out what tools are available and where?
+    # Throw it here, and execute this task on all buildvariants
+    - name: getdata
+      commands:
+        - command: shell.exec
+          type: test
+          params:
+            script: |
+               set -o xtrace
+               . ${DRIVERS_TOOLS}/.evergreen/download-mongodb.sh || true
+               get_distro || true
+               echo $DISTRO
+               echo $MARCH
+               echo $OS
+               uname -a || true
+               ls /etc/*release* || true
+               cc --version || true
+               gcc --version || true
+               clang --version || true
+               gcov --version || true
+               lcov --version || true
+               llvm-cov --version || true
+               echo $PATH
+               ls -la /usr/local/Cellar/llvm/*/bin/ || true
+               ls -la /usr/local/Cellar/ || true
+               scan-build --version || true
+               genhtml --version || true
+               valgrind --version || true
+
+# Standard test tasks {{{
+
+    - name: "test-2.6-standalone"
+      tags: ["2.6", "standalone"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "2.6"
+            TOPOLOGY: "server"
+        - func: "run tox"
+
+    - name: "test-2.6-replica_set"
+      tags: ["2.6", "replica_set"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "2.6"
+            TOPOLOGY: "replica_set"
+        - func: "run tox"
+
+    - name: "test-2.6-sharded_cluster"
+      tags: ["2.6", "sharded_cluster"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "2.6"
+            TOPOLOGY: "sharded_cluster"
+        - func: "run tox"
+
+    - name: "test-3.0-standalone"
+      tags: ["3.0", "standalone"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.0"
+            TOPOLOGY: "server"
+        - func: "run tox"
+
+    - name: "test-3.0-replica_set"
+      tags: ["3.0", "replica_set"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.0"
+            TOPOLOGY: "replica_set"
+        - func: "run tox"
+
+    - name: "test-3.0-sharded_cluster"
+      tags: ["3.0", "sharded_cluster"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.0"
+            TOPOLOGY: "sharded_cluster"
+        - func: "run tox"
+
+    - name: "test-3.2-standalone"
+      tags: ["3.2", "standalone"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.2"
+            TOPOLOGY: "server"
+        - func: "run tox"
+
+    - name: "test-3.2-replica_set"
+      tags: ["3.2", "replica_set"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.2"
+            TOPOLOGY: "replica_set"
+        - func: "run tox"
+
+    - name: "test-3.2-sharded_cluster"
+      tags: ["3.2", "sharded_cluster"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.2"
+            TOPOLOGY: "sharded_cluster"
+        - func: "run tox"
+
+    - name: "test-3.4-standalone"
+      tags: ["3.4", "standalone"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.4"
+            TOPOLOGY: "server"
+        - func: "run tox"
+
+    - name: "test-3.4-replica_set"
+      tags: ["3.4", "replica_set"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.4"
+            TOPOLOGY: "replica_set"
+        - func: "run tox"
+
+    - name: "test-3.4-sharded_cluster"
+      tags: ["3.4", "sharded_cluster"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.4"
+            TOPOLOGY: "sharded_cluster"
+        - func: "run tox"
+
+    - name: "test-3.6-standalone"
+      tags: ["3.6", "standalone"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.6"
+            TOPOLOGY: "server"
+        - func: "run tox"
+
+    - name: "test-3.6-replica_set"
+      tags: ["3.6", "replica_set"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.6"
+            TOPOLOGY: "replica_set"
+        - func: "run tox"
+
+    - name: "test-3.6-sharded_cluster"
+      tags: ["3.6", "sharded_cluster"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.6"
+            TOPOLOGY: "sharded_cluster"
+        - func: "run tox"
+
+    - name: "test-latest-standalone"
+      tags: ["latest", "standalone"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "latest"
+            TOPOLOGY: "server"
+        - func: "run tox"
+
+    - name: "test-latest-replica_set"
+      tags: ["latest", "replica_set"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "latest"
+            TOPOLOGY: "replica_set"
+        - func: "run tox"
+
+    - name: "test-latest-sharded_cluster"
+      tags: ["latest", "sharded_cluster"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "latest"
+            TOPOLOGY: "sharded_cluster"
+        - func: "run tox"
+
+    - name: "test-enterprise-auth"
+      tags: ["enterprise-auth"]
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "latest"
+            TOPOLOGY: "server"
+        - func: "run enterprise auth tests"
+
+    - name: "docs"
+      commands:
+        - func: "run tox"
+          vars:
+             TOX_ENV: py3-sphinx-docs
+
+    - name: "doctest"
+      commands:
+        - func: "bootstrap mongo-orchestration"
+          vars:
+            VERSION: "3.6"
+            TOPOLOGY: "server"
+        - func: "run tox"
+          vars:
+             TOX_ENV: py3-sphinx-doctest
+
+# }}}
+
+
+axes:
+  - id: versions
+    display_name: MongoDB Version
+    values:
+      - id: "latest"
+        display_name: "latest"
+        variables:
+           VERSION: "latest"
+      - id: "3.6"
+        display_name: "3.6"
+        variables:
+           VERSION: "3.6"
+      - id: "3.4"
+        display_name: "3.4"
+        variables:
+           VERSION: "3.4"
+      - id: "3.2"
+        display_name: "3.2"
+        variables:
+           VERSION: "3.2"
+      - id: "3.0"
+        display_name: "3.0"
+        variables:
+           VERSION: "3.0"
+      - id: "2.6"
+        display_name: "2.6"
+        variables:
+           VERSION: "2.6"
+
+  - id: topology
+    display_name: Topology
+    values:
+      - id: standalone
+        display_name: Standalone
+        variables:
+           TOPOLOGY: "server"
+      - id: replicaset
+        display_name: Replica Set
+        variables:
+           TOPOLOGY: "replica_set"
+      - id: sharded-cluster
+        display_name: Sharded Cluster
+        variables:
+           TOPOLOGY: "sharded_cluster"
+
+  - id: ssl
+    display_name: SSL
+    values:
+      - id: ssl
+        display_name: SSL
+        variables:
+           SSL: "ssl"
+           AUTH: "auth"
+      - id: nossl
+        display_name: NoSSL
+        variables:
+           SSL: "nossl"
+           AUTH: "noauth"
+
+  - id: tox-env
+    display_name: "Tox Env"
+    values:
+      # TODO: avoid repetition?
+      - id: "tornado4-py27"
+        variables:
+           TOX_ENV: "tornado4-py27"
+           PYTHON_BINARY: "/opt/python/2.7/bin/python"
+      - id: "tornado4-pypy"
+        variables:
+           TOX_ENV: "tornado4-pypy"
+           PYTHON_BINARY: "/opt/python/pypy/bin/pypy"
+      - id: "tornado4-pypy3"
+        variables:
+           TOX_ENV: "tornado4-pypy3"
+           PYTHON_BINARY: "/opt/python/pypy3.5/bin/pypy3"
+      - id: "tornado4-py34"
+        variables:
+           TOX_ENV: "tornado4-py34"
+           PYTHON_BINARY: "/opt/python/3.4/bin/python3"
+      - id: "tornado4-py35"
+        variables:
+           TOX_ENV: "tornado4-py35"
+           PYTHON_BINARY: "/opt/python/3.5/bin/python3"
+      - id: "tornado4-py36"
+        variables:
+           TOX_ENV: "tornado4-py36"
+           PYTHON_BINARY: "/opt/python/3.6/bin/python3"
+      - id: "tornado_git-py27"
+        variables:
+           TOX_ENV: "tornado_git-py27"
+           PYTHON_BINARY: "/opt/python/2.7/bin/python"
+      - id: "tornado_git-py34"
+        variables:
+           TOX_ENV: "tornado_git-py34"
+           PYTHON_BINARY: "/opt/python/3.4/bin/python3"
+      - id: "tornado_git-py35"
+        variables:
+           TOX_ENV: "tornado_git-py35"
+           PYTHON_BINARY: "/opt/python/3.5/bin/python3"
+      - id: "tornado_git-py36"
+        variables:
+           TOX_ENV: "tornado_git-py36"
+           PYTHON_BINARY: "/opt/python/3.6/bin/python3"
+      - id: "asyncio-py34"
+        variables:
+           TOX_ENV: "asyncio-py34"
+           PYTHON_BINARY: "/opt/python/3.4/bin/python3"
+      - id: "asyncio-py35"
+        variables:
+           TOX_ENV: "asyncio-py35"
+           PYTHON_BINARY: "/opt/python/3.5/bin/python3"
+      - id: "asyncio-py36"
+        variables:
+           TOX_ENV: "asyncio-py36"
+           PYTHON_BINARY: "/opt/python/3.6/bin/python3"
+      - id: "py3-pymongo-master"
+        variables:
+           TOX_ENV: "py3-pymongo-master"
+           PYTHON_BINARY: "/opt/python/3.6/bin/python3"
+      - id: "synchro"
+        variables:
+           TOX_ENV: "synchro"
+           # The synchro tests are configured for py27 in tox.ini.
+           PYTHON_BINARY: "/opt/python/2.7/bin/python"
+
+  - id: tox-env-osx
+    display_name: "Tox Env OSX"
+    values:
+      - id: "tornado4-py27"
+        variables:
+           TOX_ENV: "tornado4-py27"
+           PYTHON_BINARY: "python2.7"
+      - id: "tornado_git-py27"
+        variables:
+           TOX_ENV: "tornado_git-py27"
+           PYTHON_BINARY: "python2.7"
+# TODO: Reenable once we've diagnosed why this hangs, MOTOR-178
+# Also reenable the exclude_spec in the "test-mongodb-versions-macos" matrix
+#      - id: "synchro"
+#        variables:
+#           TOX_ENV: "synchro"
+#           # The synchro tests are configured for py27 in tox.ini.
+#           PYTHON_BINARY: "python2.7"
+
+  - id: os
+    display_name: "Operating System"
+    values:
+      - id: "rhel"
+        display_name: "RHEL 6.2"
+        run_on: "rhel62-small"
+        variables:
+           TOX_BINARY: "/opt/python/3.6/bin/tox"
+      - id: "osx"
+        display_name: "OSX 10.10"
+        run_on: "macos-1012"
+        variables:
+           TOX_BINARY: "tox"
+
+buildvariants:
+
+- matrix_name: "test-mongodb-versions"
+  matrix_spec: {"os": "rhel", "tox-env": "*", ssl: "*"}
+  exclude_spec:
+   # TODO: synchro needs PyMongo master's updated SSL test certs,
+   # which may require Motor test suite changes.
+   - os: "*"
+     tox-env: ["synchro"]
+     ssl: "ssl"
+  display_name: "${os} ${tox-env} ${ssl}"
+  tasks:
+     - ".latest"
+     - ".3.6"
+     - ".3.4"
+     - ".3.2"
+     - ".3.0"
+     - ".2.6"
+
+- matrix_name: "enterprise-auth"
+  matrix_spec: {"tox-env": ["synchro"], ssl: "ssl"}
+  display_name: "Enterprise Auth"
+  run_on:
+     - rhel62-small
+  tasks:
+     - name: "test-enterprise-auth"
+
+- name: "docs"
+  display_name: "Docs - Build"
+  run_on:
+     - rhel62-small
+  expansions:
+     TOX_ENV: "py3-sphinx-docs"
+     TOX_BINARY: "/opt/python/3.6/bin/tox"
+     PYTHON_BINARY: "/opt/python/3.6/bin/python3"
+  tasks:
+     - name: "docs"
+
+- name: "doctests"
+  display_name: "Docs - Test"
+  run_on:
+     - rhel62-small
+  expansions:
+     TOX_ENV: "py3-sphinx-doctest"
+     TOX_BINARY: "/opt/python/3.6/bin/tox"
+     PYTHON_BINARY: "/opt/python/3.6/bin/python3"
+  tasks:
+     - name: "doctest"
+
+- matrix_name: "test-mongodb-versions-macos"
+  matrix_spec: {"os": "osx", "tox-env-osx": "*", ssl: "*"}
+#  exclude_spec:
+#   # TODO: synchro needs PyMongo master's updated SSL test certs,
+#   # which may require Motor test suite changes.
+#   - os: "*"
+#     tox-env-osx: ["synchro"]
+#     ssl: "ssl"
+  display_name: "${os} ${tox-env-osx} ${ssl}"
+  tasks:
+     - ".latest"
+     - ".3.6"
+     - ".3.4"
+     - ".3.2"
+  rules:
+     # There are no builds of MongoDB <= 3.0 with SSL for macOS
+     - if:
+         os: "*"
+         tox-env-osx: "*"
+         ssl: "nossl"
+       then:
+         add_tasks:
+            - ".3.0"
+            - ".2.6"
diff --git a/.evergreen/install-dependencies.sh b/.evergreen/install-dependencies.sh
new file mode 100644
index 0000000..8318d74
--- /dev/null
+++ b/.evergreen/install-dependencies.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+set -o xtrace   # Write all commands first to stderr
+set -o errexit  # Exit the script with error if any of the commands fail
+
+# Copy Motor's test certificates over driver-evergreen-tools'
+cp ${PROJECT_DIRECTORY}/test/certificates/* ${DRIVERS_TOOLS}/.evergreen/x509gen/
+
+# Replace MongoOrchestration's client certificate.
+cp ${PROJECT_DIRECTORY}/test/certificates/client.pem ${MONGO_ORCHESTRATION_HOME}/lib/client.pem
+
+if [ -w /etc/hosts ]; then
+  SUDO=""
+else
+  SUDO="sudo"
+fi
+
+# Add 'server' and 'hostname_not_in_cert' as a hostnames
+echo "127.0.0.1 server" | $SUDO tee -a /etc/hosts
+echo "127.0.0.1 hostname_not_in_cert" | $SUDO tee -a /etc/hosts
diff --git a/.evergreen/run-enterprise-auth-tests.sh b/.evergreen/run-enterprise-auth-tests.sh
new file mode 100644
index 0000000..dd95671
--- /dev/null
+++ b/.evergreen/run-enterprise-auth-tests.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+# Don't trace to avoid secrets showing up in the logs
+set -o errexit
... 6762 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-motor.git



More information about the Python-modules-commits mailing list