tests/heredoctest.py
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Wed, 16 Apr 2014 00:37:24 +0900
changeset 21042 32b3331f18eb
parent 15434 5635a4017061
child 22564 9599e86159ac
permissions -rw-r--r--
largefiles: centralize the logic to get outgoing largefiles Before this patch, "overrides.getoutgoinglfiles()" (called by "overrideoutgoing()" and "overridesummary()") and "lfilesrepo.push()" implement similar logic to get outgoing largefiles separately. This patch centralizes the logic to get outgoing largefiles in "lfutil.getlfilestoupload()". "lfutil.getlfilestoupload()" takes "addfunc" argument, because each callers need different information (and it is useful for enhancement in the future). - "overrides.getoutgoinglfiles()" needs only filenames - "lfilesrepo.push()" needs only hashes of largefiles
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15434
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
     1
import sys
15247
3cd1605e9d8e tests: remove temp doctest file when finished running it
Idan Kamara <idankk86@gmail.com>
parents: 15235
diff changeset
     2
15434
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
     3
globalvars = {}
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
     4
localvars = {}
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
     5
lines = sys.stdin.readlines()
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
     6
while lines:
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
     7
    l = lines.pop(0)
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
     8
    if l.startswith('SALT'):
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
     9
        print l[:-1]
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
    10
    elif l.startswith('>>> '):
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
    11
        snippet = l[4:]
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
    12
        while lines and lines[0].startswith('... '):
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
    13
            l = lines.pop(0)
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
    14
            snippet += "\n" + l[4:]
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
    15
        c = compile(snippet, '<heredoc>', 'single')
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
    16
        try:
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
    17
            exec c in globalvars, localvars
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
    18
        except Exception, inst:
5635a4017061 run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents: 15398
diff changeset
    19
            print repr(inst)