Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(520)

Side by Side Diff: tests/gclient_scm_test.py

Issue 505007: gclient: Add better error reporting when path is not a git repo. (Closed)
Patch Set: Added a test Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gclient_scm.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # 2 #
3 # Copyright 2008-2009 Google Inc. All Rights Reserved. 3 # Copyright 2008-2009 Google Inc. All Rights Reserved.
4 # 4 #
5 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License. 6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at 7 # You may obtain a copy of the License at
8 # 8 #
9 # http://www.apache.org/licenses/LICENSE-2.0 9 # http://www.apache.org/licenses/LICENSE-2.0
10 # 10 #
11 # Unless required by applicable law or agreed to in writing, software 11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS, 12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and 14 # See the License for the specific language governing permissions and
15 # limitations under the License. 15 # limitations under the License.
16 16
17 """Unit tests for gclient_scm.py.""" 17 """Unit tests for gclient_scm.py."""
18 18
19 import os
19 import shutil 20 import shutil
20 # Import it before super_mox to keep a valid reference. 21 # Import it before super_mox to keep a valid reference.
21 from subprocess import Popen, PIPE, STDOUT 22 from subprocess import Popen, PIPE, STDOUT
22 import tempfile 23 import tempfile
23 24
24 import gclient_scm 25 import gclient_scm
25 from gclient_test import BaseTestCase as GCBaseTestCase 26 from gclient_test import BaseTestCase as GCBaseTestCase
26 from super_mox import mox, SuperMoxBaseTestBase 27 from super_mox import mox, SuperMoxBaseTestBase
27 28
28 29
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after
534 'See man git-rebase for details.\n' 535 'See man git-rebase for details.\n'
535 self.assertRaisesError(exception, scm.update, options, (), []) 536 self.assertRaisesError(exception, scm.update, options, (), [])
536 exception = \ 537 exception = \
537 '\n____ .\n' \ 538 '\n____ .\n' \
538 '\tAlready in a conflict, i.e. (no branch).\n' \ 539 '\tAlready in a conflict, i.e. (no branch).\n' \
539 '\tFix the conflict and run gclient again.\n' \ 540 '\tFix the conflict and run gclient again.\n' \
540 '\tOr to abort run:\n\t\tgit-rebase --abort\n' \ 541 '\tOr to abort run:\n\t\tgit-rebase --abort\n' \
541 '\tSee man git-rebase for details.\n' 542 '\tSee man git-rebase for details.\n'
542 self.assertRaisesError(exception, scm.update, options, (), []) 543 self.assertRaisesError(exception, scm.update, options, (), [])
543 544
545 def testUpdateNotGit(self):
546 if not self.enabled:
547 return
548 options = self.Options()
549 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir,
550 relpath=self.relpath)
551 git_path = gclient_scm.os.path.join(self.base_path, '.git')
552 os.rename(git_path, git_path + 'foo')
553 exception = \
554 '\n____ .\n' \
555 '\tPath is not a git repo. No .git dir.\n' \
556 '\tTo resolve:\n' \
557 '\t\trm -rf .\n' \
558 '\tAnd run gclient sync again\n'
559 self.assertRaisesError(exception, scm.update, options, (), [])
560
544 def testRevinfo(self): 561 def testRevinfo(self):
545 if not self.enabled: 562 if not self.enabled:
546 return 563 return
547 options = self.Options() 564 options = self.Options()
548 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir, 565 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir,
549 relpath=self.relpath) 566 relpath=self.relpath)
550 rev_info = scm.revinfo(options, (), None) 567 rev_info = scm.revinfo(options, (), None)
551 self.assertEquals(rev_info, '069c602044c5388d2d15c3f875b057c852003458') 568 self.assertEquals(rev_info, '069c602044c5388d2d15c3f875b057c852003458')
552 569
553 570
554 if __name__ == '__main__': 571 if __name__ == '__main__':
555 import unittest 572 import unittest
556 unittest.main() 573 unittest.main()
557 574
558 # vim: ts=2:sw=2:tw=80:et: 575 # vim: ts=2:sw=2:tw=80:et:
OLDNEW
« no previous file with comments | « gclient_scm.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698