~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/script.py

  • Committer: John Arbash Meinel
  • Date: 2010-08-10 20:03:44 UTC
  • mto: This revision was merged to the branch mainline in revision 5376.
  • Revision ID: john@arbash-meinel.com-20100810200344-6muerwvkafqu7w47
Rework things a bit so the logic can be shared.

It turns out that some of the peak memory is actually during the inventory
to string to bundle translations. So re-use the refcount logic there.
This actually does show a decrease in peak memory.
Specifically 'cd bzr.dev; bzr send ../2.2' drops from 221MB peak to 156MB.

We don't speed anything up (16.5s both ways), but peak memory is quite
a bit better.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
import glob
25
25
import os
26
26
import shlex
 
27
import textwrap
27
28
from cStringIO import StringIO
28
29
 
29
30
from bzrlib import (
73
74
    cmd_line = 1
74
75
    lineno = 0
75
76
    input, output, error = None, None, None
 
77
    text = textwrap.dedent(text)
76
78
    for line in text.split('\n'):
77
79
        lineno += 1
78
80
        # Keep a copy for error reporting
475
477
    def run_command(self, cmd, input, output, error):
476
478
        return self.script_runner.run_command(self, cmd, input, output, error)
477
479
 
 
480
 
 
481
def run_script(test_case, script_string):
 
482
    """Run the given script within a testcase"""
 
483
    return ScriptRunner().run_script(test_case, script_string)