- IMAGE=latest TESTS=50
- IMAGE=latest TESTS=70
- IMAGE=latest TESTS=99
- - IMAGE=rawhide TESTS="01 02 03 04 10 11 12 13 15 17 18"
- - IMAGE=rawhide TESTS=20
- - IMAGE=rawhide TESTS="30 31"
- - IMAGE=rawhide TESTS=50
- - IMAGE=rawhide TESTS=70
- - IMAGE=rawhide TESTS=99
+# - IMAGE=rawhide TESTS="01 02 03 04 10 11 12 13 15 17 18"
+# - IMAGE=rawhide TESTS=20
+# - IMAGE=rawhide TESTS="30 31"
+# - IMAGE=rawhide TESTS=50
+# - IMAGE=rawhide TESTS=70
+# - IMAGE=rawhide TESTS=99
before_script:
- docker pull fedora:$IMAGE
install/dracut-install: $(DRACUT_INSTALL_OBJECTS)
$(CC) $(LDFLAGS) -o $@ $(DRACUT_INSTALL_OBJECTS) $(LDLIBS) $(KMOD_LIBS)
+logtee: logtee.c
+ $(CC) $(LDFLAGS) -o $@ $<
+
dracut-install: install/dracut-install
ln -fs $< $@
NCPU=$(getconf _NPROCESSORS_ONLN)
-make -j$NCPU all syncheck rpm
+make -j$NCPU all syncheck rpm logtee
cd test
--- /dev/null
+#define _GNU_SOURCE
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <errno.h>
+#include <limits.h>
+
+int
+main(int argc, char *argv[])
+{
+ int fd;
+ int len, slen;
+
+ if (argc != 2) {
+ fprintf(stderr, "Usage: %s <file>\n", argv[0]);
+ exit(EXIT_FAILURE);
+ }
+
+ fd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC, 0644);
+ if (fd == -1) {
+ perror("open");
+ exit(EXIT_FAILURE);
+ }
+
+ fprintf(stderr, "Logging to %s: ", argv[1]);
+
+ do {
+ len = splice(STDIN_FILENO, NULL, fd, NULL,
+ 65536, SPLICE_F_MOVE);
+
+ if (len < 0) {
+ if (errno == EAGAIN)
+ continue;
+ perror("tee");
+ exit(EXIT_FAILURE);
+ } else
+ if (len == 0)
+ break;
+ fprintf(stderr, ".", len);
+ } while (1);
+ close(fd);
+ fprintf(stderr, "\n");
+ exit(EXIT_SUCCESS);
+}
+
else
echo "TEST: $TEST_DESCRIPTION [STARTED]";
fi
- if ! [[ "$V" ]]; then
+ if [[ "$V" == "1" ]]; then
(
test_setup && test_run
ret=$?
rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
exit $ret
) </dev/null >test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
+ elif [[ "$V" == "2" ]]; then
+ set -o pipefail
+ (
+ test_setup && test_run
+ ret=$?
+ test_cleanup
+ if ((ret!=0)) && [[ -f "$TESTDIR"/server.log ]]; then
+ mv [[ -f "$TESTDIR"/server.log ]] ./server${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ fi
+ rm -fr -- "$TESTDIR"
+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+ exit $ret
+ ) </dev/null 2>&1 | $basedir/logtee test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
else
set -o pipefail
(