| Index: isolate.py
|
| diff --git a/isolate.py b/isolate.py
|
| index f2d79f7b9335f991496d95460eb6b524a75a2ab8..c4bf629551c49da20b85c7b3b785fc864e3ebde2 100755
|
| --- a/isolate.py
|
| +++ b/isolate.py
|
| @@ -36,6 +36,7 @@ from third_party import colorama
|
| from third_party.depot_tools import fix_encoding
|
| from third_party.depot_tools import subcommand
|
|
|
| +from utils import file_path
|
| from utils import tools
|
| from utils import short_expression_finder
|
|
|
| @@ -138,8 +139,8 @@ def path_starts_with(prefix, path):
|
| assert os.path.isabs(prefix) and os.path.isabs(path)
|
| prefix = os.path.normpath(prefix)
|
| path = os.path.normpath(path)
|
| - assert prefix == trace_inputs.get_native_path_case(prefix), prefix
|
| - assert path == trace_inputs.get_native_path_case(path), path
|
| + assert prefix == file_path.get_native_path_case(prefix), prefix
|
| + assert path == file_path.get_native_path_case(path), path
|
| prefix = prefix.rstrip(os.path.sep) + os.path.sep
|
| path = path.rstrip(os.path.sep) + os.path.sep
|
| return path.startswith(prefix)
|
| @@ -153,7 +154,7 @@ def fix_native_path_case(root, path):
|
| if not raw_part or raw_part == '.':
|
| break
|
|
|
| - part = trace_inputs.find_item_native_case(native_case_path, raw_part)
|
| + part = file_path.find_item_native_case(native_case_path, raw_part)
|
| if not part:
|
| raise isolateserver.MappingError(
|
| 'Input file %s doesn\'t exist' %
|
| @@ -182,7 +183,7 @@ def expand_symlinks(indir, relfile):
|
| symlinks = []
|
|
|
| while todo:
|
| - pre_symlink, symlink, post_symlink = trace_inputs.split_at_symlink(
|
| + pre_symlink, symlink, post_symlink = file_path.split_at_symlink(
|
| done, todo)
|
| if not symlink:
|
| todo = fix_native_path_case(done, todo)
|
| @@ -205,7 +206,7 @@ def expand_symlinks(indir, relfile):
|
| if not os.path.exists(target):
|
| raise isolateserver.MappingError(
|
| 'Symlink target doesn\'t exist: %s -> %s' % (symlink_path, target))
|
| - target = trace_inputs.get_native_path_case(target)
|
| + target = file_path.get_native_path_case(target)
|
| if not path_starts_with(indir, target):
|
| done = symlink_path
|
| todo = post_symlink
|
| @@ -254,7 +255,7 @@ def expand_directory_and_symlink(indir, relfile, blacklist, follow_symlinks):
|
| 'Can\'t map file %s outside %s' % (infile, indir))
|
|
|
| filepath = os.path.join(indir, relfile)
|
| - native_filepath = trace_inputs.get_native_path_case(filepath)
|
| + native_filepath = file_path.get_native_path_case(filepath)
|
| if filepath != native_filepath:
|
| # Special case './'.
|
| if filepath != native_filepath + '.' + os.path.sep:
|
| @@ -266,7 +267,7 @@ def expand_directory_and_symlink(indir, relfile, blacklist, follow_symlinks):
|
| #
|
| # Note that this is really something deep in OSX because running
|
| # ls Foo.framework/Versions/A
|
| - # will print out 'Resources', while trace_inputs.get_native_path_case()
|
| + # will print out 'Resources', while file_path.get_native_path_case()
|
| # returns a lower case 'r'.
|
| #
|
| # So *something* is happening under the hood resulting in the command 'ls'
|
| @@ -476,7 +477,7 @@ def process_input(filepath, prevdict, read_only, flavor, algo):
|
| # expand_directory_and_symlink(), so it would not be necessary to do again
|
| # here.
|
| symlink_value = os.readlink(filepath) # pylint: disable=E1101
|
| - filedir = trace_inputs.get_native_path_case(os.path.dirname(filepath))
|
| + filedir = file_path.get_native_path_case(os.path.dirname(filepath))
|
| native_dest = fix_native_path_case(filedir, symlink_value)
|
| out['l'] = os.path.relpath(native_dest, filedir)
|
| return out
|
| @@ -530,7 +531,7 @@ def process_variables(cwd, variables, relative_base_dir):
|
| For each 'path' variable: first normalizes it based on |cwd|, verifies it
|
| exists then sets it as relative to relative_base_dir.
|
| """
|
| - relative_base_dir = trace_inputs.get_native_path_case(relative_base_dir)
|
| + relative_base_dir = file_path.get_native_path_case(relative_base_dir)
|
| variables = variables.copy()
|
| for i in PATH_VARIABLES:
|
| if i not in variables:
|
| @@ -541,7 +542,7 @@ def process_variables(cwd, variables, relative_base_dir):
|
| variable = variable.replace('/', os.path.sep)
|
| variable = os.path.join(cwd, variable)
|
| variable = os.path.normpath(variable)
|
| - variable = trace_inputs.get_native_path_case(variable)
|
| + variable = file_path.get_native_path_case(variable)
|
| if not os.path.isdir(variable):
|
| raise ExecutionError('%s=%s is not a directory' % (i, variable))
|
|
|
| @@ -1682,7 +1683,7 @@ class CompleteState(object):
|
| """
|
| # Make sure to not depend on os.getcwd().
|
| assert os.path.isabs(isolate_file), isolate_file
|
| - isolate_file = trace_inputs.get_native_path_case(isolate_file)
|
| + isolate_file = file_path.get_native_path_case(isolate_file)
|
| logging.info(
|
| 'CompleteState.load_isolate(%s, %s, %s, %s)',
|
| cwd, isolate_file, variables, ignore_broken_items)
|
| @@ -1811,7 +1812,7 @@ class CompleteState(object):
|
| isolate_dir, self.saved_state.relative_cwd)
|
| # Walk back back to the root directory.
|
| root_dir = isolate_dir[:-(len(self.saved_state.relative_cwd) + 1)]
|
| - return trace_inputs.get_native_path_case(root_dir)
|
| + return file_path.get_native_path_case(root_dir)
|
|
|
| @property
|
| def resultdir(self):
|
| @@ -1852,7 +1853,7 @@ def load_complete_state(options, cwd, subdir, skip_update):
|
| """
|
| assert not options.isolate or os.path.isabs(options.isolate)
|
| assert not options.isolated or os.path.isabs(options.isolated)
|
| - cwd = trace_inputs.get_native_path_case(unicode(cwd))
|
| + cwd = file_path.get_native_path_case(unicode(cwd))
|
| if options.isolated:
|
| # Load the previous state if it was present. Namely, "foo.isolated.state".
|
| # Note: this call doesn't load the .isolate file.
|
| @@ -2421,7 +2422,7 @@ class OptionParserIsolate(tools.OptionParserWithLogging):
|
| if not self.allow_interspersed_args and args:
|
| self.error('Unsupported argument: %s' % args)
|
|
|
| - cwd = trace_inputs.get_native_path_case(unicode(os.getcwd()))
|
| + cwd = file_path.get_native_path_case(unicode(os.getcwd()))
|
| parse_isolated_option(self, options, cwd, self.require_isolated)
|
| parse_variable_option(options)
|
|
|
| @@ -2430,7 +2431,7 @@ class OptionParserIsolate(tools.OptionParserWithLogging):
|
| # The path must be in native path case for tracing purposes.
|
| options.isolate = unicode(options.isolate).replace('/', os.path.sep)
|
| options.isolate = os.path.normpath(os.path.join(cwd, options.isolate))
|
| - options.isolate = trace_inputs.get_native_path_case(options.isolate)
|
| + options.isolate = file_path.get_native_path_case(options.isolate)
|
|
|
| if options.outdir and not is_url(options.outdir):
|
| options.outdir = unicode(options.outdir).replace('/', os.path.sep)
|
|
|