if args.imagefile: raise NotImplementedError("Sorry, but the imagefile argument was not carried forward in the re-implementation. Please feel free to request this feature be re-implemented if you need it.") pre = None post = None for infile in args.infiles: pre = post post = infile _logger.info(">>> Reading %s." % infile) if not pre is None: diffdfxml = make_differential_dfxml.make_differential_dfxml( pre, post, diff_mode="idifference", ignore_filename_function=ignorable_name ) diffdfxml.program = sys.argv[0] diffdfxml.program_version = __version__ if args.xmlfilename: _logger.debug("Opening temp file for writing.") with open(args.xmlfilename, "w") as fh: diffdfxml.print_dfxml(output_fh=fh) summarize_differential_dfxml.report( diffdfxml, sort_by=args.sort_by, summary=args.summary, timestamp=args.timestamp )
d_from_disk_again = Objects.parse(tempxml2_path) for (iteration, d) in enumerate((d_in_memory, d_from_disk, d_from_disk_again)): _logger.info("Checking iteration: %d." % iteration) for o in d: #_logger.debug(repr(o)) if isinstance(o, Objects.FileObject): if "deleted" in o.annos: _name = o.original_fileobject.filename else: _name = o.filename expected_fileobject_diffs = { ("i_am_new.txt"): set([]), ("i_will_be_deleted.txt"): set([]), ("i_will_be_modified.txt"): set(["filesize","mtime","ctime","atime","data_brs","md5","sha1"]), ("i_will_be_accessed.txt"): set(["atime", "data_brs"]) } if o.diffs != expected_fileobject_diffs[_name]: _logger.info("FAILED: %r." % _name) _logger.info("Expected diffs: %r;" % expected_fileobject_diffs[_name]) _logger.info("Received diffs: %r." % o.diffs) assert False _logger.info("PASSED: %r." % _name) #TODO Once the old idifference.py is retired, remove the Python3-only bit. if sys.version_info >= (3,1): import summarize_differential_dfxml for sortby in "times", "path": _logger.info("Summarizing, sorting by %s." % sortby) summarize_differential_dfxml.report(d_from_disk_again, sort_by=sortby)
else: _name = o.filename expected_fileobject_diffs = { ("i_am_new.txt"): set([]), ("i_will_be_deleted.txt"): set([]), ("i_will_be_modified.txt"): set([ "filesize", "mtime", "ctime", "atime", "data_brs", "md5", "sha1" ]), ("i_will_be_accessed.txt"): set(["atime", "data_brs"]) } if o.diffs != expected_fileobject_diffs[_name]: _logger.info("FAILED: %r." % _name) _logger.info("Expected diffs: %r;" % expected_fileobject_diffs[_name]) _logger.info("Received diffs: %r." % o.diffs) assert False _logger.info("PASSED: %r." % _name) #TODO Once the old idifference.py is retired, remove the Python3-only bit. if sys.version_info >= (3, 1): import summarize_differential_dfxml for sortby in "times", "path": _logger.info("Summarizing, sorting by %s." % sortby) summarize_differential_dfxml.report(d_from_disk_again, sort_by=sortby)