Ronny Pfannschmidt avatar Ronny Pfannschmidt committed 07dbafd

add a test for the inprocess status dirstate race

Comments (0)

Files changed (2)

tests/test-status-inprocess.py

+#!/usr/bin/python
+import os
+from mercurial.ui import ui
+from mercurial.localrepo import localrepository
+from mercurial.commands import add, commit, status
+
+u = ui()
+
+print '% creating repo'
+repo = localrepository(u, '.', create=True)
+
+f = open('test.py', 'w')
+try:
+    f.write('foo\n')
+finally:
+    f.close
+
+print '% add and commit'
+add(u, repo, 'test.py')
+commit(u, repo, message='*')
+status(u, repo, clean=True)
+
+
+print '% change'
+f = open('test.py', 'w')
+try:
+    f.write('bar\n')
+finally:
+    f.close()
+
+# this would return clean instead of changed before the fix
+status(u, repo, clean=True, modified=True)

tests/test-status-inprocess.py.out

+% creating repo
+% add and commit
+C test.py
+% change
+M test.py
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.