Opened 8 years ago

Last modified 8 years ago

#10150 new Bugs

Regression testing can fail if you've modified files

Reported by: Niklas Angare <li51ckf02@…> Owned by: René Rivera
Milestone: To Be Determined Component: Regression Testing USE GITHUB
Version: Boost Development Trunk Severity: Problem
Keywords: Cc:

Description

regression.py fails if you have local changes to files that are modified by a new commit, at least if they're under tools_bb. I had a patch_boost that had modified tools_bb/src/tools/testing.jam on the previous run when this occured.

Here's the output:

# Getting Boost.Build v2...
# Executing GIT command: /extra/boost_regression/ARM/tools_bb> git remote "set-branches" "--add" "origin" "develop"
# Executing GIT command: /extra/boost_regression/ARM/tools_bb> git pull "--recurse-submodules"
error: Your local changes to the following files would be overwritten by merge:
        src/tools/testing.jam
Please, commit your changes or stash them before you can merge.
Aborting
Updating 59fd3b6..708ceaf

Here's what git status showed:

On branch develop
Your branch is behind 'origin/develop' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   src/tools/testing.jam

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        src/tools/testing.jam.rej

no changes added to commit (use "git add" and/or "git commit -a")

Change History (1)

comment:1 by Niklas Angare <li51ckf02@…>, 8 years ago

A similar problem occurs if you alternate between testing master and develop and have patches for files under boost_root:

# Executing GIT command: /extra/boost_regression/x86/boost_root> git submodule "update" "--init"
Submodule path 'libs/mpl': checked out '1169c268564df2792cdaf18e61bb92b7f76fc851'
# Executing GIT command: /extra/boost_regression/x86/boost_root> git checkout "master"
error: Your local changes to the following files would be overwritten by checkout:
        boostcpp.jam
Please, commit your changes or stash them before you can switch branches.
Aborting
Traceback (most recent call last):
  File "/extra/boost_regression/x86/run.py", line 83, in <module>
    runner(root)
  File "/extra/boost_regression/x86/tools_regression_src/regression.py", line 264, in __init__
    self.main()
  File "/extra/boost_regression/x86/tools_regression_src/regression.py", line 650, in main
    getattr(self,action_m)()
  File "/extra/boost_regression/x86/tools_regression_src/regression.py", line 588, in command_regression
    self.command_get_tools()
  File "/extra/boost_regression/x86/tools_regression_src/regression.py", line 314, in command_get_tools
    self.git_branch())
  File "/extra/boost_regression/x86/tools_regression_src/regression.py", line 915, in git_checkout
    self.git_command( 'checkout', branch)
  File "/extra/boost_regression/x86/tools_regression_src/regression.py", line 899, in git_command
    raise Exception( 'GIT command "%s" failed with code %d' % (git_cli, rc) )
Exception: GIT command "git checkout "master"" failed with code 256

Git status shows this:

On branch develop
Your branch is up-to-date with 'origin/develop'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)

        modified:   boostcpp.jam
        modified:   libs/interprocess (modified content)

Untracked files:
...
Note: See TracTickets for help on using tickets.