| #!/usr/bin/env python |
| # |
| # backport_tests_pl.py: Test backport.pl |
| # |
| # Subversion is a tool for revision control. |
| # See http://subversion.apache.org for more information. |
| # |
| # ==================================================================== |
| # 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. |
| ###################################################################### |
| |
| import os |
| |
| BACKPORT_PL = os.path.abspath(os.path.join(os.path.dirname(__file__), |
| 'backport.pl')) |
| |
| def run_backport(sbox, error_expected=False, extra_env=[]): |
| """Run backport.pl. EXTRA_ENV is a list of key=value pairs (str) to set in |
| the child's environment. ERROR_EXPECTED is propagated to run_command().""" |
| # TODO: if the test is run in verbose mode, pass DEBUG=1 in the environment, |
| # and pass error_expected=True to run_command() to not croak on |
| # stderr output from the child (because it uses 'sh -x'). |
| args = [ |
| '/usr/bin/env', |
| 'SVN=' + svntest.main.svn_binary, |
| 'YES=1', 'MAY_COMMIT=1', 'AVAILID=jrandom', |
| ] + list(extra_env) + [ |
| 'perl', BACKPORT_PL, |
| ] |
| with chdir(sbox.ospath('branch')): |
| return svntest.main.run_command(args[0], error_expected, False, *(args[1:])) |
| |
| def run_conflicter(sbox, error_expected=False): |
| "Run the conflicts detector. See run_backport() for arguments." |
| return run_backport(sbox, error_expected, ["MAY_COMMIT=0"]) |
| |
| |
| execfile("backport_tests.py") |