From a1a3c3874958e50773cba4ee1b5b8740fe57b75b Mon Sep 17 00:00:00 2001 From: Matteo Croce Date: Thu, 22 May 2008 00:43:21 +0000 Subject: [PATCH 1/1] memtester: add -q option SVN-Revision: 11233 --- utils/memtester/patches/100-quiet.diff | 329 +++++++++++++++++++++++++ 1 file changed, 329 insertions(+) create mode 100644 utils/memtester/patches/100-quiet.diff diff --git a/utils/memtester/patches/100-quiet.diff b/utils/memtester/patches/100-quiet.diff new file mode 100644 index 0000000000..cd19608555 --- /dev/null +++ b/utils/memtester/patches/100-quiet.diff @@ -0,0 +1,329 @@ +diff -urN memtester-4.0.8.old/memtester.c memtester-4.0.8/memtester.c +--- memtester-4.0.8/memtester.c 2007-11-21 16:54:57.000000000 +0100 ++++ memtester-4.0.8/memtester.c 2008-05-22 02:15:56.925302194 +0200 +@@ -98,6 +98,14 @@ + pagesizemask = (ptrdiff_t) ~(pagesize - 1); + printf("pagesizemask is 0x%tx\n", pagesizemask); + ++ if (argc > 1 && !strcmp(argv[1], "-q")) { ++ int j; ++ quiet = 1; ++ for(j = 2; j < argc; j++) ++ argv[j - 1] = argv[j]; ++ argc--; ++ } ++ + if (argc < 2) { + fprintf(stderr, "need memory argument, in MB\n"); + exit(EXIT_FAIL_NONSTARTER); +diff -urN memtester-4.0.8.old/tests.c memtester-4.0.8/tests.c +--- memtester-4.0.8/tests.c 2007-11-21 16:54:57.000000000 +0100 ++++ memtester-4.0.8/tests.c 2008-05-22 02:38:46.389302357 +0200 +@@ -17,11 +17,22 @@ + #include + #include + #include ++#include + + #include "types.h" + #include "sizes.h" + ++int quiet = 0; + char progress[] = "-\\|/"; ++ ++void inline dprintf(const char *format, ...) { ++ if(!quiet) { ++ va_list ap; ++ va_start(ap, format); ++ vprintf(format, ap); ++ } ++} ++ + #define PROGRESSLEN 4 + #define PROGRESSOFTEN 2500 + +@@ -52,16 +63,16 @@ + printf(" "); + fflush(stdout); + for (j = 0; j < 16; j++) { +- printf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); + p1 = (ulv *) bufa; +- printf("setting %3u", j); ++ dprintf("setting %3u", j); + fflush(stdout); + for (i = 0; i < count; i++) { + *p1 = ((j + i) % 2) == 0 ? (ul) p1 : ~((ul) p1); + *p1++; + } +- printf("\b\b\b\b\b\b\b\b\b\b\b"); +- printf("testing %3u", j); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("testing %3u", j); + fflush(stdout); + p1 = (ulv *) bufa; + for (i = 0; i < count; i++, p1++) { +@@ -75,7 +86,7 @@ + } + } + } +- printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); + fflush(stdout); + return 0; + } +@@ -90,13 +101,13 @@ + fflush(stdout); + for (i = 0; i < count; i++) { + *p1++ = *p2++ = rand_ul(); +- if (!(i % PROGRESSOFTEN)) { ++ if (!quiet && !(i % PROGRESSOFTEN)) { + putchar('\b'); + putchar(progress[++j % PROGRESSLEN]); + fflush(stdout); + } + } +- printf("\b \b"); ++ dprintf("\b \b"); + fflush(stdout); + return compare_regions(bufa, bufb, count); + } +@@ -204,23 +215,23 @@ + printf(" "); + fflush(stdout); + for (j = 0; j < 64; j++) { +- printf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); + q = (j % 2) == 0 ? UL_ONEBITS : 0; +- printf("setting %3u", j); ++ dprintf("setting %3u", j); + fflush(stdout); + p1 = (ulv *) bufa; + p2 = (ulv *) bufb; + for (i = 0; i < count; i++) { + *p1++ = *p2++ = (i % 2) == 0 ? q : ~q; + } +- printf("\b\b\b\b\b\b\b\b\b\b\b"); +- printf("testing %3u", j); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("testing %3u", j); + fflush(stdout); + if (compare_regions(bufa, bufb, count)) { + return -1; + } + } +- printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); + fflush(stdout); + return 0; + } +@@ -235,23 +246,23 @@ + printf(" "); + fflush(stdout); + for (j = 0; j < 64; j++) { +- printf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); + q = (j % 2) == 0 ? CHECKERBOARD1 : CHECKERBOARD2; +- printf("setting %3u", j); ++ dprintf("setting %3u", j); + fflush(stdout); + p1 = (ulv *) bufa; + p2 = (ulv *) bufb; + for (i = 0; i < count; i++) { + *p1++ = *p2++ = (i % 2) == 0 ? q : ~q; + } +- printf("\b\b\b\b\b\b\b\b\b\b\b"); +- printf("testing %3u", j); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("testing %3u", j); + fflush(stdout); + if (compare_regions(bufa, bufb, count)) { + return -1; + } + } +- printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); + fflush(stdout); + return 0; + } +@@ -262,25 +273,25 @@ + unsigned int j; + size_t i; + +- printf(" "); ++ dprintf(" "); + fflush(stdout); + for (j = 0; j < 256; j++) { +- printf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); + p1 = (ulv *) bufa; + p2 = (ulv *) bufb; +- printf("setting %3u", j); ++ dprintf("setting %3u", j); + fflush(stdout); + for (i = 0; i < count; i++) { + *p1++ = *p2++ = (ul) UL_BYTE(j); + } +- printf("\b\b\b\b\b\b\b\b\b\b\b"); +- printf("testing %3u", j); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("testing %3u", j); + fflush(stdout); + if (compare_regions(bufa, bufb, count)) { + return -1; + } + } +- printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); + fflush(stdout); + return 0; + } +@@ -294,10 +305,10 @@ + printf(" "); + fflush(stdout); + for (j = 0; j < UL_LEN * 2; j++) { +- printf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); + p1 = (ulv *) bufa; + p2 = (ulv *) bufb; +- printf("setting %3u", j); ++ dprintf("setting %3u", j); + fflush(stdout); + for (i = 0; i < count; i++) { + if (j < UL_LEN) { /* Walk it up. */ +@@ -306,14 +317,14 @@ + *p1++ = *p2++ = 0x00000001 << (UL_LEN * 2 - j - 1); + } + } +- printf("\b\b\b\b\b\b\b\b\b\b\b"); +- printf("testing %3u", j); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("testing %3u", j); + fflush(stdout); + if (compare_regions(bufa, bufb, count)) { + return -1; + } + } +- printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); + fflush(stdout); + return 0; + } +@@ -324,13 +335,13 @@ + unsigned int j; + size_t i; + +- printf(" "); ++ dprintf(" "); + fflush(stdout); + for (j = 0; j < UL_LEN * 2; j++) { +- printf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); + p1 = (ulv *) bufa; + p2 = (ulv *) bufb; +- printf("setting %3u", j); ++ dprintf("setting %3u", j); + fflush(stdout); + for (i = 0; i < count; i++) { + if (j < UL_LEN) { /* Walk it up. */ +@@ -339,14 +350,14 @@ + *p1++ = *p2++ = UL_ONEBITS ^ (0x00000001 << (UL_LEN * 2 - j - 1)); + } + } +- printf("\b\b\b\b\b\b\b\b\b\b\b"); +- printf("testing %3u", j); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("testing %3u", j); + fflush(stdout); + if (compare_regions(bufa, bufb, count)) { + return -1; + } + } +- printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); + fflush(stdout); + return 0; + } +@@ -357,13 +368,13 @@ + unsigned int j; + size_t i; + +- printf(" "); ++ dprintf(" "); + fflush(stdout); + for (j = 0; j < UL_LEN * 2; j++) { +- printf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); + p1 = (ulv *) bufa; + p2 = (ulv *) bufb; +- printf("setting %3u", j); ++ dprintf("setting %3u", j); + fflush(stdout); + for (i = 0; i < count; i++) { + if (j < UL_LEN) { /* Walk it up. */ +@@ -378,14 +389,14 @@ + | (0x00000001 << (UL_LEN * 2 + 1 - j))); + } + } +- printf("\b\b\b\b\b\b\b\b\b\b\b"); +- printf("testing %3u", j); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("testing %3u", j); + fflush(stdout); + if (compare_regions(bufa, bufb, count)) { + return -1; + } + } +- printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); + fflush(stdout); + return 0; + } +@@ -397,29 +408,29 @@ + ul q; + size_t i; + +- printf(" "); ++ dprintf(" "); + fflush(stdout); + for (k = 0; k < UL_LEN; k++) { + q = 0x00000001 << k; + for (j = 0; j < 8; j++) { +- printf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); + q = ~q; +- printf("setting %3u", k * 8 + j); ++ dprintf("setting %3u", k * 8 + j); + fflush(stdout); + p1 = (ulv *) bufa; + p2 = (ulv *) bufb; + for (i = 0; i < count; i++) { + *p1++ = *p2++ = (i % 2) == 0 ? q : ~q; + } +- printf("\b\b\b\b\b\b\b\b\b\b\b"); +- printf("testing %3u", k * 8 + j); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("testing %3u", k * 8 + j); + fflush(stdout); + if (compare_regions(bufa, bufb, count)) { + return -1; + } + } + } +- printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); ++ dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b"); + fflush(stdout); + return 0; + } +diff -urN memtester-4.0.8.old/tests.h memtester-4.0.8/tests.h +--- memtester-4.0.8.old/tests.h 2007-11-21 16:54:57.000000000 +0100 ++++ memtester-4.0.8/tests.h 2008-05-22 01:51:15.072298292 +0200 +@@ -14,6 +14,8 @@ + * + */ + ++extern int quiet; ++ + /* Function declaration. */ + + int test_stuck_address(unsigned long volatile *bufa, size_t count); -- 2.30.2