fune/python/mozversioncontrol/test/test_working_directory.py
Andrew Halberstadt 5935acc8f0 Bug 1475649 - [mozversioncontrol] Make vcs.working_directory_clean() ignore untracked files by default r=jgraham
The doc string for the "working_directory_clean" function states:
> By default, untracked and ignored files are not considered.

But the git implementation for this function used to run:
git status --porcelain

Which *does* consider untracked files by default. Instead, we need to run:
git status --porcelain --untracked-files=no

Differential Revision: https://phabricator.services.mozilla.com/D2134

--HG--
extra : moz-landing-system : lando
2018-07-13 20:54:08 +00:00

48 lines
1.1 KiB
Python

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from __future__ import absolute_import
import mozunit
from mozversioncontrol import get_repository_object
STEPS = {
'hg': [
"""
echo "bar" >> bar
echo "baz" > baz
hg rm foo
""",
"""
hg commit -m "Remove foo; modify bar; touch baz (but don't add it)"
""",
],
'git': [
"""
echo "bar" >> bar
echo "baz" > baz
git rm foo
""",
"""
git commit -am "Remove foo; modify bar; touch baz (but don't add it)"
"""
]
}
def test_working_directory_clean_untracked_files(repo):
vcs = get_repository_object(repo.strpath)
assert vcs.working_directory_clean()
next(repo.step)
assert not vcs.working_directory_clean()
next(repo.step)
assert vcs.working_directory_clean()
assert not vcs.working_directory_clean(untracked=True)
if __name__ == '__main__':
mozunit.main()