|  | @@ -24,6 +24,22 @@
 | 
	
		
			
				|  |  |         (.setPath (java.nio.file.Paths/get "e2e-dump/"
 | 
	
		
			
				|  |  |                                            (into-array [(format "./screenshot-%s-%s.png" test-name (System/currentTimeMillis))]))))))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +(defn- collect-info-when-error-or-failed
 | 
	
		
			
				|  |  | +  []
 | 
	
		
			
				|  |  | +  ;; screenshot for all pw pages when :error
 | 
	
		
			
				|  |  | +  (when-let [all-contexts (seq *pw-contexts*)]
 | 
	
		
			
				|  |  | +    (doseq [page (mapcat pw-page/get-pages all-contexts)]
 | 
	
		
			
				|  |  | +      (screenshot page (string/join "-" (map (comp str :name meta) t/*testing-vars*)))))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  ;; dump console logs
 | 
	
		
			
				|  |  | +  (when-let [pw-page->console-logs (some-> *pw-page->console-logs* deref)]
 | 
	
		
			
				|  |  | +    (doseq [[_pw-page logs] pw-page->console-logs]
 | 
	
		
			
				|  |  | +      (spit (format "e2e-dump/console-logs-%s.txt" (System/currentTimeMillis))
 | 
	
		
			
				|  |  | +            (with-out-str (pp/pprint logs)))))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  (when (some? *preserve-graph*)
 | 
	
		
			
				|  |  | +    (set! *preserve-graph* true)))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  (defmethod t/report :error
 | 
	
		
			
				|  |  |    [m]
 | 
	
		
			
				|  |  |    ;; copy from default impl
 | 
	
	
		
			
				|  | @@ -39,19 +55,7 @@
 | 
	
		
			
				|  |  |          (stack/print-cause-trace actual t/*stack-trace-depth*)
 | 
	
		
			
				|  |  |          (prn actual))))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  ;; screenshot for all pw pages when :error
 | 
	
		
			
				|  |  | -  (when-let [all-contexts (seq *pw-contexts*)]
 | 
	
		
			
				|  |  | -    (doseq [page (mapcat pw-page/get-pages all-contexts)]
 | 
	
		
			
				|  |  | -      (screenshot page (string/join "-" (map (comp str :name meta) t/*testing-vars*)))))
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  ;; dump console logs
 | 
	
		
			
				|  |  | -  (when-let [pw-page->console-logs (some-> *pw-page->console-logs* deref)]
 | 
	
		
			
				|  |  | -    (doseq [[_pw-page logs] pw-page->console-logs]
 | 
	
		
			
				|  |  | -      (spit (format "e2e-dump/console-logs-%s.txt" (System/currentTimeMillis))
 | 
	
		
			
				|  |  | -            (with-out-str (pp/pprint logs)))))
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  (when (some? *preserve-graph*)
 | 
	
		
			
				|  |  | -    (set! *preserve-graph* true)))
 | 
	
		
			
				|  |  | +  (collect-info-when-error-or-failed))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  (defmethod t/report :fail
 | 
	
		
			
				|  |  |    [m]
 | 
	
	
		
			
				|  | @@ -63,16 +67,4 @@
 | 
	
		
			
				|  |  |      (println "expected:" (pr-str (:expected m)))
 | 
	
		
			
				|  |  |      (println "  actual:" (pr-str (:actual m))))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  ;; screenshot for all pw pages when :fail
 | 
	
		
			
				|  |  | -  (when-let [all-contexts (seq *pw-contexts*)]
 | 
	
		
			
				|  |  | -    (doseq [page (mapcat pw-page/get-pages all-contexts)]
 | 
	
		
			
				|  |  | -      (screenshot page (string/join "-" (map (comp str :name meta) t/*testing-vars*)))))
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  ;; dump console logs
 | 
	
		
			
				|  |  | -  (when-let [pw-page->console-logs (some-> *pw-page->console-logs* deref)]
 | 
	
		
			
				|  |  | -    (doseq [[_pw-page logs] pw-page->console-logs]
 | 
	
		
			
				|  |  | -      (spit (format "e2e-dump/console-logs-%s.txt" (System/currentTimeMillis))
 | 
	
		
			
				|  |  | -            (with-out-str (pp/pprint logs)))))
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  (when (some? *preserve-graph*)
 | 
	
		
			
				|  |  | -    (set! *preserve-graph* true)))
 | 
	
		
			
				|  |  | +  (collect-info-when-error-or-failed))
 |