diff --git a/testing_support/local_rietveld.py b/testing_support/local_rietveld.py index d394913e7..c240de5ee 100755 --- a/testing_support/local_rietveld.py +++ b/testing_support/local_rietveld.py @@ -58,6 +58,8 @@ class LocalRietveld(object): # TODO(maruel): This should be in /tmp but that would mean having to fetch # everytime. This test is already annoyingly slow. self.rietveld = os.path.join(self.base_dir, '_rietveld') + self.rietveld_app = os.path.join( + self.rietveld, 'appengine', 'chromium_rietveld') self.test_server = None self.port = None self.tempdir = None @@ -81,25 +83,40 @@ class LocalRietveld(object): if os.path.isdir(os.path.join(self.rietveld, '.svn')): # Left over from subversion. Delete it. + print('Deleting deprecated subversion rietveld files...') + shutil.rmtree(self.rietveld) + + if os.path.isdir(os.path.join(self.rietveld, '.hg')): + # Left over from mercurial. Delete it. + print('Deleting deprecated mercurial rietveld files...') shutil.rmtree(self.rietveld) # Second, checkout rietveld if not available. - rev = '9349cab9a3bb' if not os.path.isdir(self.rietveld): print('Checking out rietveld...') try: + subprocess2.check_call(['git', 'init', self.rietveld]) + subprocess2.check_call( + ['git', 'remote', 'add', '-f', 'origin', + 'https://chromium.googlesource.com/infra/infra.git'], + cwd=self.rietveld) subprocess2.check_call( - [ 'hg', 'clone', '-q', '-u', rev, '-r', rev, - 'https://code.google.com/p/rietveld/', self.rietveld]) + ['git', 'config', 'core.sparseCheckout', 'true'], + cwd=self.rietveld) + with file(os.path.join(self.rietveld, '.git/info/sparse-checkout'), + 'w') as sparse_file: + sparse_file.write('appengine/chromium_rietveld') + subprocess2.check_call( + ['git', 'pull', 'origin', 'master'], + cwd=self.rietveld) except (OSError, subprocess2.CalledProcessError), e: - raise Failure( - 'Failed to checkout rietveld. Do you have mercurial installed?\n' - '%s' % e) + raise Failure('Failed to clone rietveld. \n%s' % e) else: print('Syncing rietveld...') try: subprocess2.check_call( - ['hg', 'co', '-q', '-C', rev], cwd=self.rietveld) + ['git', 'pull', 'origin', 'master'], + cwd=self.rietveld) except (OSError, subprocess2.CalledProcessError), e: raise Failure('Failed to sync rietveld\n%s' % e) @@ -117,7 +134,7 @@ class LocalRietveld(object): cmd = [ sys.executable, self.dev_app, - '.', + './app.yaml', # Explicitly specify file to avoid bringing up backends. '--port', str(self.port), '--admin_port', str(admin_port), '--storage', self.tempdir, @@ -133,7 +150,7 @@ class LocalRietveld(object): cmd.extend(('-a', '0.0.0.0')) logging.info(' '.join(cmd)) self.test_server = subprocess2.Popen( - cmd, stdout=stdout, stderr=stderr, cwd=self.rietveld) + cmd, stdout=stdout, stderr=stderr, cwd=self.rietveld_app) # Loop until port 127.0.0.1:port opens or the process dies. while not test_port(self.port): self.test_server.poll()