Working on better POST and PUT requests
[factor/jcg.git] / extra / mason / report / report.factor
blob1b2697a5d1cba3ade471428c3318b4f24058e877
1 ! Copyright (C) 2008 Eduardo Cavazos, Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel namespaces debugger fry io io.files io.sockets
4 io.encodings.utf8 prettyprint benchmark mason.common
5 mason.platform mason.config sequences ;
6 IN: mason.report
8 : time. ( file -- )
9     [ write ": " write ] [ eval-file milli-seconds>time print ] bi ;
11 : common-report ( -- )
12     "Build machine: " write host-name print
13     "CPU: " write target-cpu get print
14     "OS: " write target-os get print
15     "Build directory: " write build-dir print
16     "git id: " write "git-id" eval-file print nl ;
18 : with-report ( quot -- )
19     [ "report" utf8 ] dip '[ common-report @ ] with-file-writer ;
21 : compile-failed-report ( error -- )
22     [
23         "VM compile failed:" print nl
24         "compile-log" cat nl
25         error.
26     ] with-report ;
28 : boot-failed-report ( error -- )
29     [
30         "Bootstrap failed:" print nl
31         "boot-log" 100 cat-n nl
32         error.
33     ] with-report ;
35 : test-failed-report ( error -- )
36     [
37         "Tests failed:" print nl
38         "test-log" 100 cat-n nl
39         error.
40     ] with-report ;
42 : successful-report ( -- )
43     [
44         boot-time-file time.
45         load-time-file time.
46         test-time-file time.
47         help-lint-time-file time.
48         benchmark-time-file time.
49         html-help-time-file time.
51         nl
53         load-everything-vocabs-file eval-file [
54             "== Did not pass load-everything:" print .
55             load-everything-errors-file cat
56         ] unless-empty
58         compiler-errors-file eval-file [
59             "== Vocabularies with compiler errors:" print .
60         ] unless-empty
62         test-all-vocabs-file eval-file [
63             "== Did not pass test-all:" print .
64             test-all-errors-file cat
65         ] unless-empty
67         help-lint-vocabs-file eval-file [
68             "== Did not pass help-lint:" print .
69             help-lint-errors-file cat
70         ] unless-empty
72         "== Benchmarks:" print
73         benchmarks-file eval-file benchmarks.
74     ] with-report ;