54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
""" create a py/test2 hierarchy copied from py/test. 
 | 
						|
    useful for refactoring py.test itself and still 
 | 
						|
    use py.test itself. 
 | 
						|
"""
 | 
						|
 | 
						|
from _findpy import py
 | 
						|
 | 
						|
def change_init(initfile):
 | 
						|
    l = []
 | 
						|
    for line in initfile.readlines():
 | 
						|
        newline = line 
 | 
						|
        l.append(line) 
 | 
						|
        newline = newline.replace("'test.", "'test2.") 
 | 
						|
        newline = newline.replace("'./test/", "'./test2/")
 | 
						|
        if newline != line: 
 | 
						|
            l.append(newline) 
 | 
						|
    initfile.write("".join(l))
 | 
						|
 | 
						|
def perform_replace(directory):
 | 
						|
    for x in directory.visit("*.py", 
 | 
						|
                             rec=lambda x: x.check(dir=1, dotfile=0)):
 | 
						|
        s = n = x.read()
 | 
						|
        n = n.replace("py.test", "py.test2")
 | 
						|
        n = n.replace("py.__.test.", "py.__.test2.")
 | 
						|
        n = n.replace("py.__.test ", "py.__.test2 ")
 | 
						|
        if s != n:
 | 
						|
            print "writing modified", x
 | 
						|
            x.write(n) 
 | 
						|
 | 
						|
def cmd(command):
 | 
						|
    print "* executing:", command
 | 
						|
    return py.process.cmdexec(command) 
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    basedir = py.path.local(py.__file__).dirpath()
 | 
						|
    #st = py.path.svnwc(basedir).status() 
 | 
						|
    #assert not st.modified
 | 
						|
    olddir = basedir.chdir()
 | 
						|
    try:
 | 
						|
        initfile = basedir.join("__init__.py")
 | 
						|
        cmd("svn revert %s" % initfile)
 | 
						|
        change_init(initfile) 
 | 
						|
 | 
						|
        test2dir = basedir.join("test2")
 | 
						|
        cmd("svn revert -R test2") 
 | 
						|
        cmd("rm -rf test2") 
 | 
						|
        cmd("svn cp test test2") 
 | 
						|
        perform_replace(test2dir)
 | 
						|
 | 
						|
    finally:
 | 
						|
        olddir.chdir()
 | 
						|
    
 | 
						|
    
 |