| # Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file |
| # for details. All rights reserved. Use of this source code is governed by a |
| # BSD-style license that can be found in the LICENSE file. |
| |
| from recipe_engine import post_process |
| |
| from PB.recipe_modules.dart.build.build import Build |
| |
| DEPS = [ |
| 'build', |
| 'recipe_engine/file', |
| 'recipe_engine/properties', |
| 'recipe_engine/step', |
| ] |
| |
| |
| def RunSteps(api): |
| api.step('python', [api.build.python]) |
| api.build.python |
| |
| |
| def _check_python(api, python): |
| return api.post_process(post_process.StepCommandContains, 'python', [python]) |
| |
| |
| def GenTests(api): |
| yield api.test( |
| 'python', |
| _check_python(api, 'python'), |
| api.post_process(post_process.StatusSuccess), |
| ) |
| |
| yield api.test( |
| 'detect-python3', |
| api.step_data( |
| 'detect python version', |
| api.file.read_text(text_content='''#!/usr/bin/env python3 |
| # |
| ''')), |
| _check_python(api, 'python3'), |
| api.post_process(post_process.StatusSuccess), |
| ) |
| |
| yield api.test( |
| 'force-python', |
| api.step_data( |
| 'detect python version', |
| api.file.read_text(text_content='''#!/usr/bin/env python3 |
| # |
| ''')), |
| api.properties(python_version='python'), |
| _check_python(api, 'python'), |
| api.post_process(post_process.StatusSuccess), |
| ) |
| |
| yield api.test( |
| 'force-python-wrong-python', |
| api.properties(python_version='python4'), |
| api.expect_exception('AssertionError'), |
| api.post_process(post_process.StatusException), |
| ) |