aboutsummaryrefslogtreecommitdiffstats
path: root/test/rake/filecreation.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rake/filecreation.rb')
-rw-r--r--test/rake/filecreation.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/rake/filecreation.rb b/test/rake/filecreation.rb
new file mode 100644
index 0000000000..e4c6e347da
--- /dev/null
+++ b/test/rake/filecreation.rb
@@ -0,0 +1,30 @@
+module FileCreation
+ OLDFILE = "testdata/old"
+ NEWFILE = "testdata/new"
+
+ def create_timed_files(oldfile, *newfiles)
+ return if File.exist?(oldfile) && newfiles.all? { |newfile| File.exist?(newfile) }
+ old_time = create_file(oldfile)
+ newfiles.each do |newfile|
+ while create_file(newfile) <= old_time
+ sleep(0.1)
+ File.delete(newfile) rescue nil
+ end
+ end
+ end
+
+ def create_dir(dirname)
+ FileUtils.mkdir_p(dirname) unless File.exist?(dirname)
+ File.stat(dirname).mtime
+ end
+
+ def create_file(name)
+ create_dir(File.dirname(name))
+ FileUtils.touch(name) unless File.exist?(name)
+ File.stat(name).mtime
+ end
+
+ def delete_file(name)
+ File.delete(name) rescue nil
+ end
+end