104a105,117
> # Static vars for update_test:
> # - long-winded message about ignored sources
> ignore_msg = '''
> Note: The following file(s) will not be copied. New non-standard
> output files must be copied manually once before update_ref will
> recognize them as outputs. Otherwise they are assumed to be
> inputs and are ignored.
> '''
> # - reference files always needed
> needed_files = set(['stdout', 'stderr', 'm5stats.txt', 'config.ini'])
> # - source files we always want to ignore
> known_ignores = set(['status', 'outdiff', 'statsdiff'])
>
115,117c128,142
< dest_files = os.listdir(dest_dir)
< src_files = os.listdir(src_dir)
< for f in ('stdout', 'stderr', 'm5stats.txt', 'config.ini'):
---
> dest_files = set(os.listdir(dest_dir))
> src_files = set(os.listdir(src_dir))
> # Copy all of the required files plus any existing dest files.
> wanted_files = needed_files | dest_files
> missing_files = wanted_files - src_files
> if len(missing_files) > 0:
> print " WARNING: the following file(s) are missing " \
> "and will not be updated:"
> print " ", " ,".join(missing_files)
> copy_files = wanted_files - missing_files
> warn_ignored_files = (src_files - copy_files) - known_ignores
> if len(warn_ignored_files) > 0:
> print ignore_msg,
> print " ", ", ".join(warn_ignored_files)
> for f in copy_files:
126,131d150
< # warn about any files in dest not overwritten (other than SCCS dir)
< if 'SCCS' in dest_files:
< dest_files.remove('SCCS')
< if dest_files:
< print "Warning: file(s) in", dest_dir, "not updated:",
< print ', '.join(dest_files)