diff --git a/CLFS/clfs.xsl b/CLFS/clfs.xsl
index ec4a4ce..46063b7 100644
--- a/CLFS/clfs.xsl
+++ b/CLFS/clfs.xsl
@@ -23,9 +23,16 @@
0 = none
1 = only Glibc, GCC and Binutils testsuites
2 = all testsuites
- 3 = alias to 2 -->
+ 3 = alias to 2
+ -->
+
+
+
@@ -117,10 +124,18 @@
-
- make -k
-
- >> $TEST_LOG 2>&1 || true
+
+
+
+ make -k
+
+ >> $TEST_LOG 2>&1 || true
+
+
+
+ >> $TEST_LOG 2>&1
+
+
@@ -172,11 +187,24 @@
-
-
- >> $TEST_LOG 2>&1 || true
+
+
+
+
+
+
+
+
+ -k check
+
+ >> $TEST_LOG 2>&1 || true
+
+
+
+ >> $TEST_LOG 2>&1
+
+
-
@@ -185,7 +213,15 @@
string() = 'make -k check'">
- make -k check >> $TEST_LOG 2>&1 || true
+
+
+ make -k check >> $TEST_LOG 2>&1 || true
+
+
+
+ >> $TEST_LOG 2>&1
+
+
@@ -193,7 +229,14 @@
- >> $TEST_LOG 2>&1 || true
+
+
+ >> $TEST_LOG 2>&1 || true
+
+
+ >> $TEST_LOG 2>&1
+
+
@@ -202,10 +245,7 @@
-
- >> $TEST_LOG
-
-
+ >> $TEST_LOG
diff --git a/HLFS/hlfs.xsl b/HLFS/hlfs.xsl
index 6e2efd7..f0ee311 100644
--- a/HLFS/hlfs.xsl
+++ b/HLFS/hlfs.xsl
@@ -26,9 +26,16 @@
0 = none
1 = only chapter06 Glibc, GCC and Binutils testsuites
2 = all chapter06 testsuites
- 3 = alias to 2 -->
+ 3 = alias to 2
+ -->
+
+
+
@@ -135,10 +142,18 @@
-
- make -k
-
- >> $TEST_LOG 2>&1 || true
+
+
+
+ make -k
+
+ >> $TEST_LOG 2>&1 || true
+
+
+
+ >> $TEST_LOG 2>&1
+
+
@@ -205,11 +220,24 @@
-
-
- >> $TEST_LOG 2>&1 || true
+
+
+
+
+
+
+
+
+ -k check
+
+ >> $TEST_LOG 2>&1 || true
+
+
+
+ >> $TEST_LOG 2>&1
+
+
-
@@ -217,7 +245,15 @@
- make -k check >> $TEST_LOG 2>&1 || true
+
+
+
+ >> $TEST_LOG 2>&1 || true
+
+
+ >> $TEST_LOG 2>&1
+
+
@@ -226,7 +262,14 @@
- >> $TEST_LOG 2>&1 || true
+
+
+ >> $TEST_LOG 2>&1 || true
+
+
+ >> $TEST_LOG 2>&1
+
+
diff --git a/LFS/lfs.xsl b/LFS/lfs.xsl
index 13da29f..b05ebe1 100644
--- a/LFS/lfs.xsl
+++ b/LFS/lfs.xsl
@@ -17,9 +17,16 @@
0 = none
1 = only chapter06 Glibc, GCC and Binutils testsuites
2 = all chapter06 testsuites
- 3 = all chapter05 and chapter06 testsuites-->
+ 3 = all chapter05 and chapter06 testsuites
+ -->
+
+
+
@@ -109,10 +116,18 @@
(($testsuite = '2' and
ancestor::chapter[@id='chapter-building-system']) or
$testsuite = '3')">
-
- make -k
-
- >> $TEST_LOG 2>&1 || true
+
+
+
+ make -k
+
+ >> $TEST_LOG 2>&1 || true
+
+
+
+ >> $TEST_LOG 2>&1
+
+
@@ -160,11 +175,24 @@
-
-
- >> $TEST_LOG 2>&1 || true
+
+
+
+
+
+
+
+
+ -k check
+
+ >> $TEST_LOG 2>&1 || true
+
+
+
+ >> $TEST_LOG 2>&1
+
+
-
@@ -175,7 +203,15 @@
- make -k check >> $TEST_LOG 2>&1 || true
+
+
+ make -k check >> $TEST_LOG 2>&1 || true
+
+
+
+ >> $TEST_LOG 2>&1
+
+
@@ -194,10 +230,7 @@
ancestor::chapter[@id='chapter-building-system']) or
$testsuite = '3'">
-
- >> $TEST_LOG
-
-
+ >> $TEST_LOG
diff --git a/common/common-functions b/common/common-functions
index a7e249e..331a457 100644
--- a/common/common-functions
+++ b/common/common-functions
@@ -714,6 +714,7 @@ extract_commands() { #
--xinclude \
--stringparam method $METHOD \
--stringparam testsuite $TEST \
+ --stringparam bomb-testsuite $BOMB_TEST \
--stringparam vim-lang $VIMLANG \
--stringparam timezone $TIMEZONE \
--stringparam page $PAGE \
@@ -727,6 +728,7 @@ extract_commands() { #
--xinclude \
--stringparam model $MODEL \
--stringparam testsuite $TEST \
+ --stringparam bomb-testsuite $BOMB_TEST \
--stringparam timezone $TIMEZONE \
--stringparam page $PAGE \
--stringparam lang $LANG \
@@ -740,6 +742,7 @@ extract_commands() { #
xsltproc --nonet \
--xinclude \
--stringparam testsuite $TEST \
+ --stringparam bomb-testsuite $BOMB_TEST \
--stringparam vim-lang $VIMLANG \
--stringparam timezone $TIMEZONE \
--stringparam page $PAGE \
diff --git a/common/config b/common/config
index bb8d988..7e55b06 100644
--- a/common/config
+++ b/common/config
@@ -51,6 +51,11 @@ OPTIMIZE=0
# (in CLFS and HLFS, alias to 2)
TEST=1
+#--- Bomb on test suites failures?
+# 0 = no, I want to build the full system and review the logs
+# 1 = yes, bomb at the first test suite failure to can review the build dir
+BOMB_TEST=0
+
#--- Run the stripping phases 0(no)/1(yes)
STRIP=1
diff --git a/common/func_validate_configs.sh b/common/func_validate_configs.sh
index 1e51f02..28b097a 100644
--- a/common/func_validate_configs.sh
+++ b/common/func_validate_configs.sh
@@ -84,9 +84,9 @@ validate_config() { # Are the config values sane (within reason)
inline_doc
# First internal variables, then the ones that change the book's flavour, and lastly system configuration variables
- local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE MODEL GRSECURITY_HOST TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL KEYMAP PAGE TIMEZONE LANG LC_ALL"
- local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE METHOD ARCH TARGET TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG"
- local -r lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL VIMLANG PAGE TIMEZONE LANG"
+ local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE MODEL GRSECURITY_HOST TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL KEYMAP PAGE TIMEZONE LANG LC_ALL"
+ local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE METHOD ARCH TARGET TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG"
+ local -r lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL VIMLANG PAGE TIMEZONE LANG"
local -r ERROR_MSG_pt1='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid,'
local -r ERROR_MSG_pt2=' check the config file ${BOLD}${GREEN}\<$(echo $PROGNAME | tr [a-z] [A-Z])/config\> or \${OFF}'
@@ -202,6 +202,7 @@ inline_doc
RUN_FARCE) [[ "$COMPARE" = "1" ]] && validate_against_str "x0x x1x" ;;
ITERATIONS) [[ "$COMPARE" = "1" ]] && validate_against_str "x2x x3x x4x x5x" ;;
TEST) validate_against_str "x0x x1x x2x x3x" ;;
+ BOMB_TEST) [[ ! "$TEST" = "0" ]] && validate_against_str "x0x x1x" ;;
OPTIMIZE) validate_against_str "x0x x1x x2x" ;;
STRIP) validate_against_str "x0x x1x" ;;
VIMLANG) validate_against_str "x0x x1x" ;;