diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index e360887a..c78689ad 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -43,6 +43,7 @@ jobs: - run: dfetch check - run: dfetch update - run: dfetch update + - run: dfetch filter - run: dfetch report -t sbom - name: Dfetch SARIF Check uses: ./ @@ -56,6 +57,7 @@ jobs: run: | dfetch update dfetch update + find . | dfetch filter dfetch report test: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 740157c5..6a24875e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,17 +14,17 @@ repos: hooks: - id: isort name: Sort import - entry: isort + entry: dfetch + args: ['filter','--not-dfetched', 'isort'] language: system types: [file, python] - exclude: ^doc/_ext/sphinxcontrib_asciinema - id: black name: Black (auto-format) - entry: black + entry: dfetch + args: ['filter', '--not-dfetched', 'black'] language: system types: [file, python] - exclude: ^doc/_ext/sphinxcontrib_asciinema - id: pylint name: pylint @@ -101,9 +101,10 @@ repos: - id: codespell name: codespell description: Checks for common misspellings in text files. - entry: codespell + entry: dfetch + args: ['filter', '--not-dfetched','codespell'] language: python - exclude: ^doc/_ext/sphinxcontrib_asciinema/_static/asciinema-player_3.12.1.js + # exclude: ^doc/_ext/sphinxcontrib_asciinema/_static/asciinema-player_3.12.1.js types: [text] - id: ruff name: ruff diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c35d573a..fd7b42cc 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -15,6 +15,7 @@ Release 0.11.0 (unreleased) * Handle SVN tags with special characters (#811) * Don't return non-zero exit code if tool not found during environment (#701) * Create standalone binaries for Linux, Mac & Windows (#705) +* Add filter command (#19) Release 0.10.0 (released 2025-03-12) ==================================== diff --git a/dfetch/__main__.py b/dfetch/__main__.py index 824cf355..c287c91c 100644 --- a/dfetch/__main__.py +++ b/dfetch/__main__.py @@ -10,6 +10,7 @@ import dfetch.commands.check import dfetch.commands.diff import dfetch.commands.environment +import dfetch.commands.filter import dfetch.commands.freeze import dfetch.commands.import_ import dfetch.commands.init @@ -29,7 +30,9 @@ class DfetchFatalException(Exception): def create_parser() -> argparse.ArgumentParser: """Create the main argument parser.""" parser = argparse.ArgumentParser( - formatter_class=argparse.RawTextHelpFormatter, epilog=__doc__ + formatter_class=argparse.RawTextHelpFormatter, + epilog=__doc__, + exit_on_error=False, ) parser.add_argument( "--verbose", "-v", action="store_true", help="Increase verbosity" @@ -40,6 +43,7 @@ def create_parser() -> argparse.ArgumentParser: dfetch.commands.check.Check.create_menu(subparsers) dfetch.commands.diff.Diff.create_menu(subparsers) dfetch.commands.environment.Environment.create_menu(subparsers) + dfetch.commands.filter.Filter.create_menu(subparsers) dfetch.commands.freeze.Freeze.create_menu(subparsers) dfetch.commands.import_.Import.create_menu(subparsers) dfetch.commands.init.Init.create_menu(subparsers) @@ -57,8 +61,15 @@ def _help(args: argparse.Namespace) -> None: def run(argv: Sequence[str]) -> None: """Start dfetch.""" - logger.print_title() - args = create_parser().parse_args(argv) + parser = create_parser() + try: + args = parser.parse_args(argv) + except argparse.ArgumentError as exc: + logger.print_title() + parser.error(exc.message) + + if args.verbose or not args.func.silent(): + logger.print_title() if args.verbose: dfetch.log.increase_verbosity() diff --git a/dfetch/commands/command.py b/dfetch/commands/command.py index b2e6d1cd..84755392 100644 --- a/dfetch/commands/command.py +++ b/dfetch/commands/command.py @@ -31,6 +31,17 @@ class Command(ABC): CHILD_TYPE = TypeVar("CHILD_TYPE", bound="Command") # noqa + @staticmethod + def silent() -> bool: + """Whether the command is silent. + + If a command is silent the title will not be printed when the command is run. + + Returns: + bool: True if the command is silent, False otherwise. + """ + return False + @staticmethod @abstractmethod def create_menu(subparsers: SubparserActionType) -> None: diff --git a/dfetch/commands/filter.py b/dfetch/commands/filter.py new file mode 100644 index 00000000..e2e987c0 --- /dev/null +++ b/dfetch/commands/filter.py @@ -0,0 +1,210 @@ +"""*Dfetch* can filter files in the repo. + +It can either accept no input to list all files. A list of files can be piped in (such as through ``find``) +or it can be used as a wrapper around a certain tool to block or allow files under control by dfetch. + +.. scenario-include:: ../features/filter-projects.feature + +""" + +import argparse +import os +import sys +from enum import Enum +from pathlib import Path +from typing import Optional + +import dfetch.commands.command +import dfetch.log +import dfetch.manifest.manifest +from dfetch.log import get_logger +from dfetch.util.cmdline import run_on_cmdline_uncaptured +from dfetch.util.util import in_directory + +logger = get_logger(__name__) + + +class FilterType(Enum): + """Types of filtering.""" + + BLOCK_ONLY_PATH_TRAVERSAL = 0 + BLOCK_IF_INSIDE = 1 + BLOCK_IF_OUTSIDE = 2 + + +class Filter(dfetch.commands.command.Command): + """Filter files based on flags and pass on any command. + + Based on the provided arguments filter files, and call the given arguments or print them out if no command given. + """ + + @staticmethod + def silent() -> bool: + """If the command is silent the title will not be printed when the command is run.""" + return True + + @staticmethod + def create_menu(subparsers: dfetch.commands.command.SubparserActionType) -> None: + """Add the parser menu for this action.""" + parser = dfetch.commands.command.Command.parser(subparsers, Filter) + parser.add_argument( + "--dfetched", + "-D", + action="store_true", + default=True, + help="Keep files that came here by dfetching them.", + ) + + parser.add_argument( + "--not-dfetched", + "-N", + action="store_true", + default=False, + help="Keep files that did not came here by dfetching them.", + ) + + parser.add_argument( + "cmd", + metavar="", + type=str, + nargs="?", + help="Command to call", + ) + + parser.add_argument( + "args", + metavar="", + type=str, + nargs="*", + help="Arguments to pass to the command", + ) + + def __call__(self, args: argparse.Namespace) -> None: + """Perform the filter.""" + if not args.verbose: + dfetch.log.set_level("ERROR") + + argument_list = self._get_arguments(args) + + manifest = dfetch.manifest.manifest.get_manifest() + topdir = Path(manifest.path).parent + + resolved_args = self._resolve_args(argument_list, topdir) + + with in_directory(topdir): + abs_project_paths = { + Path(project.destination).resolve() for project in manifest.projects + } + + if args.dfetched and not args.not_dfetched: + block_type = FilterType.BLOCK_IF_OUTSIDE + elif args.not_dfetched: + block_type = FilterType.BLOCK_IF_INSIDE + else: + block_type = FilterType.BLOCK_ONLY_PATH_TRAVERSAL + + filtered_args = self._filter_args( + topdir, resolved_args, abs_project_paths, block_type + ) + + if args.cmd: + run_on_cmdline_uncaptured(logger, [args.cmd] + filtered_args) + else: + print(os.linesep.join(filtered_args)) + + def _filter_args( + self, + topdir: Path, + resolved_args: dict[str, Optional[Path]], + abs_project_paths: set[Path], + block: FilterType, + ) -> list[str]: + blocklist = self._filter_files( + topdir, + abs_project_paths, + {path for path in resolved_args.values() if path}, + block, + ) + + filtered_args = [ + arg for arg in resolved_args.keys() if resolved_args[arg] not in blocklist + ] + + return filtered_args + + def _resolve_args( + self, argument_list: list[str], topdir: Path + ) -> dict[str, Optional[Path]]: + resolved_args: dict[str, Optional[Path]] = {} + if argument_list: + for argument in argument_list: + path_obj = Path(argument.strip()) + resolved_args[argument] = ( + path_obj.resolve() if path_obj.exists() else None + ) + else: + if not argument_list: + resolved_args = { + str(file): file.resolve() + for file in topdir.rglob("*") + if ".git" not in file.parts + } + + return resolved_args + + def _get_arguments(self, args: argparse.Namespace) -> list[str]: + argument_list: list[str] = list(str(arg) for arg in args.args) + if not sys.stdin.isatty(): + argument_list.extend( + non_empty_line for line in sys.stdin if (non_empty_line := line.strip()) + ) + + return argument_list + + def _filter_files( + self, + topdir: Path, + paths: set[Path], + input_paths: set[Path], + block: FilterType = FilterType.BLOCK_IF_OUTSIDE, + ) -> list[Path]: + """Filter files in input_set in files in one of the paths or not.""" + blocklist: list[Path] = [] + + for abs_path in input_paths: + try: + abs_path.relative_to(topdir) + except ValueError: + logger.print_info_line(str(abs_path), "outside project") + blocklist.append(abs_path) + continue + + if block == FilterType.BLOCK_ONLY_PATH_TRAVERSAL: + continue + + containing_dir = self._is_file_contained_in_any_path(abs_path, paths) + + if containing_dir: + logger.print_info_line( + str(abs_path), f"inside project ({containing_dir})" + ) + if block == FilterType.BLOCK_IF_INSIDE: + blocklist.append(abs_path) + else: + logger.print_info_line(str(abs_path), "not inside any project") + if block == FilterType.BLOCK_IF_OUTSIDE: + blocklist.append(abs_path) + + return blocklist + + def _is_file_contained_in_any_path( + self, file: Path, paths: set[Path] + ) -> Optional[Path]: + """Check if a specific file is somewhere in one of the paths.""" + for path in paths: + try: + file.relative_to(path) + return path + except ValueError: + continue + return None diff --git a/dfetch/log.py b/dfetch/log.py index 5b67838e..729bd64f 100644 --- a/dfetch/log.py +++ b/dfetch/log.py @@ -57,6 +57,11 @@ def increase_verbosity() -> None: coloredlogs.increase_verbosity() +def set_level(level: str) -> None: + """Set the level of the logger.""" + coloredlogs.set_level(level) + + def get_logger(name: str) -> DLogger: """Get logger for a module.""" logging.setLoggerClass(DLogger) diff --git a/dfetch/util/cmdline.py b/dfetch/util/cmdline.py index c302e77d..de7c9fb0 100644 --- a/dfetch/util/cmdline.py +++ b/dfetch/util/cmdline.py @@ -69,6 +69,34 @@ def run_on_cmdline( return proc +def run_on_cmdline_uncaptured( + logger: logging.Logger, cmd: Union[str, list[str]] +) -> "subprocess.CompletedProcess[Any]": + """Run a command and log the output, and raise if something goes wrong.""" + logger.debug(f"Running {cmd}") + + if not isinstance(cmd, list): + cmd = cmd.split(" ") + + try: + proc = subprocess.run(cmd, capture_output=False, check=True) # nosec + except subprocess.CalledProcessError as exc: + raise SubprocessCommandError( + exc.cmd, + "", + "", + exc.returncode, + ) from exc + except FileNotFoundError as exc: + cmd = cmd[0] + raise RuntimeError(f"{cmd} not available on system, please install") from exc + + if proc.returncode: + raise SubprocessCommandError(cmd, "", "", proc.returncode) + + return proc + + def _log_output(proc: subprocess.CompletedProcess, logger: logging.Logger) -> None: # type: ignore logger.debug(f"Return code: {proc.returncode}") diff --git a/dfetch/util/util.py b/dfetch/util/util.py index 9ac5ebc5..ebee6c9b 100644 --- a/dfetch/util/util.py +++ b/dfetch/util/util.py @@ -63,14 +63,14 @@ def safe_rmtree(path: str) -> None: @contextmanager -def in_directory(path: str) -> Generator[str, None, None]: +def in_directory(path: Union[str, Path]) -> Generator[str, None, None]: """Work temporarily in a given directory.""" pwd = os.getcwd() if not os.path.isdir(path): path = os.path.dirname(path) os.chdir(path) try: - yield path + yield str(path) finally: os.chdir(pwd) diff --git a/doc/asciicasts/filter.cast b/doc/asciicasts/filter.cast new file mode 100644 index 00000000..bde0b856 --- /dev/null +++ b/doc/asciicasts/filter.cast @@ -0,0 +1,100 @@ +{"version": 2, "width": 195, "height": 29, "timestamp": 1762292371, "env": {"SHELL": "/bin/sh", "TERM": "xterm-256color"}} +[0.033042, "o", "\u001b[H\u001b[2J\u001b[3J"] +[0.036577, "o", "$ "] +[1.038199, "o", "\u001b"] +[1.218487, "o", "[1"] +[1.308622, "o", "mc"] +[1.398772, "o", "at"] +[1.488895, "o", " d"] +[1.579084, "o", "fe"] +[1.66923, "o", "tc"] +[1.762137, "o", "h."] +[1.851342, "o", "ya"] +[1.941782, "o", "ml"] +[2.121975, "o", "\u001b"] +[2.212119, "o", "[0"] +[2.302247, "o", "m"] +[3.302779, "o", "\r\n"] +[3.304979, "o", "manifest:\r\n version: 0.0 # DFetch Module syntax version\r\n\r\n remotes: # declare common sources in one place\r\n - name: github\r\n url-base: https://github.com/\r\n\r\n projects:\r\n - name: cpputest\r\n dst: cpputest/src/ # Destination of this project (relative to this file)\r\n repo-path: cpputest/cpputest.git # Use default github remote\r\n tag: v3.4 # tag\r\n\r\n - name: jsmn # without destination, defaults to project name\r\n repo-path: zserge/jsmn.git # only repo-path is enough\r\n"] +[3.308754, "o", "$ "] +[4.310317, "o", "\u001b"] +[4.490724, "o", "[1"] +[4.580901, "o", "md"] +[4.671015, "o", "fe"] +[4.761246, "o", "tc"] +[4.851397, "o", "h "] +[4.94151, "o", "fi"] +[5.031657, "o", "lt"] +[5.121783, "o", "er"] +[5.211964, "o", "\u001b["] +[5.392435, "o", "0"] +[5.482531, "o", "m"] +[6.483006, "o", "\r\n"] +[6.979528, "o", "/workspaces/dfetch/doc/generate-casts/filter/jsmn\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/Makefile\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/.travis.yml\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/README.md\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/example\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/.clang-format\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/library.json\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/LICENSE\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/.dfetch_data.yaml\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/jsmn.h\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/test\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/build\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/missing\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/ChangeLog\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/.travis.yml\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/CMakeLists.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/.cdtproject\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/Doxyfile\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/config.h.cmake\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/README.md\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/config.sub\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/ltmain.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/docs\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/README_UsersOfPriorVersions.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/Makefile.in\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/CppUTest.dsw\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/platforms\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/lib\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/test-driver\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/.gitignore\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/configure.ac\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/README_CppUTest_for_C.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/NEWS\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/AUTHORS\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/Makefile_CppUTestExt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/cpputest.pc.in\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/makeVS2008.bat\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/CppUTest_VS2008.sln\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/cpputest_doxy_gen.conf\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/makeVc6.bat\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/cpputest-hist.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/.project\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/m4\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/depcomp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/CppUTest.vcxproj\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/compile\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/Makefile_using_MakefileWorker\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/Makefile.am\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/aclocal.m4\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/CppUTest.mak\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/INSTALL\r\n"] +[6.97967, "o", "/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/README_InstallCppUTest.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/.cproject\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/makeVS2010.bat\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/COPYING\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/config.guess\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/configure\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/.dfetch_data.yaml\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/CppUTest_VS2010.sln\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/README\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/cmake\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/install-sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/CppUTest.vcproj\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/config.h.in\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/CppUTest.dsp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/.settings\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/build/alltests.mmp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/build/ComponentMakefile\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/build/ComponentMakefileExampleParameters\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/build/cpputest.mmp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/build/StaticLibMakefile\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/build/MakefileWorker.mk\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/build/bld.inf\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/docs/WalkThrough_VS21010.docx\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/platforms/IAR-STR912.zip\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/lib/NoteOnVisualStudio.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/Makefile\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/README.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/.cdtproject\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/CppUTestExample.dsw\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/AllTests\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/.project\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/.settings\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/m4/libtool.m4\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/m4/ltsugar.m4\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/m4/ltoptions.m4\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/m4/ltversion.m4\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/m4/acx_pthread.m4\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/m4/lt~obsolete.m4\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/reformat.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/README.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/NewCModule.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/NewCBaseModule.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/UnityTemplates\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/NewCFunction.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/NewCmiModule.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/NewHelp.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/NewCIoDriver.sh\r\n/wor"] +[6.979702, "o", "kspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/NewLibrary.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/NewCInterface.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/NewInterface.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/filterGcov.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/svnignore.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/GenerateSrcFiles.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/zipExclude.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/ReleaseCppUTest.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/convertToUnity\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/checkForCppUTestEnvVariable.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/NewProject.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/squeeze.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/NewPackageDirs.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/InstallScripts.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/travis_ci_build.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/NewClass.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/VS2010Templates\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/RefactorRenameIncludeFile.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/Platforms\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CommandLineArgumentsTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CMakeLists.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllocationInCFile.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/TestFailureTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllocationInCppFile.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/MemoryLeakDetectorTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/TestUTestMacro.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/TestResultTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/PluginTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllTests.dsp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllocLetTestFree.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/NullTestTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/UtestTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/TestHarness_cTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CommandLineTestRunnerTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/TestHarness_cTestCFile.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/MemoryLeakOperatorOverloadsTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/SimpleStringTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/TestMemoryAllocatorTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllTests.vcxproj\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/PreprocessorTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CheatSheetTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllocationInCppFile.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllTests.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpp"] +[6.979937, "o", "utest/src/tests/RunAllTests.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/MemoryLeakWarningTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllocationInCFile.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllocLetTestFreeTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllTests.dep\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllTests.vcproj\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/TestFilterTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllTests.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllTests.mak\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/TestRegistryTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/AllocLetTestFree.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/TestInstallerTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/JUnitOutputTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/TestOutputTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/SetPluginTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/cmake/Modules\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/.settings/org.eclipse.cdt.core.prefs\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/.settings/org.eclipse.cdt.ui.prefs\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/cmake/Modules/CppUTestConfigurationOptions.cmake\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/cmake/Modules/CppUTestWarningFlags.cmake\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMockSupport_cCFile.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMockFailure.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/CMakeLists.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMockSupport.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMockSupport_c.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMockExpectedFunctionsList.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestGMock.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMockPlugin.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMemoryReportAllocator.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMockActualFunctionCall.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestGTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMemoryReportFormatter.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMockCheatSheet.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMockFailure.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMockExpectedFunctionCall.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestCodeMemoryReportFormatter.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMockSupport_cCFile.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestOrderedTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/AllTests.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/tests/CppUTestExt/TestMemoryReporterPlugin.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/Platforms/Gcc\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/Platforms/VisualCpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/Platforms/StarterKit\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/Platforms/Symbian\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/Cp"] +[6.979979, "o", "pUTestExt/CodeMemoryReportFormatter.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/MockSupportPlugin.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/MockNamedValue.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/MockExpectedFunctionsList.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/MockSupport.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/MemoryReporterPlugin.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/CppUTestGTest\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/MemoryReportFormatter.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/CppUTestGMock\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/GTestInterface.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/OrderedTest.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/GTestConvertor.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/MockSupport_c.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/GMock.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/MemoryReportAllocator.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/MockExpectedFunctionCall.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/MockFunctionCall.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/MockActualFunctionCall.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/MockFailure.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/TestFailure.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/StandardCLibrary.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/UtestMacros.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/TestHarness_c.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/MemoryLeakWarningPlugin.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/Utest.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/TestResult.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/MemoryLeakDetector.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/CommandLineTestRunner.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/TestPlugin.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/SimpleString.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/MemoryLeakDetectorNewMacros.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/TestOutput.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/CppUTestConfig.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/TestTestingFixture.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/JUnitTestOutput.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/PlatformSpecificFunctions_c.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/TestHarness.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/TestFilter.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/MemoryLeakDetectorMallocMacros.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/TestRegistry.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/CommandLineArguments.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/TestMemoryAllocator.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTest/PlatformSpecificFunctions.h\r\n/workspaces/dfe"] +[6.980103, "o", "tch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/CppUTestGTest/gtest\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/CppUTestGMock/gmock\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/CppUTestGMock/gmock/gmock.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/CppUTestExt/CppUTestGTest/gtest/gtest.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/Platforms/Gcc/Platform.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/Platforms/VisualCpp/stdint.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/Platforms/VisualCpp/Platform.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/Platforms/StarterKit/Platform.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/include/Platforms/Symbian/Platform.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/UnityTemplates/FunctionNameCTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/UnityTemplates/ClassNameCMultipleInstanceTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/UnityTemplates/InterfaceCTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/UnityTemplates/ClassNameCTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/UnityTemplates/ClassNameCIoDriverTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/MockClassName.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassNameCIoDriver.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassName.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/FunctionNameCTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassNameCMultipleInstanceTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/MockClassNameC.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/InterfaceCTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/FunctionNameC.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/InterfaceTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/MockClassNameC.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassNameCTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassNameCPolymorphic.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassNameCMultipleInstance.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassNameC.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassNameCPolymorphic.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassNameTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassNameCIoDriver.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassNameC.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassNameCIoDriverTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/FunctionNameC.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassNameCMultipleInstance.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ClassName.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/convertToUnity/README.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/convertToUnity/cpp_u_test_to_unity_utils_tests.rb\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/convertToUnity/create_group_runner.rb\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/convertToUnity/cpp_u_test_to_unity.rb\r\n/workspaces/dfetch/doc/generate-casts/"] +[6.980246, "o", "filter/cpputest/src/scripts/convertToUnity/create_unity_test_runner.rb\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/convertToUnity/cpp_u_test_to_unity_utils.rb\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/MockClassName.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ClassName.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ClassNameCMultipleInstanceTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/MockClassNameC.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/InterfaceCTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/InterfaceTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ProjectTemplate\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/MockClassNameC.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ClassNameCTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ClassNameCPolymorphic.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ClassNameCMultipleInstance.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ClassNameC.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ClassNameCPolymorphic.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ClassNameTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ClassNameC.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ClassNameCMultipleInstance.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ClassName.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/VS2010Templates/README.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/VS2010Templates/CppUTest_VS2010.props\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/src\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/include\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/tests\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/ProjectMakefile\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/src/util\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/include/util\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/tests/util\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/tests/AllTests.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/tests/util/ProjectBuildTimeTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/include/util/ProjectBuildTime.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/src/util/ProjectBuildTime.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate/src\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate/Project.project\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate/include\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate/Project.cproject\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate/tests\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate/ProjectMakefile\r\n/workspaces/dfetch/doc/generate-casts/filte"] +[6.980309, "o", "r/cpputest/src/scripts/templates/ProjectTemplate/src/util\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate/include/util\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate/tests/util\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate/tests/AllTests.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate/tests/util/ProjectBuildTimeTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate/include/util/ProjectBuildTime.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/scripts/templates/ProjectTemplate/src/util/ProjectBuildTime.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/AllTests/AllTests.dsp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/AllTests/MockDocumentationTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/AllTests/PrinterTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/AllTests/EventDispatcherTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/AllTests/RunAllTests.sh\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/AllTests/HelloTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/AllTests/CircularBufferTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/AllTests/AllTests.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib/CircularBuffer.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib/ExamplesNewOverrides.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib/Printer.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib/MockPrinter.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib/EventDispatcher.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib/EventDispatcher.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib/AllTests.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib/CircularBuffer.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib/hello.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib/Printer.h\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib/hello.c\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/ApplicationLib/ApplicationLib.dsp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/examples/.settings/org.eclipse.cdt.core.prefs\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/Gcc\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/VisualCpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/Iar\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/StarterKit\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/GccNoStdC\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/Symbian\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/MockSupport_c.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/CMakeLists.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/MemoryReportAllocator.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/MockActualFunctionCall.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/MockSupportPlugin.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/MemoryReportFormatter.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/MockNamedValue.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/MockExpectedFunctionsList.cpp\r\n/workspaces/dfetch/doc/genera"] +[6.980358, "o", "te-casts/filter/cpputest/src/src/CppUTestExt/MockSupport.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/MemoryReporterPlugin.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/MockFailure.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/GTestConvertor.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/MockExpectedFunctionCall.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/OrderedTest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/MockFunctionCall.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTestExt/CodeMemoryReportFormatter.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/CMakeLists.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/MemoryLeakDetector.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/Utest.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/TestResult.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/TestFailure.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/TestFilter.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/JUnitTestOutput.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/CommandLineTestRunner.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/TestMemoryAllocator.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/TestPlugin.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/TestRegistry.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/TestHarness_c.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/MemoryLeakWarningPlugin.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/UnitTestHarness.dsp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/SimpleString.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/TestOutput.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/CppUTest/CommandLineArguments.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/Gcc/UtestPlatform.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/VisualCpp/UtestPlatform.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/Iar/UtestPlatform.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/StarterKit/StarterMemoryLeakWarning.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/StarterKit/UtestPlatform.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/GccNoStdC/UtestPlatform.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/Symbian/README_Symbian.txt\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/Symbian/UtestPlatform.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/cpputest/src/src/Platforms/Symbian/SymbianMemoryLeakWarning.cpp\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/example/jsondump.c\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/example/simple.c\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/test/test.h\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/test/testutil.h\r\n/workspaces/dfetch/doc/generate-casts/filter/jsmn/test/tests.c\u001b[0m\r\n"] +[6.98071, "o", "\u001b[0m"] +[6.980891, "o", "\u001b[0m"] +[7.038396, "o", "$ "] +[8.039914, "o", "\u001b["] +[8.220182, "o", "1m"] +[8.310325, "o", "fi"] +[8.400488, "o", "nd"] +[8.490758, "o", " ."] +[8.580913, "o", " |"] +[8.671053, "o", " d"] +[8.7612, "o", "fe"] +[8.851402, "o", "tc"] +[8.941526, "o", "h "] +[9.121752, "o", "fil"] +[9.211953, "o", "te"] +[9.302098, "o", "r\u001b"] +[9.392694, "o", "[0"] +[9.48283, "o", "m"] +[10.483313, "o", "\r\n"] +[10.986301, "o", "./jsmn\r\n./jsmn/Makefile\r\n./jsmn/.travis.yml\r\n./jsmn/README.md\r\n./jsmn/example\r\n./jsmn/example/jsondump.c\r\n./jsmn/example/simple.c\r\n./jsmn/.clang-format\r\n./jsmn/library.json\r\n./jsmn/LICENSE\r\n./jsmn/.dfetch_data.yaml\r\n./jsmn/jsmn.h\r\n./jsmn/test\r\n./jsmn/test/test.h\r\n./jsmn/test/testutil.h\r\n./jsmn/test/tests.c\r\n./cpputest/src\r\n./cpputest/src/build\r\n./cpputest/src/build/alltests.mmp\r\n./cpputest/src/build/ComponentMakefile\r\n./cpputest/src/build/ComponentMakefileExampleParameters\r\n./cpputest/src/build/cpputest.mmp\r\n./cpputest/src/build/StaticLibMakefile\r\n./cpputest/src/build/MakefileWorker.mk\r\n./cpputest/src/build/bld.inf\r\n./cpputest/src/missing\r\n./cpputest/src/ChangeLog\r\n./cpputest/src/.travis.yml\r\n./cpputest/src/CMakeLists.txt\r\n./cpputest/src/.cdtproject\r\n./cpputest/src/Doxyfile\r\n./cpputest/src/config.h.cmake\r\n./cpputest/src/README.md\r\n./cpputest/src/config.sub\r\n./cpputest/src/ltmain.sh\r\n./cpputest/src/docs\r\n./cpputest/src/docs/WalkThrough_VS21010.docx\r\n./cpputest/src/README_UsersOfPriorVersions.txt\r\n./cpputest/src/Makefile.in\r\n./cpputest/src/src\r\n./cpputest/src/src/Platforms\r\n./cpputest/src/src/Platforms/Gcc\r\n./cpputest/src/src/Platforms/Gcc/UtestPlatform.cpp\r\n./cpputest/src/src/Platforms/VisualCpp\r\n./cpputest/src/src/Platforms/VisualCpp/UtestPlatform.cpp\r\n./cpputest/src/src/Platforms/Iar\r\n./cpputest/src/src/Platforms/Iar/UtestPlatform.cpp\r\n./cpputest/src/src/Platforms/StarterKit\r\n./cpputest/src/src/Platforms/StarterKit/StarterMemoryLeakWarning.cpp\r\n./cpputest/src/src/Platforms/StarterKit/UtestPlatform.cpp\r\n./cpputest/src/src/Platforms/GccNoStdC\r\n./cpputest/src/src/Platforms/GccNoStdC/UtestPlatform.cpp\r\n./cpputest/src/src/Platforms/Symbian\r\n./cpputest/src/src/Platforms/Symbian/README_Symbian.txt\r\n./cpputest/src/src/Platforms/Symbian/UtestPlatform.cpp\r\n./cpputest/src/src/Platforms/Symbian/SymbianMemoryLeakWarning.cpp\r\n./cpputest/src/src/CppUTestExt\r\n./cpputest/src/src/CppUTestExt/MockSupport_c.cpp\r\n./cpputest/src/src/CppUTestExt/CMakeLists.txt\r\n./cpputest/src/src/CppUTestExt/MemoryReportAllocator.cpp\r\n"] +[10.98669, "o", "./cpputest/src/src/CppUTestExt/MockActualFunctionCall.cpp\r\n./cpputest/src/src/CppUTestExt/MockSupportPlugin.cpp\r\n./cpputest/src/src/CppUTestExt/MemoryReportFormatter.cpp\r\n./cpputest/src/src/CppUTestExt/MockNamedValue.cpp\r\n./cpputest/src/src/CppUTestExt/MockExpectedFunctionsList.cpp\r\n./cpputest/src/src/CppUTestExt/MockSupport.cpp\r\n./cpputest/src/src/CppUTestExt/MemoryReporterPlugin.cpp\r\n./cpputest/src/src/CppUTestExt/MockFailure.cpp\r\n./cpputest/src/src/CppUTestExt/GTestConvertor.cpp\r\n./cpputest/src/src/CppUTestExt/MockExpectedFunctionCall.cpp\r\n./cpputest/src/src/CppUTestExt/OrderedTest.cpp\r\n./cpputest/src/src/CppUTestExt/MockFunctionCall.cpp\r\n./cpputest/src/src/CppUTestExt/CodeMemoryReportFormatter.cpp\r\n./cpputest/src/src/CppUTest\r\n./cpputest/src/src/CppUTest/CMakeLists.txt\r\n./cpputest/src/src/CppUTest/MemoryLeakDetector.cpp\r\n./cpputest/src/src/CppUTest/Utest.cpp\r\n./cpputest/src/src/CppUTest/TestResult.cpp\r\n./cpputest/src/src/CppUTest/TestFailure.cpp\r\n./cpputest/src/src/CppUTest/TestFilter.cpp\r\n./cpputest/src/src/CppUTest/JUnitTestOutput.cpp\r\n./cpputest/src/src/CppUTest/CommandLineTestRunner.cpp\r\n./cpputest/src/src/CppUTest/TestMemoryAllocator.cpp\r\n./cpputest/src/src/CppUTest/TestPlugin.cpp\r\n./cpputest/src/src/CppUTest/TestRegistry.cpp\r\n./cpputest/src/src/CppUTest/TestHarness_c.cpp\r\n./cpputest/src/src/CppUTest/MemoryLeakWarningPlugin.cpp\r\n./cpputest/src/src/CppUTest/UnitTestHarness.dsp\r\n./cpputest/src/src/CppUTest/SimpleString.cpp\r\n./cpputest/src/src/CppUTest/TestOutput.cpp\r\n./cpputest/src/src/CppUTest/CommandLineArguments.cpp\r\n./cpputest/src/CppUTest.dsw\r\n./cpputest/src/platforms\r\n./cpputest/src/platforms/IAR-STR912.zip\r\n./cpputest/src/lib\r\n./cpputest/src/lib/NoteOnVisualStudio.txt\r\n./cpputest/src/test-driver\r\n./cpputest/src/.gitignore\r\n./cpputest/src/configure.ac\r\n./cpputest/src/README_CppUTest_for_C.txt\r\n./cpputest/src/examples\r\n./cpputest/src/examples/Makefile\r\n./cpputest/src/examples/README.txt\r\n./cpputest/src/examples/.cdtproject\r\n./cpputest/src/examples/CppUTestExample.dsw\r\n./cpputest/src/examples/AllTests\r\n./cpputest/src/examples/AllTests/AllTests.dsp\r\n./cpputest/src/examples/AllTests/MockDocumentationTest.cpp\r\n./cpputest/src/examples/AllTests/PrinterTest.cpp\r\n./cpputest/src/examples/AllTests/EventDispatcherTest.cpp\r\n./cpputest/src/examples/AllTests/RunAllTests.sh\r\n./cpputest/src/examples/AllTests/HelloTest.cpp\r\n./cpputest/src/examples/AllTests/CircularBufferTest.cpp\r\n./cpputest/src/examples/AllTests/AllTests.cpp\r\n./cpputest/src/examples/.project\r\n./cpputest/src/examples/ApplicationLib\r\n./cpputest/src/examples/ApplicationLib/CircularBuffer.h\r\n./cpputest/src/examples/ApplicationLib/ExamplesNewOverrides.h\r\n./cpputest/src/examples/ApplicationLib/Printer.cpp\r\n./cpputest/src/examples/ApplicationLib/MockPrinter.h\r\n./cpputest/src/examples/ApplicationLib/EventDispatcher.h\r\n./cpputest/src/examples/ApplicationLib/EventDispatcher.cpp\r\n./cpputest/src/examples/ApplicationLib/AllTests.h\r\n./cpputest/src/examples/ApplicationLib/CircularBuffer.cpp\r\n./cpputest/src/examples/ApplicationLib/hello.h\r\n./cpputest/src/examples/ApplicationLib/Printer.h\r\n./cpputest/src/examples/ApplicationLib/hello.c\r\n./cpputest/src/examples/ApplicationLib/ApplicationLib.dsp\r\n./cpputest/src/examples/.settings\r\n./cpputest/src/examples/.settings/org.eclipse.cdt.core.prefs\r\n./cpputest/src/NEWS\r\n./cpputest/src/AUTHORS\r\n./cpputest/src/Makefile_CppUTestExt\r\n./cpputest/src/cpputest.pc.in\r\n./cpputest/src/makeVS2008.bat\r\n./cpputest/src/CppUTest_VS2008.sln\r\n./cpputest/src/cpputest_doxy_gen.conf\r\n./cpputest/src/makeVc6.bat\r\n./cpputest/src/cpputest-hist.txt\r\n./cpputest/src/.project\r\n./cpputest/src/m4\r\n./cpputest/src/m4/libtool.m4\r\n./cpputest/src/m4/ltsugar.m4\r\n./cpputest/src/m4/ltoptions.m4\r\n./cpputest/src/m4/ltversion.m4\r\n./cpputest/src/m4/acx_pthread.m4\r\n./cpputest/src/m4/lt~obsolete.m4\r\n./cpputest/src/depcomp\r\n./cpputest/src/CppUTest.vcxproj\r\n./cpputest/src/compile\r\n./cpputest/src/Makefile_using_MakefileWorker\r\n./cpputest/src/scripts\r\n./cpputest/src/scripts/reformat.sh\r\n./cpputest/src/scripts/README.txt\r\n./cpputest/src/scripts/NewCModule.sh\r\n./cpputest/src/scripts/"] +[10.986737, "o", "NewCBaseModule.sh\r\n./cpputest/src/scripts/UnityTemplates\r\n./cpputest/src/scripts/UnityTemplates/FunctionNameCTest.cpp\r\n./cpputest/src/scripts/UnityTemplates/ClassNameCMultipleInstanceTest.cpp\r\n./cpputest/src/scripts/UnityTemplates/InterfaceCTest.cpp\r\n./cpputest/src/scripts/UnityTemplates/ClassNameCTest.cpp\r\n./cpputest/src/scripts/UnityTemplates/ClassNameCIoDriverTest.cpp\r\n./cpputest/src/scripts/NewCFunction.sh\r\n./cpputest/src/scripts/NewCmiModule.sh\r\n./cpputest/src/scripts/NewHelp.sh\r\n./cpputest/src/scripts/NewCIoDriver.sh\r\n./cpputest/src/scripts/NewLibrary.sh\r\n./cpputest/src/scripts/NewCInterface.sh\r\n./cpputest/src/scripts/NewInterface.sh\r\n./cpputest/src/scripts/filterGcov.sh\r\n./cpputest/src/scripts/svnignore.txt\r\n./cpputest/src/scripts/templates\r\n./cpputest/src/scripts/templates/MockClassName.h\r\n./cpputest/src/scripts/templates/ClassNameCIoDriver.h\r\n./cpputest/src/scripts/templates/ClassName.cpp\r\n./cpputest/src/scripts/templates/FunctionNameCTest.cpp\r\n./cpputest/src/scripts/templates/ClassNameCMultipleInstanceTest.cpp\r\n./cpputest/src/scripts/templates/MockClassNameC.h\r\n./cpputest/src/scripts/templates/InterfaceCTest.cpp\r\n./cpputest/src/scripts/templates/FunctionNameC.c\r\n./cpputest/src/scripts/templates/InterfaceTest.cpp\r\n./cpputest/src/scripts/templates/ProjectTemplate\r\n./cpputest/src/scripts/templates/ProjectTemplate/src\r\n./cpputest/src/scripts/templates/ProjectTemplate/src/util\r\n./cpputest/src/scripts/templates/ProjectTemplate/src/util/ProjectBuildTime.cpp\r\n./cpputest/src/scripts/templates/ProjectTemplate/Project.project\r\n./cpputest/src/scripts/templates/ProjectTemplate/include\r\n./cpputest/src/scripts/templates/ProjectTemplate/include/util\r\n./cpputest/src/scripts/templates/ProjectTemplate/include/util/ProjectBuildTime.h\r\n./cpputest/src/scripts/templates/ProjectTemplate/Project.cproject\r\n./cpputest/src/scripts/templates/ProjectTemplate/tests\r\n./cpputest/src/scripts/templates/ProjectTemplate/tests/util\r\n./cpputest/src/scripts/templates/ProjectTemplate/tests/util/ProjectBuildTimeTest.cpp\r\n./cpputest/src/scripts/templates/ProjectTemplate/tests/AllTests.cpp\r\n./cpputest/src/scripts/templates/ProjectTemplate/ProjectMakefile\r\n./cpputest/src/scripts/templates/MockClassNameC.c\r\n./cpputest/src/scripts/templates/ClassNameCTest.cpp\r\n./cpputest/src/scripts/templates/ClassNameCPolymorphic.h\r\n./cpputest/src/scripts/templates/ClassNameCMultipleInstance.h\r\n./cpputest/src/scripts/templates/ClassNameC.c\r\n./cpputest/src/scripts/templates/ClassNameCPolymorphic.c\r\n./cpputest/src/scripts/templates/ClassNameTest.cpp\r\n./cpputest/src/scripts/templates/ClassNameCIoDriver.c\r\n./cpputest/src/scripts/templates/ClassNameC.h\r\n./cpputest/src/scripts/templates/ClassNameCIoDriverTest.cpp\r\n./cpputest/src/scripts/templates/FunctionNameC.h\r\n./cpputest/src/scripts/templates/ClassNameCMultipleInstance.c\r\n./cpputest/src/scripts/templates/ClassName.h\r\n./cpputest/src/scripts/GenerateSrcFiles.sh\r\n./cpputest/src/scripts/zipExclude.txt\r\n./cpputest/src/scripts/ReleaseCppUTest.sh\r\n./cpputest/src/scripts/convertToUnity\r\n./cpputest/src/scripts/convertToUnity/README.txt\r\n./cpputest/src/scripts/convertToUnity/cpp_u_test_to_unity_utils_tests.rb\r\n./cpputest/src/scripts/convertToUnity/create_group_runner.rb\r\n./cpputest/src/scripts/convertToUnity/cpp_u_test_to_unity.rb\r\n./cpputest/src/scripts/convertToUnity/create_unity_test_runner.rb\r\n./cpputest/src/scripts/convertToUnity/cpp_u_test_to_unity_utils.rb\r\n./cpputest/src/scripts/checkForCppUTestEnvVariable.sh\r\n./cpputest/src/scripts/NewProject.sh\r\n./cpputest/src/scripts/squeeze.sh\r\n./cpputest/src/scripts/NewPackageDirs.sh\r\n./cpputest/src/scripts/InstallScripts.sh\r\n./cpputest/src/scripts/travis_ci_build.sh\r\n./cpputest/src/scripts/CppUnitTemplates\r\n./cpputest/src/scripts/CppUnitTemplates/MockClassName.h\r\n./cpputest/src/scripts/CppUnitTemplates/ClassName.cpp\r\n./cpputest/src/scripts/CppUnitTemplates/ClassNameCMultipleInstanceTest.cpp\r\n./cpputest/src/scripts/CppUnitTemplates/MockClassNameC.h\r\n./cpputest/src/scripts/CppUnitTemplates/InterfaceCTest.cpp\r\n./cpputest/src/scripts/CppUnitTemplates/InterfaceTest.cpp\r\n./cpputest/src/scripts"] +[10.986772, "o", "/CppUnitTemplates/ProjectTemplate\r\n./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/src\r\n./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/src/util\r\n./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/src/util/ProjectBuildTime.cpp\r\n./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/include\r\n./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/include/util\r\n./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/include/util/ProjectBuildTime.h\r\n./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/tests\r\n./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/tests/util\r\n./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/tests/util/ProjectBuildTimeTest.cpp\r\n./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/tests/AllTests.cpp\r\n./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/ProjectMakefile\r\n./cpputest/src/scripts/CppUnitTemplates/MockClassNameC.c\r\n./cpputest/src/scripts/CppUnitTemplates/ClassNameCTest.cpp\r\n./cpputest/src/scripts/CppUnitTemplates/ClassNameCPolymorphic.h\r\n./cpputest/src/scripts/CppUnitTemplates/ClassNameCMultipleInstance.h\r\n./cpputest/src/scripts/CppUnitTemplates/ClassNameC.c\r\n./cpputest/src/scripts/CppUnitTemplates/ClassNameCPolymorphic.c\r\n./cpputest/src/scripts/CppUnitTemplates/ClassNameTest.cpp\r\n./cpputest/src/scripts/CppUnitTemplates/ClassNameC.h\r\n./cpputest/src/scripts/CppUnitTemplates/ClassNameCMultipleInstance.c\r\n./cpputest/src/scripts/CppUnitTemplates/ClassName.h\r\n./cpputest/src/scripts/NewClass.sh\r\n./cpputest/src/scripts/VS2010Templates\r\n./cpputest/src/scripts/VS2010Templates/README.txt\r\n./cpputest/src/scripts/VS2010Templates/CppUTest_VS2010.props\r\n./cpputest/src/scripts/RefactorRenameIncludeFile.sh\r\n./cpputest/src/Makefile.am\r\n./cpputest/src/aclocal.m4\r\n./cpputest/src/CppUTest.mak\r\n./cpputest/src/INSTALL\r\n./cpputest/src/README_InstallCppUTest.txt\r\n./cpputest/src/.cproject\r\n./cpputest/src/include\r\n./cpputest/src/include/Platforms\r\n./cpputest/src/include/Platforms/Gcc\r\n./cpputest/src/include/Platforms/Gcc/Platform.h\r\n./cpputest/src/include/Platforms/VisualCpp\r\n./cpputest/src/include/Platforms/VisualCpp/stdint.h\r\n./cpputest/src/include/Platforms/VisualCpp/Platform.h\r\n./cpputest/src/include/Platforms/StarterKit\r\n./cpputest/src/include/Platforms/StarterKit/Platform.h\r\n./cpputest/src/include/Platforms/Symbian\r\n./cpputest/src/include/Platforms/Symbian/Platform.h\r\n./cpputest/src/include/CppUTestExt\r\n./cpputest/src/include/CppUTestExt/CodeMemoryReportFormatter.h\r\n./cpputest/src/include/CppUTestExt/MockSupportPlugin.h\r\n./cpputest/src/include/CppUTestExt/MockNamedValue.h\r\n./cpputest/src/include/CppUTestExt/MockExpectedFunctionsList.h\r\n./cpputest/src/include/CppUTestExt/MockSupport.h\r\n./cpputest/src/include/CppUTestExt/MemoryReporterPlugin.h\r\n./cpputest/src/include/CppUTestExt/CppUTestGTest\r\n./cpputest/src/include/CppUTestExt/CppUTestGTest/gtest\r\n./cpputest/src/include/CppUTestExt/CppUTestGTest/gtest/gtest.h\r\n./cpputest/src/include/CppUTestExt/MemoryReportFormatter.h\r\n./cpputest/src/include/CppUTestExt/CppUTestGMock\r\n./cpputest/src/include/CppUTestExt/CppUTestGMock/gmock\r\n./cpputest/src/include/CppUTestExt/CppUTestGMock/gmock/gmock.h\r\n./cpputest/src/include/CppUTestExt/GTestInterface.h\r\n./cpputest/src/include/CppUTestExt/OrderedTest.h\r\n./cpputest/src/include/CppUTestExt/GTestConvertor.h\r\n./cpputest/src/include/CppUTestExt/MockSupport_c.h\r\n./cpputest/src/include/CppUTestExt/GMock.h\r\n./cpputest/src/include/CppUTestExt/MemoryReportAllocator.h\r\n./cpputest/src/include/CppUTestExt/MockExpectedFunctionCall.h\r\n./cpputest/src/include/CppUTestExt/MockFunctionCall.h\r\n./cpputest/src/include/CppUTestExt/MockActualFunctionCall.h\r\n./cpputest/src/include/CppUTestExt/MockFailure.h\r\n./cpputest/src/include/CppUTest\r\n./cpputest/src/include/CppUTest/TestFailure.h\r\n./cpputest/src/include/CppUTest/StandardCLibrary.h\r\n./cpputest/src/include/CppUTest/UtestMacros.h\r\n./cpputest/src/include/CppUTest/TestHarness_c.h\r\n./cpputest/src/include/CppUTest/MemoryLeakWarningPlugin.h\r\n./cpputest/src/include/CppUTest/Utest.h\r\n./cpputest/src/include/CppUTest/TestResult.h\r\n./cpputest/src/include/CppUTest/"] +[10.98683, "o", "MemoryLeakDetector.h\r\n./cpputest/src/include/CppUTest/CommandLineTestRunner.h\r\n./cpputest/src/include/CppUTest/TestPlugin.h\r\n./cpputest/src/include/CppUTest/SimpleString.h\r\n./cpputest/src/include/CppUTest/MemoryLeakDetectorNewMacros.h\r\n./cpputest/src/include/CppUTest/TestOutput.h\r\n./cpputest/src/include/CppUTest/CppUTestConfig.h\r\n./cpputest/src/include/CppUTest/TestTestingFixture.h\r\n./cpputest/src/include/CppUTest/JUnitTestOutput.h\r\n./cpputest/src/include/CppUTest/PlatformSpecificFunctions_c.h\r\n./cpputest/src/include/CppUTest/TestHarness.h\r\n./cpputest/src/include/CppUTest/TestFilter.h\r\n./cpputest/src/include/CppUTest/MemoryLeakDetectorMallocMacros.h\r\n./cpputest/src/include/CppUTest/TestRegistry.h\r\n./cpputest/src/include/CppUTest/CommandLineArguments.h\r\n./cpputest/src/include/CppUTest/TestMemoryAllocator.h\r\n./cpputest/src/include/CppUTest/PlatformSpecificFunctions.h\r\n./cpputest/src/makeVS2010.bat\r\n./cpputest/src/COPYING\r\n./cpputest/src/config.guess\r\n./cpputest/src/configure\r\n./cpputest/src/.dfetch_data.yaml\r\n./cpputest/src/CppUTest_VS2010.sln\r\n./cpputest/src/tests\r\n./cpputest/src/tests/CommandLineArgumentsTest.cpp\r\n./cpputest/src/tests/CMakeLists.txt\r\n./cpputest/src/tests/AllocationInCFile.c\r\n./cpputest/src/tests/TestFailureTest.cpp\r\n./cpputest/src/tests/AllocationInCppFile.h\r\n./cpputest/src/tests/MemoryLeakDetectorTest.cpp\r\n./cpputest/src/tests/TestUTestMacro.cpp\r\n./cpputest/src/tests/TestResultTest.cpp\r\n./cpputest/src/tests/PluginTest.cpp\r\n./cpputest/src/tests/AllTests.dsp\r\n./cpputest/src/tests/AllocLetTestFree.c\r\n./cpputest/src/tests/NullTestTest.cpp\r\n./cpputest/src/tests/UtestTest.cpp\r\n./cpputest/src/tests/TestHarness_cTest.cpp\r\n./cpputest/src/tests/CommandLineTestRunnerTest.cpp\r\n./cpputest/src/tests/TestHarness_cTestCFile.c\r\n./cpputest/src/tests/MemoryLeakOperatorOverloadsTest.cpp\r\n./cpputest/src/tests/SimpleStringTest.cpp\r\n./cpputest/src/tests/TestMemoryAllocatorTest.cpp\r\n./cpputest/src/tests/CppUTestExt\r\n./cpputest/src/tests/CppUTestExt/TestMockSupport_cCFile.h\r\n./cpputest/src/tests/CppUTestExt/TestMockFailure.h\r\n./cpputest/src/tests/CppUTestExt/CMakeLists.txt\r\n./cpputest/src/tests/CppUTestExt/TestMockSupport.cpp\r\n./cpputest/src/tests/CppUTestExt/TestMockSupport_c.cpp\r\n./cpputest/src/tests/CppUTestExt/TestMockExpectedFunctionsList.cpp\r\n./cpputest/src/tests/CppUTestExt/TestGMock.cpp\r\n./cpputest/src/tests/CppUTestExt/TestMockPlugin.cpp\r\n./cpputest/src/tests/CppUTestExt/TestMemoryReportAllocator.cpp\r\n./cpputest/src/tests/CppUTestExt/TestMockActualFunctionCall.cpp\r\n./cpputest/src/tests/CppUTestExt/TestGTest.cpp\r\n./cpputest/src/tests/CppUTestExt/TestMemoryReportFormatter.cpp\r\n./cpputest/src/tests/CppUTestExt/TestMockCheatSheet.cpp\r\n./cpputest/src/tests/CppUTestExt/TestMockFailure.cpp\r\n./cpputest/src/tests/CppUTestExt/TestMockExpectedFunctionCall.cpp\r\n./cpputest/src/tests/CppUTestExt/TestCodeMemoryReportFormatter.cpp\r\n./cpputest/src/tests/CppUTestExt/TestMockSupport_cCFile.c\r\n./cpputest/src/tests/CppUTestExt/TestOrderedTest.cpp\r\n./cpputest/src/tests/CppUTestExt/AllTests.cpp\r\n./cpputest/src/tests/CppUTestExt/TestMemoryReporterPlugin.cpp\r\n./cpputest/src/tests/AllTests.vcxproj\r\n./cpputest/src/tests/PreprocessorTest.cpp\r\n./cpputest/src/tests/CheatSheetTest.cpp\r\n./cpputest/src/tests/AllocationInCppFile.cpp\r\n./cpputest/src/tests/AllTests.h\r\n./cpputest/src/tests/RunAllTests.sh\r\n./cpputest/src/tests/MemoryLeakWarningTest.cpp\r\n./cpputest/src/tests/AllocationInCFile.h\r\n./cpputest/src/tests/AllocLetTestFreeTest.cpp\r\n./cpputest/src/tests/AllTests.dep\r\n./cpputest/src/tests/AllTests.vcproj\r\n./cpputest/src/tests/TestFilterTest.cpp\r\n./cpputest/src/tests/AllTests.cpp\r\n./cpputest/src/tests/AllTests.mak\r\n./cpputest/src/tests/TestRegistryTest.cpp\r\n./cpputest/src/tests/AllocLetTestFree.h\r\n./cpputest/src/tests/TestInstallerTest.cpp\r\n./cpputest/src/tests/JUnitOutputTest.cpp\r\n./cpputest/src/tests/TestOutputTest.cpp\r\n./cpputest/src/tests/SetPluginTest.cpp\r\n./cpputest/src/README\r\n./cpputest/src/cmake\r\n./cpputest/src/cmake/Modules\r\n./cpputest/src/cmake/Modules/CppUTestConfigurationOptions.cmake\r\n./cpputest/src/cmake/Modules/CppUTestWarningFlags.c"] +[10.986846, "o", "make\r\n./cpputest/src/install-sh\r\n./cpputest/src/CppUTest.vcproj\r\n./cpputest/src/config.h.in\r\n./cpputest/src/CppUTest.dsp\r\n./cpputest/src/.settings\r\n./cpputest/src/.settings/org.eclipse.cdt.core.prefs\r\n./cpputest/src/.settings/org.eclipse.cdt.ui.prefs\u001b[0m\r\n"] +[10.986885, "o", "\u001b[0m"] +[10.987043, "o", "\u001b[0m"] +[11.049019, "o", "$ "] +[12.050742, "o", "\u001b["] +[12.231086, "o", "1m"] +[12.321204, "o", "fi"] +[12.411426, "o", "nd"] +[12.501739, "o", " . "] +[12.591888, "o", "| "] +[12.682016, "o", "df"] +[12.772084, "o", "et"] +[12.862191, "o", "ch"] +[12.952365, "o", " fi"] +[13.134275, "o", "lt"] +[13.222963, "o", "er"] +[13.313109, "o", " e"] +[13.403285, "o", "ch"] +[13.493411, "o", "o\u001b["] +[13.583565, "o", "0m"] +[14.58422, "o", "\r\n"] +[15.11233, "o", "./jsmn ./jsmn/Makefile ./jsmn/.travis.yml ./jsmn/README.md ./jsmn/example ./jsmn/example/jsondump.c ./jsmn/example/simple.c ./jsmn/.clang-format ./jsmn/library.json ./jsmn/LICENSE ./jsmn/.dfetch_data.yaml ./jsmn/jsmn.h ./jsmn/test ./jsmn/test/test.h ./jsmn/test/testutil.h ./jsmn/test/tests.c ./cpputest/src ./cpputest/src/build ./cpputest/src/build/alltests.mmp ./cpputest/src/build/ComponentMakefile ./cpputest/src/build/ComponentMakefileExampleParameters ./cpputest/src/build/cpputest.mmp ./cpputest/src/build/StaticLibMakefile ./cpputest/src/build/MakefileWorker.mk ./cpputest/src/build/bld.inf ./cpputest/src/missing ./cpputest/src/ChangeLog ./cpputest/src/.travis.yml ./cpputest/src/CMakeLists.txt ./cpputest/src/.cdtproject ./cpputest/src/Doxyfile ./cpputest/src/config.h.cmake ./cpputest/src/README.md ./cpputest/src/config.sub ./cpputest/src/ltmain.sh ./cpputest/src/docs ./cpputest/src/docs/WalkThrough_VS21010.docx ./cpputest/src/README_UsersOfPriorVersions.txt ./cpputest/src/Makefile.in ./cpputest/src/src ./cpp"] +[15.112494, "o", "utest/src/src/Platforms ./cpputest/src/src/Platforms/Gcc ./cpputest/src/src/Platforms/Gcc/UtestPlatform.cpp ./cpputest/src/src/Platforms/VisualCpp ./cpputest/src/src/Platforms/VisualCpp/UtestPlatform.cpp ./cpputest/src/src/Platforms/Iar ./cpputest/src/src/Platforms/Iar/UtestPlatform.cpp ./cpputest/src/src/Platforms/StarterKit ./cpputest/src/src/Platforms/StarterKit/StarterMemoryLeakWarning.cpp ./cpputest/src/src/Platforms/StarterKit/UtestPlatform.cpp ./cpputest/src/src/Platforms/GccNoStdC ./cpputest/src/src/Platforms/GccNoStdC/UtestPlatform.cpp ./cpputest/src/src/Platforms/Symbian ./cpputest/src/src/Platforms/Symbian/README_Symbian.txt ./cpputest/src/src/Platforms/Symbian/UtestPlatform.cpp ./cpputest/src/src/Platforms/Symbian/SymbianMemoryLeakWarning.cpp ./cpputest/src/src/CppUTestExt ./cpputest/src/src/CppUTestExt/MockSupport_c.cpp ./cpputest/src/src/CppUTestExt/CMakeLists.txt ./cpputest/src/src/CppUTestExt/MemoryReportAllocator.cpp ./cpputest/src/src/CppUTestExt/MockActualFunctionCall.cpp ./cpputest/src/src/CppUTestExt/MockSupportPlugin.cpp ./cpputest/src/src/CppUTestExt/MemoryReportFormatter.cpp ./cpputest/src/src/CppUTestExt/MockNamedValue.cpp ./cpputest/src/src/CppUTestExt/MockExpectedFunctionsList.cpp ./cpputest/src/src/CppUTestExt/MockSupport.cpp ./cpputest/src/src/CppUTestExt/MemoryReporterPlugin.cpp ./cpputest/src/src/CppUTestExt/MockFailure.cpp ./cpputest/src/src/CppUTestExt/GTestConvertor.cpp ./cpputest/src/src/CppUTestExt/MockExpectedFunctionCall.cpp ./cpputest/src/src/CppUTestExt/OrderedTest.cpp ./cpputest/src/src/CppUTestExt/MockFunctionCall.cpp ./cpputest/src/src/CppUTestExt/CodeMemoryReportFormatter.cpp ./cpputest/src/src/CppUTest ./cpputest/src/src/CppUTest/CMakeLists.txt ./cpputest/src/src/CppUTest/MemoryLeakDetector.cpp ./cpputest/src/src/CppUTest/Utest.cpp ./cpputest/src/src/CppUTest/TestResult.cpp ./cpputest/src/src/CppUTest/TestFailure.cpp ./cpputest/src/src/CppUTest/TestFilter.cpp ./cpputest/src/src/CppUTest/JUnitTestOutput.cpp ./cpputest/src/src/CppUTest/CommandLineTestRunner.cpp ./cpputest/src/src/CppUTest/TestMemoryAllocator.cpp ./cpputest/src/src/CppUTest/TestPlugin.cpp ./cpputest/src/src/CppUTest/TestRegistry.cpp ./cpputest/src/src/CppUTest/TestHarness_c.cpp ./cpputest/src/src/CppUTest/MemoryLeakWarningPlugin.cpp ./cpputest/src/src/CppUTest/UnitTestHarness.dsp ./cpputest/src/src/CppUTest/SimpleString.cpp ./cpputest/src/src/CppUTest/TestOutput.cpp ./cpputest/src/src/CppUTest/CommandLineArguments.cpp ./cpputest/src/CppUTest.dsw ./cpputest/src/platforms ./cpputest/src/platforms/IAR-STR912.zip ./cpputest/src/lib ./cpputest/src/lib/NoteOnVisualStudio.txt ./cpputest/src/test-driver ./cpputest/src/.gitignore ./cpputest/src/configure.ac ./cpputest/src/README_CppUTest_for_C.txt ./cpputest/src/examples ./cpputest/src/examples/Makefile ./cpputest/src/examples/README.txt ./cpputest/src/examples/.cdtproject ./cpputest/src/examples/CppUTestExample.dsw ./cpputest/src/examples/AllTests ./cpputest/src/examples/AllTests/AllTests.dsp ./cpputest/src/examples/AllTests/MockDocumentationTest.cpp ./cpputest/src/examples/AllTests/PrinterTest.cpp ./cpputest/src/examples/AllTests/EventDispatcherTest.cpp ./cpputest/src/examples/AllTests/RunAllTests.sh ./cpputest/src/examples/AllTests/HelloTest.cpp ./cpputest/src/examples/AllTests/CircularBufferTest.cpp ./cpputest/src/examples/AllTests/AllTests.cpp ./cpputest/src/examples/.project ./cpputest/src/examples/ApplicationLib ./cpputest/src/examples/ApplicationLib/CircularBuffer.h ./cpputest/src/examples/ApplicationLib/ExamplesNewOverrides.h ./cpputest/src/examples/ApplicationLib/Printer.cpp ./cpputest/src/examples/ApplicationLib/MockPrinter.h ./cpputest/src/examples/ApplicationLib/EventDispatcher.h ./cpputest/src/examples/ApplicationLib/EventDispatcher.cpp ./cpputest/src/examples/ApplicationLib/AllTests.h ./cpputest/src/examples/ApplicationLib/CircularBuffer.cpp ./cpputest/src/examples/ApplicationLib/hello.h ./cpputest/src/examples/ApplicationLib/Printer.h ./cpputest/src/examples/ApplicationLib/hello.c ./cpputest/src/examples/ApplicationLib/ApplicationLib.dsp ./cpputest/src/ex"] +[15.113231, "o", "amples/.settings ./cpputest/src/examples/.settings/org.eclipse.cdt.core.prefs ./cpputest/src/NEWS ./cpputest/src/AUTHORS ./cpputest/src/Makefile_CppUTestExt ./cpputest/src/cpputest.pc.in ./cpputest/src/makeVS2008.bat ./cpputest/src/CppUTest_VS2008.sln ./cpputest/src/cpputest_doxy_gen.conf ./cpputest/src/makeVc6.bat ./cpputest/src/cpputest-hist.txt ./cpputest/src/.project ./cpputest/src/m4 ./cpputest/src/m4/libtool.m4 ./cpputest/src/m4/ltsugar.m4 ./cpputest/src/m4/ltoptions.m4 ./cpputest/src/m4/ltversion.m4 ./cpputest/src/m4/acx_pthread.m4 ./cpputest/src/m4/lt~obsolete.m4 ./cpputest/src/depcomp ./cpputest/src/CppUTest.vcxproj ./cpputest/src/compile ./cpputest/src/Makefile_using_MakefileWorker ./cpputest/src/scripts ./cpputest/src/scripts/reformat.sh ./cpputest/src/scripts/README.txt ./cpputest/src/scripts/NewCModule.sh ./cpputest/src/scripts/NewCBaseModule.sh ./cpputest/src/scripts/UnityTemplates ./cpputest/src/scripts/UnityTemplates/FunctionNameCTest.cpp ./cpputest/src/scripts/UnityTemplates/ClassNameCMultipleInstanceTest.cpp ./cpputest/src/scripts/UnityTemplates/InterfaceCTest.cpp ./cpputest/src/scripts/UnityTemplates/ClassNameCTest.cpp ./cpputest/src/scripts/UnityTemplates/ClassNameCIoDriverTest.cpp ./cpputest/src/scripts/NewCFunction.sh ./cpputest/src/scripts/NewCmiModule.sh ./cpputest/src/scripts/NewHelp.sh ./cpputest/src/scripts/NewCIoDriver.sh ./cpputest/src/scripts/NewLibrary.sh ./cpputest/src/scripts/NewCInterface.sh ./cpputest/src/scripts/NewInterface.sh ./cpputest/src/scripts/filterGcov.sh ./cpputest/src/scripts/svnignore.txt ./cpputest/src/scripts/templates ./cpputest/src/scripts/templates/MockClassName.h ./cpputest/src/scripts/templates/ClassNameCIoDriver.h ./cpputest/src/scripts/templates/ClassName.cpp ./cpputest/src/scripts/templates/FunctionNameCTest.cpp ./cpputest/src/scripts/templates/ClassNameCMultipleInstanceTest.cpp ./cpputest/src/scripts/templates/MockClassNameC.h ./cpputest/src/scripts/templates/InterfaceCTest.cpp ./cpputest/src/scripts/templates/FunctionNameC.c ./cpputest/src/scripts/templates/InterfaceTest.cpp ./cpputest/src/scripts/templates/ProjectTemplate ./cpputest/src/scripts/templates/ProjectTemplate/src ./cpputest/src/scripts/templates/ProjectTemplate/src/util ./cpputest/src/scripts/templates/ProjectTemplate/src/util/ProjectBuildTime.cpp ./cpputest/src/scripts/templates/ProjectTemplate/Project.project ./cpputest/src/scripts/templates/ProjectTemplate/include ./cpputest/src/scripts/templates/ProjectTemplate/include/util ./cpputest/src/scripts/templates/ProjectTemplate/include/util/ProjectBuildTime.h ./cpputest/src/scripts/templates/ProjectTemplate/Project.cproject ./cpputest/src/scripts/templates/ProjectTemplate/tests ./cpputest/src/scripts/templates/ProjectTemplate/tests/util ./cpputest/src/scripts/templates/ProjectTemplate/tests/util/ProjectBuildTimeTest.cpp ./cpputest/src/scripts/templates/ProjectTemplate/tests/AllTests.cpp ./cpputest/src/scripts/templates/ProjectTemplate/ProjectMakefile ./cpputest/src/scripts/templates/MockClassNameC.c ./cpputest/src/scripts/templates/ClassNameCTest.cpp ./cpputest/src/scripts/templates/ClassNameCPolymorphic.h ./cpputest/src/scripts/templates/ClassNameCMultipleInstance.h ./cpputest/src/scripts/templates/ClassNameC.c ./cpputest/src/scripts/templates/ClassNameCPolymorphic.c ./cpputest/src/scripts/templates/ClassNameTest.cpp ./cpputest/src/scripts/templates/ClassNameCIoDriver.c ./cpputest/src/scripts/templates/ClassNameC.h ./cpputest/src/scripts/templates/ClassNameCIoDriverTest.cpp ./cpputest/src/scripts/templates/FunctionNameC.h ./cpputest/src/scripts/templates/ClassNameCMultipleInstance.c ./cpputest/src/scripts/templates/ClassName.h ./cpputest/src/scripts/GenerateSrcFiles.sh ./cpputest/src/scripts/zipExclude.txt ./cpputest/src/scripts/ReleaseCppUTest.sh ./cpputest/src/scripts/convertToUnity ./cpputest/src/scripts/convertToUnity/README.txt ./cpputest/src/scripts/convertToUnity/cpp_u_test_to_unity_utils_tests.rb ./cpputest/src/scripts/convertToUnity/create_group_runner.rb ./cpputest/src/scripts/convertToUnity/cpp_u_test_to_unity.rb ./cpputest/src/scripts/con"] +[15.113505, "o", "vertToUnity/create_unity_test_runner.rb ./cpputest/src/scripts/convertToUnity/cpp_u_test_to_unity_utils.rb ./cpputest/src/scripts/checkForCppUTestEnvVariable.sh ./cpputest/src/scripts/NewProject.sh ./cpputest/src/scripts/squeeze.sh ./cpputest/src/scripts/NewPackageDirs.sh ./cpputest/src/scripts/InstallScripts.sh ./cpputest/src/scripts/travis_ci_build.sh ./cpputest/src/scripts/CppUnitTemplates ./cpputest/src/scripts/CppUnitTemplates/MockClassName.h ./cpputest/src/scripts/CppUnitTemplates/ClassName.cpp ./cpputest/src/scripts/CppUnitTemplates/ClassNameCMultipleInstanceTest.cpp ./cpputest/src/scripts/CppUnitTemplates/MockClassNameC.h ./cpputest/src/scripts/CppUnitTemplates/InterfaceCTest.cpp ./cpputest/src/scripts/CppUnitTemplates/InterfaceTest.cpp ./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate ./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/src ./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/src/util ./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/src/util/ProjectBuildTime.cpp ./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/include ./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/include/util ./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/include/util/ProjectBuildTime.h ./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/tests ./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/tests/util ./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/tests/util/ProjectBuildTimeTest.cpp ./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/tests/AllTests.cpp ./cpputest/src/scripts/CppUnitTemplates/ProjectTemplate/ProjectMakefile ./cpputest/src/scripts/CppUnitTemplates/MockClassNameC.c ./cpputest/src/scripts/CppUnitTemplates/ClassNameCTest.cpp ./cpputest/src/scripts/CppUnitTemplates/ClassNameCPolymorphic.h ./cpputest/src/scripts/CppUnitTemplates/ClassNameCMultipleInstance.h ./cpputest/src/scripts/CppUnitTemplates/ClassNameC.c ./cpputest/src/scripts/CppUnitTemplates/ClassNameCPolymorphic.c ./cpputest/src/scripts/CppUnitTemplates/ClassNameTest.cpp ./cpputest/src/scripts/CppUnitTemplates/ClassNameC.h ./cpputest/src/scripts/CppUnitTemplates/ClassNameCMultipleInstance.c ./cpputest/src/scripts/CppUnitTemplates/ClassName.h ./cpputest/src/scripts/NewClass.sh ./cpputest/src/scripts/VS2010Templates ./cpputest/src/scripts/VS2010Templates/README.txt ./cpputest/src/scripts/VS2010Templates/CppUTest_VS2010.props ./cpputest/src/scripts/RefactorRenameIncludeFile.sh ./cpputest/src/Makefile.am ./cpputest/src/aclocal.m4 ./cpputest/src/CppUTest.mak ./cpputest/src/INSTALL ./cpputest/src/README_InstallCppUTest.txt ./cpputest/src/.cproject ./cpputest/src/include ./cpputest/src/include/Platforms ./cpputest/src/include/Platforms/Gcc ./cpputest/src/include/Platforms/Gcc/Platform.h ./cpputest/src/include/Platforms/VisualCpp ./cpputest/src/include/Platforms/VisualCpp/stdint.h ./cpputest/src/include/Platforms/VisualCpp/Platform.h ./cpputest/src/include/Platforms/StarterKit ./cpputest/src/include/Platforms/StarterKit/Platform.h ./cpputest/src/include/Platforms/Symbian ./cpputest/src/include/Platforms/Symbian/Platform.h ./cpputest/src/include/CppUTestExt ./cpputest/src/include/CppUTestExt/CodeMemoryReportFormatter.h ./cpputest/src/include/CppUTestExt/MockSupportPlugin.h ./cpputest/src/include/CppUTestExt/MockNamedValue.h ./cpputest/src/include/CppUTestExt/MockExpectedFunctionsList.h ./cpputest/src/include/CppUTestExt/MockSupport.h ./cpputest/src/include/CppUTestExt/MemoryReporterPlugin.h ./cpputest/src/include/CppUTestExt/CppUTestGTest ./cpputest/src/include/CppUTestExt/CppUTestGTest/gtest ./cpputest/src/include/CppUTestExt/CppUTestGTest/gtest/gtest.h ./cpputest/src/include/CppUTestExt/MemoryReportFormatter.h ./cpputest/src/include/CppUTestExt/CppUTestGMock ./cpputest/src/include/CppUTestExt/CppUTestGMock/gmock ./cpputest/src/include/CppUTestExt/CppUTestGMock/gmock/gmock.h ./cpputest/src/include/CppUTestExt/GTestInterface.h ./cpputest/src/include/CppUTestExt/OrderedTest.h ./cpputest/src/include/CppUTestExt/GTestConvertor.h ./cpputest/src/include/CppUTestExt/MockSupport_c.h ./cpputest/src/include/C"] +[15.113545, "o", "ppUTestExt/GMock.h ./cpputest/src/include/CppUTestExt/MemoryReportAllocator.h ./cpputest/src/include/CppUTestExt/MockExpectedFunctionCall.h ./cpputest/src/include/CppUTestExt/MockFunctionCall.h ./cpputest/src/include/CppUTestExt/MockActualFunctionCall.h ./cpputest/src/include/CppUTestExt/MockFailure.h ./cpputest/src/include/CppUTest ./cpputest/src/include/CppUTest/TestFailure.h ./cpputest/src/include/CppUTest/StandardCLibrary.h ./cpputest/src/include/CppUTest/UtestMacros.h ./cpputest/src/include/CppUTest/TestHarness_c.h ./cpputest/src/include/CppUTest/MemoryLeakWarningPlugin.h ./cpputest/src/include/CppUTest/Utest.h ./cpputest/src/include/CppUTest/TestResult.h ./cpputest/src/include/CppUTest/MemoryLeakDetector.h ./cpputest/src/include/CppUTest/CommandLineTestRunner.h ./cpputest/src/include/CppUTest/TestPlugin.h ./cpputest/src/include/CppUTest/SimpleString.h ./cpputest/src/include/CppUTest/MemoryLeakDetectorNewMacros.h ./cpputest/src/include/CppUTest/TestOutput.h ./cpputest/src/include/CppUTest/CppUTestConfig.h ./cpputest/src/include/CppUTest/TestTestingFixture.h ./cpputest/src/include/CppUTest/JUnitTestOutput.h ./cpputest/src/include/CppUTest/PlatformSpecificFunctions_c.h ./cpputest/src/include/CppUTest/TestHarness.h ./cpputest/src/include/CppUTest/TestFilter.h ./cpputest/src/include/CppUTest/MemoryLeakDetectorMallocMacros.h ./cpputest/src/include/CppUTest/TestRegistry.h ./cpputest/src/include/CppUTest/CommandLineArguments.h ./cpputest/src/include/CppUTest/TestMemoryAllocator.h ./cpputest/src/include/CppUTest/PlatformSpecificFunctions.h ./cpputest/src/makeVS2010.bat ./cpputest/src/COPYING ./cpputest/src/config.guess ./cpputest/src/configure ./cpputest/src/.dfetch_data.yaml ./cpputest/src/CppUTest_VS2010.sln ./cpputest/src/tests ./cpputest/src/tests/CommandLineArgumentsTest.cpp ./cpputest/src/tests/CMakeLists.txt ./cpputest/src/tests/AllocationInCFile.c ./cpputest/src/tests/TestFailureTest.cpp ./cpputest/src/tests/AllocationInCppFile.h ./cpputest/src/tests/MemoryLeakDetectorTest.cpp ./cpputest/src/tests/TestUTestMacro.cpp ./cpputest/src/tests/TestResultTest.cpp ./cpputest/src/tests/PluginTest.cpp ./cpputest/src/tests/AllTests.dsp ./cpputest/src/tests/AllocLetTestFree.c ./cpputest/src/tests/NullTestTest.cpp ./cpputest/src/tests/UtestTest.cpp ./cpputest/src/tests/TestHarness_cTest.cpp ./cpputest/src/tests/CommandLineTestRunnerTest.cpp ./cpputest/src/tests/TestHarness_cTestCFile.c ./cpputest/src/tests/MemoryLeakOperatorOverloadsTest.cpp ./cpputest/src/tests/SimpleStringTest.cpp ./cpputest/src/tests/TestMemoryAllocatorTest.cpp ./cpputest/src/tests/CppUTestExt ./cpputest/src/tests/CppUTestExt/TestMockSupport_cCFile.h ./cpputest/src/tests/CppUTestExt/TestMockFailure.h ./cpputest/src/tests/CppUTestExt/CMakeLists.txt ./cpputest/src/tests/CppUTestExt/TestMockSupport.cpp ./cpputest/src/tests/CppUTestExt/TestMockSupport_c.cpp ./cpputest/src/tests/CppUTestExt/TestMockExpectedFunctionsList.cpp ./cpputest/src/tests/CppUTestExt/TestGMock.cpp ./cpputest/src/tests/CppUTestExt/TestMockPlugin.cpp ./cpputest/src/tests/CppUTestExt/TestMemoryReportAllocator.cpp ./cpputest/src/tests/CppUTestExt/TestMockActualFunctionCall.cpp ./cpputest/src/tests/CppUTestExt/TestGTest.cpp ./cpputest/src/tests/CppUTestExt/TestMemoryReportFormatter.cpp ./cpputest/src/tests/CppUTestExt/TestMockCheatSheet.cpp ./cpputest/src/tests/CppUTestExt/TestMockFailure.cpp ./cpputest/src/tests/CppUTestExt/TestMockExpectedFunctionCall.cpp ./cpputest/src/tests/CppUTestExt/TestCodeMemoryReportFormatter.cpp ./cpputest/src/tests/CppUTestExt/TestMockSupport_cCFile.c ./cpputest/src/tests/CppUTestExt/TestOrderedTest.cpp ./cpputest/src/tests/CppUTestExt/AllTests.cpp ./cpputest/src/tests/CppUTestExt/TestMemoryReporterPlugin.cpp ./cpputest/src/tests/AllTests.vcxproj ./cpputest/src/tests/PreprocessorTest.cpp ./cpputest/src/tests/CheatSheetTest.cpp ./cpputest/src/tests/AllocationInCppFile.cpp ./cpputest/src/tests/AllTests.h ./cpputest/src/tests/RunAllTests.sh ./cpputest/src/tests/MemoryLeakWarningTest.cpp ./cpputest/src/tests/AllocationInCFile.h ./cpputest/src/tests/AllocLetTestFreeTest.cp"] +[15.113828, "o", "p ./cpputest/src/tests/AllTests.dep ./cpputest/src/tests/AllTests.vcproj ./cpputest/src/tests/TestFilterTest.cpp ./cpputest/src/tests/AllTests.cpp ./cpputest/src/tests/AllTests.mak ./cpputest/src/tests/TestRegistryTest.cpp ./cpputest/src/tests/AllocLetTestFree.h ./cpputest/src/tests/TestInstallerTest.cpp ./cpputest/src/tests/JUnitOutputTest.cpp ./cpputest/src/tests/TestOutputTest.cpp ./cpputest/src/tests/SetPluginTest.cpp ./cpputest/src/README ./cpputest/src/cmake ./cpputest/src/cmake/Modules ./cpputest/src/cmake/Modules/CppUTestConfigurationOptions.cmake ./cpputest/src/cmake/Modules/CppUTestWarningFlags.cmake ./cpputest/src/install-sh ./cpputest/src/CppUTest.vcproj ./cpputest/src/config.h.in ./cpputest/src/CppUTest.dsp ./cpputest/src/.settings ./cpputest/src/.settings/org.eclipse.cdt.core.prefs ./cpputest/src/.settings/org.eclipse.cdt.ui.prefs\r\n\u001b[0m"] +[18.171719, "o", "$ "] +[18.173718, "o", "\u001b"] +[18.354268, "o", "[1"] +[18.444404, "o", "m\u001b"] +[18.534533, "o", "[0"] +[18.624658, "o", "m"] +[18.625109, "o", "\r\n"] +[18.626847, "o", "/workspaces/dfetch/doc/generate-casts\r\n"] diff --git a/doc/generate-casts/filter-demo.sh b/doc/generate-casts/filter-demo.sh new file mode 100755 index 00000000..ac2c4118 --- /dev/null +++ b/doc/generate-casts/filter-demo.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +source ./demo-magic/demo-magic.sh + +PROMPT_TIMEOUT=1 + +# Copy example manifest +mkdir filter +pushd filter + +cp -r ../update/* . +clear + +# Run the command +pe "cat dfetch.yaml" +pe "dfetch filter" +pe "find . | dfetch filter" +pe "find . | dfetch filter echo" + + +PROMPT_TIMEOUT=3 +wait + +pei "" + +popd +rm -rf filter diff --git a/doc/generate-casts/generate-casts.sh b/doc/generate-casts/generate-casts.sh index 39847da1..26852503 100755 --- a/doc/generate-casts/generate-casts.sh +++ b/doc/generate-casts/generate-casts.sh @@ -17,6 +17,7 @@ asciinema rec --overwrite -c "./update-demo.sh" ../asciicasts/update.cast asciinema rec --overwrite -c "./report-demo.sh" ../asciicasts/report.cast asciinema rec --overwrite -c "./report-sbom-demo.sh" ../asciicasts/sbom.cast asciinema rec --overwrite -c "./freeze-demo.sh" ../asciicasts/freeze.cast +asciinema rec --overwrite -c "./filter-demo.sh" ../asciicasts/filter.cast asciinema rec --overwrite -c "./diff-demo.sh" ../asciicasts/diff.cast rm -rf update diff --git a/doc/manual.rst b/doc/manual.rst index 1a6d6eda..a0419ba5 100644 --- a/doc/manual.rst +++ b/doc/manual.rst @@ -115,6 +115,19 @@ Freeze .. automodule:: dfetch.commands.freeze + +Filter +------ +.. argparse:: + :module: dfetch.__main__ + :func: create_parser + :prog: dfetch + :path: filter + +.. asciinema:: asciicasts/filter.cast + +.. automodule:: dfetch.commands.filter + Environment ----------- .. argparse:: @@ -139,3 +152,13 @@ Import .. asciinema:: asciicasts/import.cast .. automodule:: dfetch.commands.import_ + +Filter +------ +.. argparse:: + :module: dfetch.__main__ + :func: create_parser + :prog: dfetch + :path: filter + +.. automodule:: dfetch.commands.filter diff --git a/features/filter-projects.feature b/features/filter-projects.feature new file mode 100644 index 00000000..9d8a4976 --- /dev/null +++ b/features/filter-projects.feature @@ -0,0 +1,33 @@ +@wip +Feature: Filtering file paths before executing a tool + + Projects are dfetched and used in parent projects, users would like to run + static analysis tools but ignore externally vendored projects. The dfetch filter + command makes it possible to wrap a cal to another tool and filter out any external files. + Also it is possible to list all files that are under control of dfetch and this can be used + to automate various tasks. Paths outside the top-level directory should be excluded to prevent + any path traversal. + + Background: + Given a git repository "SomeProject.git" + And a fetched and committed MyProject with the manifest + """ + manifest: + version: 0.0 + projects: + - name: SomeProject + url: some-remote-server/SomeProject.git + """ + + Scenario: Tool shows all files under dfetch control + When I run "dfetch filter" + Then the output shows + """ + /some/dir/MyProject/SomeProject + /some/dir/MyProject/SomeProject/README.md + /some/dir/MyProject/SomeProject/.dfetch_data.yaml + """ + +# Scenario: Tool receives only unmanaged files + +# Scenario: Fail on path traversal outside top-level manifest directory diff --git a/features/steps/generic_steps.py b/features/steps/generic_steps.py index 9ed66e4b..a5175c1f 100644 --- a/features/steps/generic_steps.py +++ b/features/steps/generic_steps.py @@ -3,11 +3,14 @@ # pylint: disable=function-redefined, missing-function-docstring, not-callable # pyright: reportRedeclaration=false, reportAttributeAccessIssue=false, reportCallIssue=false +import contextlib import difflib import json import os import pathlib import re +import sys +from io import StringIO from itertools import zip_longest from typing import Iterable, List, Optional, Pattern, Tuple, Union @@ -25,6 +28,32 @@ urn_uuid = re.compile(r"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}") bom_ref = re.compile(r"BomRef\.[0-9]+\.[0-9]+") svn_error = re.compile(r"svn: E\d{6}: .+") +abs_path = re.compile(r"/some/dir") + + +@contextlib.contextmanager +def tee_stdout(): + """Contextmanager duplicating stdout.""" + original_stdout = sys.stdout + buffer = StringIO() + + class Tee: + """Tee class for stdout.""" + + def write(self, data): + original_stdout.write(data) + buffer.write(data) + original_stdout.flush() + + def flush(self): + original_stdout.flush() + buffer.flush() + + sys.stdout = Tee() + try: + yield buffer + finally: + sys.stdout = original_stdout def remote_server_path(context): @@ -35,15 +64,18 @@ def remote_server_path(context): def call_command(context: Context, args: list[str], path: Optional[str] = ".") -> None: length_at_start = len(context.captured.output) with in_directory(path or "."): - try: - run(args) - context.cmd_returncode = 0 - except DfetchFatalException: - context.cmd_returncode = 1 + with tee_stdout() as captured_stdout: + try: + run(args) + context.cmd_returncode = 0 + except DfetchFatalException: + context.cmd_returncode = 1 # Remove the color code + title context.cmd_output = dfetch_title.sub( "", ansi_escape.sub("", context.captured.output[length_at_start:].strip("\n")) ) + captured_stdout.seek(0) + context.cmd_stdout = captured_stdout.read() def check_file(path, content): @@ -222,6 +254,7 @@ def step_impl(context): (timestamp, "[timestamp]"), (dfetch_title, ""), (svn_error, "svn: EXXXXXX: "), + (abs_path, ""), ], text=context.text, ) @@ -236,8 +269,9 @@ def step_impl(context): "some-remote-server", ), (svn_error, "svn: EXXXXXX: "), + (re.compile(re.escape(os.getcwd())), ""), ], - text=context.cmd_output, + text=context.cmd_stdout or context.cmd_output, ) diff = difflib.ndiff(actual_text.splitlines(), expected_text.splitlines())