;       Licensed to the Apache Software Foundation (ASF) under one
;       or more contributor license agreements.  See the NOTICE file
;       distributed with this work for additional information
;       regarding copyright ownership.  The ASF licenses this file
;       to you under the Apache License, Version 2.0 (the
;       "License"); you may not use this file except in compliance
;       with the License.  You may obtain a copy of the License at
;
;         http://www.apache.org/licenses/LICENSE-2.0
;
;       Unless required by applicable law or agreed to in writing,
;       software distributed under the License is distributed on an
;       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
;       KIND, either express or implied.  See the License for the
;       specific language governing permissions and limitations
;       under the License.

# this is helpful for running individual nosetests like:
#       tox -q allura.tests.functional.test_admin:TestInstallableTools.test_installable_tools_response
# add -p2 if its safe to run in parallel (doesn't use filesystem path like a repo)
# for full test suite runs, use ./run_tests within the virtualenv

[tox]
envlist = py{37}
# since we don't have one top-level setup.py:
skipsdist = True

[testenv]
deps = -rrequirements.txt
# can comment out this line after venvs have been built the first time, for faster runs:
commands_pre = ./rebuild-all.bash
commands = nosetests {posargs}
