(asdf:operate 'asdf:load-op 'test-force)
(let* ((file1 (asdf:compile-file-pathname* "file1"))
- (file1-date (file-write-date file1)))
+ (file1-date (file-write-date file1))
+ (date1 (- file1-date 600))
+ (date2 (- file1-date 300)))
(assert file1)
(assert file1-date)
;; unforced, date should stay same
- (sleep 1)
+ (touch-file "file1.lisp" date1)
+ (touch-file file1 date2)
(asdf:operate 'asdf:load-op 'test-force)
- (assert (equal (file-write-date file1) file1-date))
+ (assert (equal (file-write-date file1) date2))
;; forced, it should be later
- (sleep 1)
(asdf:operate 'asdf:load-op 'test-force :force t)
- (assert (> (file-write-date file1) file1-date))))
+ (assert (>= (file-write-date file1) file1-date))))
(asdf:operate 'asdf:load-op 'static-and-serial)
(let* ((file1 (asdf:compile-file-pathname* "file1.lisp"))
- (file1-date (file-write-date file1)))
+ (file1-date (file-write-date file1))
+ (date1 (- file1-date 600))
+ (date2 (- file1-date 300))
+ (date3 (- file1-date 150)))
+
(assert file1-date)
(format t "file: ~S~%date: ~S~%" file1 file1-date)
;; date should stay same
(asdf:clear-system 'static-and-serial)
- (sleep 1)
+ (touch-file "file2.lisp" date1)
+ (touch-file "file1.lisp" date2)
+ (touch-file file1 date3)
(asdf:operate 'asdf:load-op 'static-and-serial)
- (assert (equal (file-write-date file1) file1-date))))
+ (assert (equal (file-write-date file1) date3))))
(DBG "loading test1")
(touch-file "file1.lisp" :offset -600) ;; touch file1.lisp 10 minutes ago.
(touch-file "file2.lisp" :offset -300) ;; touch file2.lisp 5 minutes ago.
- (asdf:load-system 'test1)
+ (asdf:load-system 'test1 :force t)
(let* ((file1 (asdf:compile-file-pathname* "file1"))
(file2 (asdf:compile-file-pathname* "file2"))
(file1-date (file-write-date file1))