Skip to content

Commit a25007b

Browse files
author
Jon Wayne Parrott
committed
Unifiy app engine and python2.7 tests.
Change-Id: Ie0df6747050035b2ef5f937951d5ff955073e6d4
1 parent d062c2e commit a25007b

File tree

2 files changed

+28
-11
lines changed

2 files changed

+28
-11
lines changed

appengine/standard/conftest.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15+
import os
16+
17+
import six
18+
19+
1520
# Import py.test hooks and fixtures for App Engine
1621
from gcp.testing.appengine import (
1722
login,
@@ -25,3 +30,13 @@
2530
(pytest_runtest_call)
2631
(run_tasks)
2732
(testbed)
33+
34+
35+
def pytest_ignore_collect(path, config):
36+
"""Skip App Engine tests in python 3 and if no SDK is available."""
37+
if 'appengine/standard' in str(path):
38+
if six.PY3:
39+
return True
40+
if 'GAE_SDK_PATH' not in os.environ:
41+
return True
42+
return False

nox.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,11 @@ def filter_samples(sample_dirs, changed_files):
121121
def setup_appengine(session):
122122
"""Installs the App Engine SDK."""
123123
# Install the app engine sdk and setup import paths.
124+
if session.interpreter.startswith('python3'):
125+
return
126+
124127
gae_root = os.environ.get('GAE_ROOT', tempfile.gettempdir())
125-
session.env['PYTHONPATH'] = os.path.join(gae_root, 'google_appengine')
128+
session.env['GAE_SDK_PATH'] = os.path.join(gae_root, 'google_appengine')
126129
session.run('gcprepotools', 'download-appengine-sdk', gae_root)
127130

128131
# Create a lib directory to prevent the GAE vendor library from
@@ -132,7 +135,7 @@ def setup_appengine(session):
132135

133136

134137
def run_tests_in_sesssion(
135-
session, interpreter, sample_directories, use_appengine=False,
138+
session, interpreter, sample_directories, use_appengine=True,
136139
skip_flaky=False, changed_only=False):
137140
"""This is the main function for executing tests.
138141
@@ -189,13 +192,12 @@ def session_tests(session, interpreter):
189192
"""Runs tests for all non-gae standard samples."""
190193
# session.posargs is any leftover arguments from the command line,
191194
# which allows users to run a particular test instead of all of them.
192-
if session.posargs:
193-
sample_directories = session.posargs
194-
elif sample_directories is None:
195-
sample_directories = collect_sample_dirs(
196-
'.', set('./appengine/standard'))
195+
sample_directories = session.posargs
196+
if not sample_directories:
197+
sample_directories = collect_sample_dirs('.')
197198

198-
run_tests_in_sesssion(session, interpreter, sample_directories)
199+
run_tests_in_sesssion(
200+
session, interpreter, sample_directories, skip_flaky=True)
199201

200202

201203
def session_gae(session):
@@ -212,12 +214,12 @@ def session_travis(session, subsession):
212214
sample_directories = collect_sample_dirs(
213215
'.', set('./appengine/standard'))
214216
run_tests_in_sesssion(
215-
session, 'python3.4', sample_directories, skip_flaky=True,
216-
changed_only=True)
217+
session, 'python3.4', sample_directories,
218+
skip_flaky=True, changed_only=True)
217219
else:
218220
sample_directories = collect_sample_dirs('appengine/standard')
219221
run_tests_in_sesssion(
220-
session, 'python2.7', sample_directories, use_appengine=True,
222+
session, 'python2.7', sample_directories,
221223
skip_flaky=True, changed_only=True)
222224

223225

0 commit comments

Comments
 (0)