~ubuntu-branches/ubuntu/natty/memtester/natty

« back to all changes in this revision

Viewing changes to tests.c

  • Committer: Bazaar Package Importer
  • Author(s): Gürkan Sengün
  • Date: 2010-10-11 12:45:36 UTC
  • mfrom: (1.1.5 upstream) (3.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20101011124536-fv6cxi4ablart8tn
Tags: 4.2.1-1
New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
    for (i = 0; i < count; i++, p1++, p2++) {
40
40
        if (*p1 != *p2) {
41
41
            if (use_phys) {
42
 
                physaddr = physaddrbase + i;
 
42
                physaddr = physaddrbase + (i * sizeof(ul));
43
43
                fprintf(stderr, 
44
44
                        "FAILURE: 0x%08lx != 0x%08lx at physical address "
45
45
                        "0x%08lx.\n", 
47
47
            } else {
48
48
                fprintf(stderr, 
49
49
                        "FAILURE: 0x%08lx != 0x%08lx at offset 0x%08lx.\n", 
50
 
                        (ul) *p1, (ul) *p2, (ul) i);
 
50
                        (ul) *p1, (ul) *p2, (ul) (i * sizeof(ul)));
51
51
            }
52
52
            /* printf("Skipping to next test..."); */
53
53
            r = -1;
80
80
        for (i = 0; i < count; i++, p1++) {
81
81
            if (*p1 != (((j + i) % 2) == 0 ? (ul) p1 : ~((ul) p1))) {
82
82
                if (use_phys) {
83
 
                    physaddr = physaddrbase + i;
 
83
                    physaddr = physaddrbase + (i * sizeof(ul));
84
84
                    fprintf(stderr, 
85
85
                            "FAILURE: possible bad address line at physical "
86
86
                            "address 0x%08lx.\n", 
89
89
                    fprintf(stderr, 
90
90
                            "FAILURE: possible bad address line at offset "
91
91
                            "0x%08lx.\n", 
92
 
                            (ul) i);
 
92
                            (ul) (i * sizeof(ul)));
93
93
                }
94
94
                printf("Skipping to next test...\n");
95
95
                fflush(stdout);
445
445
    fflush(stdout);
446
446
    return 0;
447
447
}
 
448
 
 
449
#ifdef TEST_NARROW_WRITES    
 
450
int test_8bit_wide_random(ulv* bufa, ulv* bufb, size_t count) {
 
451
    u8v *p1, *t;
 
452
    ulv *p2;
 
453
    int attempt;
 
454
    unsigned int b, j = 0;
 
455
    size_t i;
 
456
 
 
457
    putchar(' ');
 
458
    fflush(stdout);
 
459
    for (attempt = 0; attempt < 2;  attempt++) {
 
460
        if (attempt & 1) {
 
461
            p1 = (u8v *) bufa;
 
462
            p2 = bufb;
 
463
        } else {
 
464
            p1 = (u8v *) bufb;
 
465
            p2 = bufa;
 
466
        }
 
467
        for (i = 0; i < count; i++) {
 
468
            t = mword8.bytes;
 
469
            *p2++ = mword8.val = rand_ul();
 
470
            for (b=0; b < UL_LEN/8; b++) {
 
471
                *p1++ = *t++;
 
472
            }
 
473
            if (!(i % PROGRESSOFTEN)) {
 
474
                putchar('\b');
 
475
                putchar(progress[++j % PROGRESSLEN]);
 
476
                fflush(stdout);
 
477
            }
 
478
        }
 
479
        if (compare_regions(bufa, bufb, count)) {
 
480
            return -1;
 
481
        }
 
482
    }
 
483
    printf("\b \b");
 
484
    fflush(stdout);
 
485
    return 0;
 
486
}
 
487
 
 
488
int test_16bit_wide_random(ulv* bufa, ulv* bufb, size_t count) {
 
489
    u16v *p1, *t;
 
490
    ulv *p2;
 
491
    int attempt;
 
492
    unsigned int b, j = 0;
 
493
    size_t i;
 
494
 
 
495
    putchar( ' ' );
 
496
    fflush( stdout );
 
497
    for (attempt = 0; attempt < 2; attempt++) {
 
498
        if (attempt & 1) {
 
499
            p1 = (u16v *) bufa;
 
500
            p2 = bufb;
 
501
        } else {
 
502
            p1 = (u16v *) bufb;
 
503
            p2 = bufa;
 
504
        }
 
505
        for (i = 0; i < count; i++) {
 
506
            t = mword16.u16s;
 
507
            *p2++ = mword16.val = rand_ul();
 
508
            for (b = 0; b < UL_LEN/16; b++) {
 
509
                *p1++ = *t++;
 
510
            }
 
511
            if (!(i % PROGRESSOFTEN)) {
 
512
                putchar('\b');
 
513
                putchar(progress[++j % PROGRESSLEN]);
 
514
                fflush(stdout);
 
515
            }
 
516
        }
 
517
        if (compare_regions(bufa, bufb, count)) {
 
518
            return -1;
 
519
        }
 
520
    }
 
521
    printf("\b \b");
 
522
    fflush(stdout);
 
523
    return 0;
 
524
}
 
525
#endif