2727 DEFAULT_BRANCH : ${{ github.event.repository.default_branch }}
2828 TEST_FULL_SUMMARY_FILE : ' gnu-full-result.json'
2929 TEST_ROOT_FULL_SUMMARY_FILE : ' gnu-root-full-result.json'
30+ TEST_STTY_FULL_SUMMARY_FILE : ' gnu-stty-full-result.json'
3031 TEST_SELINUX_FULL_SUMMARY_FILE : ' selinux-gnu-full-result.json'
3132 TEST_SELINUX_ROOT_FULL_SUMMARY_FILE : ' selinux-root-gnu-full-result.json'
3233
@@ -137,12 +138,34 @@ jobs:
137138 path_GNU='gnu'
138139 path_UUTILS='uutils'
139140 bash "uutils/util/run-gnu-test.sh" run-root
141+
140142 - name : Extract testing info from individual logs (run as root) into JSON
141143 shell : bash
142144 run : |
143145 path_UUTILS='uutils'
144146 python uutils/util/gnu-json-result.py gnu/tests > ${{ env.TEST_ROOT_FULL_SUMMARY_FILE }}
145147
148+ # ## This shell has been changed from "bash" to this command
149+ # ## "script" will start a pty and the -q command removes the "script" initiation log
150+ # ## the -e flag makes it propagate the error code and -c runs the command in a pty
151+ # ## the primary purpose of this change is to run the tty GNU tests
152+ # ## The reason its separated from the rest of the tests is because one test can corrupt the other
153+ # ## tests through the use of the shared terminal and it changes the environment that the other
154+ # ## tests are run in, which can cause different results.
155+ - name : Run GNU stty tests
156+ shell : ' script -q -e -c "bash {0}"'
157+ run : |
158+ ## Run GNU root tests
159+ path_GNU='gnu'
160+ path_UUTILS='uutils'
161+ bash "uutils/util/run-gnu-test.sh" run-tty
162+
163+ - name : Extract testing info from individual logs (stty) into JSON
164+ shell : bash
165+ run : |
166+ path_UUTILS='uutils'
167+ python uutils/util/gnu-json-result.py gnu/tests > ${{ env.TEST_STTY_FULL_SUMMARY_FILE }}
168+
146169 # ## Upload artifacts
147170 - name : Upload full json results
148171 uses : actions/upload-artifact@v5
@@ -154,6 +177,12 @@ jobs:
154177 with :
155178 name : gnu-root-full-result
156179 path : ${{ env.TEST_ROOT_FULL_SUMMARY_FILE }}
180+ - name : Upload stty json results
181+ uses : actions/upload-artifact@v5
182+ with :
183+ name : gnu-stty-full-result
184+ path : ${{ env.TEST_STTY_FULL_SUMMARY_FILE }}
185+
157186 - name : Compress test logs
158187 shell : bash
159188 run : |
@@ -358,6 +387,13 @@ jobs:
358387 name : gnu-root-full-result
359388 path : results
360389 merge-multiple : true
390+ - name : Download stty json results
391+ uses : actions/download-artifact@v6
392+ with :
393+ name : gnu-stty-full-result
394+ path : results
395+ merge-multiple : true
396+
361397 - name : Download selinux json results
362398 uses : actions/download-artifact@v6
363399 with :
@@ -380,7 +416,7 @@ jobs:
380416 path_UUTILS='uutils'
381417
382418 json_count=$(ls -l results/*.json | wc -l)
383- if [[ "$json_count" -ne 4 ]]; then
419+ if [[ "$json_count" -ne 5 ]]; then
384420 echo "::error ::Failed to download all results json files (expected 4 files, found $json_count); failing early"
385421 ls -lR results || true
386422 exit 1
0 commit comments