From 11ff8c65492c0bc66aa91bb7950482788da32578 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 11 Feb 2008 21:17:42 -0600 Subject: [PATCH 1/6] builder: builder.server still references build-status --- extra/builder/builder.factor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extra/builder/builder.factor b/extra/builder/builder.factor index 1783a36928..fa76f8ec3c 100644 --- a/extra/builder/builder.factor +++ b/extra/builder/builder.factor @@ -133,7 +133,7 @@ VAR: stamp ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -! SYMBOL: build-status +SYMBOL: build-status ! : build ( -- ) From 8a25e9432c68a3b025232152191cc42fa933a491 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 11 Feb 2008 21:32:41 -0600 Subject: [PATCH 2/6] builder.test: recover from errors in do-load and do-tests --- extra/builder/test/test.factor | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extra/builder/test/test.factor b/extra/builder/test/test.factor index 6f87213096..21734bf18c 100644 --- a/extra/builder/test/test.factor +++ b/extra/builder/test/test.factor @@ -57,7 +57,7 @@ IN: builder.test : do-all ( -- ) record-bootstrap-time - do-load - do-tests ; + [ do-load ] [ drop ] recover + [ do-tests ] [ drop ] recover ; MAIN: do-all \ No newline at end of file From cb76e4775cf4e595e12290a7ed549da7f7ec4ee3 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 11 Feb 2008 22:22:49 -0600 Subject: [PATCH 3/6] builder.test: tweaks --- extra/builder/test/test.factor | 52 +++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/extra/builder/test/test.factor b/extra/builder/test/test.factor index 21734bf18c..e401b689c4 100644 --- a/extra/builder/test/test.factor +++ b/extra/builder/test/test.factor @@ -15,26 +15,26 @@ IN: builder.test [ bootstrap-time get . ] with-stream ; -: try-everything* ( -- vocabs ) try-everything [ first vocab-link-name ] map ; +! : try-everything* ( -- vocabs ) try-everything [ first vocab-link-name ] map ; ! : do-load ( -- ) -! [ try-everything* ] "../load-everything-time" log-runtime +! [ +! "../load-everything-log" +! [ try-everything keys ] +! with-stream +! ] "../load-everything-time" log-runtime ! dup empty? ! [ drop ] -! [ "../load-everything-log" log-object ] -! if ; +! [ "../load-everything-vocabs" log-object ] +! if +! "../load-everything-log" delete-file ; : do-load ( -- ) - [ - "../load-everything-log" - [ try-everything* ] - with-stream - ] "../load-everything-time" log-runtime + [ try-everything keys ] "../load-everything-time" log-runtime dup empty? [ drop ] [ "../load-everything-vocabs" log-object ] - if - "../load-everything-log" delete-file ; + if ; ! : do-tests ( -- ) ! run-all-tests keys @@ -43,21 +43,33 @@ IN: builder.test ! [ "../failing-tests" log-object ] ! if ; +! : do-tests ( -- ) +! [ +! "../test-all-log" +! [ run-all-tests keys ] +! with-stream +! ] "../test-all-time" log-runtime +! dup empty? +! [ drop ] +! [ "../test-all-vocabs" log-object ] +! if +! "../test-all-log" delete-file ; + : do-tests ( -- ) - [ - "../test-all-log" - [ run-all-tests keys ] - with-stream - ] "../test-all-time" log-runtime + [ run-all-tests keys ] "../test-all-time" log-runtime dup empty? [ drop ] [ "../test-all-vocabs" log-object ] - if - "../test-all-log" delete-file ; + if ; + +! : do-all ( -- ) +! record-bootstrap-time +! [ do-load ] [ drop ] recover +! [ do-tests ] [ drop ] recover ; : do-all ( -- ) record-bootstrap-time - [ do-load ] [ drop ] recover - [ do-tests ] [ drop ] recover ; + do-load + do-tests ; MAIN: do-all \ No newline at end of file From 620a2ab7201ba8790c3507c0b700f8655b02d55f Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 11 Feb 2008 22:36:53 -0600 Subject: [PATCH 4/6] builder: more tweaks --- extra/builder/builder.factor | 10 +-------- extra/builder/test/test.factor | 38 ---------------------------------- 2 files changed, 1 insertion(+), 47 deletions(-) diff --git a/extra/builder/builder.factor b/extra/builder/builder.factor index fa76f8ec3c..9c4c833182 100644 --- a/extra/builder/builder.factor +++ b/extra/builder/builder.factor @@ -228,15 +228,7 @@ SYMBOL: report [ builder-test try-process ] [ report get - [ - "Builder test error" write nl - "../load-everything-log" exists? - [ "../load-everything-log" contents write nl ] - when - "../test-all-log" exists? - [ "../test-all-log" contents write nl ] - when - ] + [ "Builder test error" write nl ] with-stream* throw ] diff --git a/extra/builder/test/test.factor b/extra/builder/test/test.factor index e401b689c4..0a5750a030 100644 --- a/extra/builder/test/test.factor +++ b/extra/builder/test/test.factor @@ -15,20 +15,6 @@ IN: builder.test [ bootstrap-time get . ] with-stream ; -! : try-everything* ( -- vocabs ) try-everything [ first vocab-link-name ] map ; - -! : do-load ( -- ) -! [ -! "../load-everything-log" -! [ try-everything keys ] -! with-stream -! ] "../load-everything-time" log-runtime -! dup empty? -! [ drop ] -! [ "../load-everything-vocabs" log-object ] -! if -! "../load-everything-log" delete-file ; - : do-load ( -- ) [ try-everything keys ] "../load-everything-time" log-runtime dup empty? @@ -36,25 +22,6 @@ IN: builder.test [ "../load-everything-vocabs" log-object ] if ; -! : do-tests ( -- ) -! run-all-tests keys -! dup empty? -! [ drop ] -! [ "../failing-tests" log-object ] -! if ; - -! : do-tests ( -- ) -! [ -! "../test-all-log" -! [ run-all-tests keys ] -! with-stream -! ] "../test-all-time" log-runtime -! dup empty? -! [ drop ] -! [ "../test-all-vocabs" log-object ] -! if -! "../test-all-log" delete-file ; - : do-tests ( -- ) [ run-all-tests keys ] "../test-all-time" log-runtime dup empty? @@ -62,11 +29,6 @@ IN: builder.test [ "../test-all-vocabs" log-object ] if ; -! : do-all ( -- ) -! record-bootstrap-time -! [ do-load ] [ drop ] recover -! [ do-tests ] [ drop ] recover ; - : do-all ( -- ) record-bootstrap-time do-load From 4f113394ec99aa373df3bf505e988d1a72971e2d Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 11 Feb 2008 23:42:21 -0600 Subject: [PATCH 5/6] builder: refactored --- extra/builder/builder.factor | 104 +++++++++++++---------------------- 1 file changed, 39 insertions(+), 65 deletions(-) diff --git a/extra/builder/builder.factor b/extra/builder/builder.factor index 9c4c833182..299175308f 100644 --- a/extra/builder/builder.factor +++ b/extra/builder/builder.factor @@ -167,24 +167,40 @@ SYMBOL: build-status SYMBOL: report +: >>>report ( quot -- ) report get swap with-stream* ; + +: file>>>report ( file -- ) [ contents write ] curry >>>report ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: run-or-report ( desc quot -- ) + [ [ try-process ] curry ] + [ [ >>>report throw ] curry ] + bi* + recover ; + +: run-or-report-file ( desc quot file -- ) + [ [ try-process ] curry ] + [ [ >>>report ] curry ] + [ [ file>>>report throw ] curry ] + tri* + compose + recover ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + : (build) ( -- ) enter-build-dir "report" report set - report get [ "Build machine: " write host-name write nl ] with-stream* - - report get [ "Build directory: " write cwd write nl ] with-stream* - - [ git-clone try-process ] [ - report get - [ "Builder fatal error: git clone failed" write nl ] - with-stream* - throw - ] - recover + "Build machine: " write host-name write nl + "Build directory: " write cwd write nl + ] >>>report + + git-clone [ "Builder fatal error: git clone failed" write nl ] run-or-report "factor" cd @@ -192,74 +208,32 @@ SYMBOL: report make-clean run-process drop - [ make-vm try-process ] - [ - report get - [ - "Builder fatal error: vm compile error" write nl - "../compile-log" contents write - ] - with-stream* - throw - ] - recover + make-vm + [ "Builder fatal error: vm compile error" write nl ] + "../compile-log" + run-or-report-file [ my-arch download-image ] - [ - report get - [ "Builder fatal error: image download" write nl ] - with-stream* - throw - ] + [ [ "Builder fatal error: image download" write nl ] >>>report throw ] recover - [ bootstrap try-process ] - [ - report get - [ - "Bootstrap error" write nl - "../boot-log" contents write - ] - with-stream* - throw - ] - recover + bootstrap [ "Bootstrap error" write nl ] "../boot-log" run-or-report-file - [ builder-test try-process ] - [ - report get - [ "Builder test error" write nl ] - with-stream* - throw - ] - recover + builder-test [ "Builder test error" write nl ] run-or-report - report get - [ - "Bootstrap time: " write - "../bootstrap-time" contents write nl - ] - with-stream* + [ "Bootstrap time: " write ] >>>report "../bootstrap-time" file>>>report "../load-everything-vocabs" exists? [ - report get - [ - "Did not pass load-everything: " write nl - "../load-everything-vocabs" contents write nl - ] - with-stream* + [ "Did not pass load-everything: " write nl ] >>>report + "../load-everything-vocabs" file>>>report ] when "../test-all-vocabs" exists? [ - report get - [ - "Did not pass test-all: " write nl - "../test-all-vocabs" contents write nl - ] - with-stream* + [ "Did not pass test-all: " write nl ] >>>report + "../test-all-vocabs" file>>>report ] when ; From 27fb2270f0e9ad376304274f1625598cbbe1d008 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Tue, 12 Feb 2008 00:15:20 -0600 Subject: [PATCH 6/6] builder: tweaks --- extra/builder/builder.factor | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/extra/builder/builder.factor b/extra/builder/builder.factor index 299175308f..3e7efcc404 100644 --- a/extra/builder/builder.factor +++ b/extra/builder/builder.factor @@ -1,5 +1,5 @@ -USING: kernel io io.files io.launcher io.sockets hashtables math threads +USING: kernel parser io io.files io.launcher io.sockets hashtables math threads system continuations namespaces sequences splitting math.parser prettyprint tools.time calendar bake vars http.client combinators bootstrap.image bootstrap.image.download @@ -189,6 +189,13 @@ SYMBOL: report ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +: ms>minutes ( ms -- minutes ) 1000.0 / 60 / ; + +: bootstrap-minutes ( -- ) + "../bootstrap-time" contents eval ms>minutes unparse ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + : (build) ( -- ) enter-build-dir @@ -221,7 +228,8 @@ SYMBOL: report builder-test [ "Builder test error" write nl ] run-or-report - [ "Bootstrap time: " write ] >>>report "../bootstrap-time" file>>>report + [ "Bootstrap time: " write bootstrap-minutes write " minutes" write nl ] + >>>report "../load-everything-vocabs" exists? [