Put compiler errors in build report

db4
Slava Pestov 2008-11-16 13:46:45 -06:00
parent 105831fabe
commit 437d594982
4 changed files with 36 additions and 13 deletions

View File

@ -61,6 +61,7 @@ IN: mason.child
[ load-everything-vocabs-file eval-file empty? ] [ load-everything-vocabs-file eval-file empty? ]
[ test-all-vocabs-file eval-file empty? ] [ test-all-vocabs-file eval-file empty? ]
[ help-lint-vocabs-file eval-file empty? ] [ help-lint-vocabs-file eval-file empty? ]
[ compiler-errors-file eval-file empty? ]
} 0&& ; } 0&& ;
: build-child ( -- ) : build-child ( -- )

View File

@ -75,6 +75,7 @@ SYMBOL: stamp
: boot-time-file "boot-time" ; : boot-time-file "boot-time" ;
: load-time-file "load-time" ; : load-time-file "load-time" ;
: compiler-errors-file "compiler-errors" ;
: test-time-file "test-time" ; : test-time-file "test-time" ;
: help-lint-time-file "help-lint-time" ; : help-lint-time-file "help-lint-time" ;
: benchmark-time-file "benchmark-time" ; : benchmark-time-file "benchmark-time" ;

View File

@ -2,7 +2,7 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: kernel namespaces debugger fry io io.files io.sockets USING: kernel namespaces debugger fry io io.files io.sockets
io.encodings.utf8 prettyprint benchmark mason.common io.encodings.utf8 prettyprint benchmark mason.common
mason.platform mason.config ; mason.platform mason.config sequences ;
IN: mason.report IN: mason.report
: time. ( file -- ) : time. ( file -- )
@ -50,18 +50,25 @@ IN: mason.report
nl nl
"Did not pass load-everything:" print load-everything-vocabs-file eval-file [
load-everything-vocabs-file cat "== Did not pass load-everything:" print .
load-everything-errors-file cat load-everything-errors-file cat
] unless-empty
"Did not pass test-all:" print compiler-errors-file eval-file [
test-all-vocabs-file cat "== Vocabularies with compiler errors:" print .
test-all-errors-file cat ] unless-empty
"Did not pass help-lint:" print test-all-vocabs-file eval-file [
help-lint-vocabs-file cat "== Did not pass test-all:" print .
help-lint-errors-file cat test-all-errors-file cat
] unless-empty
"Benchmarks:" print help-lint-vocabs-file eval-file [
"== Did not pass help-lint:" print .
help-lint-errors-file cat
] unless-empty
"== Benchmarks:" print
benchmarks-file eval-file benchmarks. benchmarks-file eval-file benchmarks.
] with-report ; ] with-report ;

View File

@ -2,7 +2,8 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: kernel namespaces assocs io.files io.encodings.utf8 USING: kernel namespaces assocs io.files io.encodings.utf8
prettyprint help.lint benchmark tools.time bootstrap.stage2 prettyprint help.lint benchmark tools.time bootstrap.stage2
tools.test tools.vocabs help.html mason.common ; tools.test tools.vocabs help.html mason.common words generic
accessors compiler.errors sequences sets sorting ;
IN: mason.test IN: mason.test
: do-load ( -- ) : do-load ( -- )
@ -11,6 +12,19 @@ IN: mason.test
[ load-everything-errors-file utf8 [ load-failures. ] with-file-writer ] [ load-everything-errors-file utf8 [ load-failures. ] with-file-writer ]
bi ; bi ;
GENERIC: word-vocabulary ( word -- vocabulary )
M: word word-vocabulary vocabulary>> ;
M: method-body word-vocabulary "method-generic" word-prop ;
: do-compile-errors ( -- )
compiler-errors-file utf8 [
+error+ errors-of-type keys
[ word-vocabulary ] map
prune natural-sort .
] with-file-writer ;
: do-tests ( -- ) : do-tests ( -- )
run-all-tests run-all-tests
[ keys test-all-vocabs-file to-file ] [ keys test-all-vocabs-file to-file ]
@ -29,7 +43,7 @@ IN: mason.test
: do-all ( -- ) : do-all ( -- )
".." [ ".." [
bootstrap-time get boot-time-file to-file bootstrap-time get boot-time-file to-file
[ do-load ] benchmark load-time-file to-file [ do-load do-compile-errors ] benchmark load-time-file to-file
[ generate-help ] benchmark html-help-time-file to-file [ generate-help ] benchmark html-help-time-file to-file
[ do-tests ] benchmark test-time-file to-file [ do-tests ] benchmark test-time-file to-file
[ do-help-lint ] benchmark help-lint-time-file to-file [ do-help-lint ] benchmark help-lint-time-file to-file