File: valid-test.c

package info (click to toggle)
minc 2.1.10-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 8,160 kB
  • sloc: ansic: 82,507; sh: 10,666; yacc: 1,187; perl: 612; makefile: 586; lex: 319
file content (75 lines) | stat: -rw-r--r-- 1,915 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <stdio.h>
#include "minc2.h"

#define TESTRPT(msg, val) (error_cnt++, fprintf(stderr, \
                                  "Error reported on line #%d, %s: %d\n", \
                                  __LINE__, msg, val))
static int error_cnt = 0;

int
main(int argc, char **argv)
{
    mihandle_t hvol;
    int r;
    double min, max;
    double orig_min, orig_max;

    while (--argc > 0) {
	r = miopen_volume(*++argv, MI2_OPEN_RDWR, &hvol);
	if (r < 0) {
	    TESTRPT("can't open input", r);
            continue;
	}

        r = miget_volume_valid_min(hvol, &min);
        if (r < 0) {
            TESTRPT("error getting valid minimum", r);
        }

        r = miget_volume_valid_max(hvol, &max);
        if (r < 0) {
            TESTRPT("error getting valid maximum", r);
        }
            
        r = miget_volume_valid_range(hvol, &max, &min);
        if (r < 0) {
            TESTRPT("error getting valid range", r);
        }

        printf("min %f max %f\n", min, max);
        if (min > max) {
            TESTRPT("error - min exceeds max!", 0);
        }

        orig_min = min;
        orig_max = max;

        /* Try some arbitrary manipulations */
        max = orig_max + 100;
        min = orig_min - 100;

        r = miset_volume_valid_range(hvol, max, min);
        if (r < 0) {
            TESTRPT("error setting new volume range", 0);
        }

        r = miget_volume_valid_min(hvol, &min);
        if (r != 0 || min != orig_min - 100) {
            TESTRPT("error changing volume minimum", 0);
        }

        r = miget_volume_valid_max(hvol, &max);
        if (max != orig_max + 100) {
            TESTRPT("error changing volume maximum", 0);
        }

        r = miset_volume_valid_range(hvol, orig_max, orig_min);
        if (r < 0) {
            TESTRPT("error restoring volume range", r);
        }

        miclose_volume(hvol);
    }
    return (error_cnt);
}