Lines Matching refs:errors
26 int expect(const char* expr_str, const char* expected, int* errors) {
37 fprintf(stderr, "error parsing \"%s\" (%d errors)\n",
39 ++*errors;
53 ++*errors;
64 ++*errors;
74 int errors = 0;
76 expect("a", "a", &errors);
77 expect("\"a\"", "a", &errors);
78 expect("\"\\x61\"", "a", &errors);
82 "a", &errors);
86 expect("a; b; c", "c", &errors);
89 expect("a + b", "ab", &errors);
90 expect("a + \n \"b\"", "ab", &errors);
91 expect("a + b +\nc\n", "abc", &errors);
94 expect("concat(a, b)", "ab", &errors);
95 expect("concat(a,\n \"b\")", "ab", &errors);
96 expect("concat(a + b,\nc,\"d\")", "abcd", &errors);
97 expect("\"concat\"(a + b,\nc,\"d\")", "abcd", &errors);
100 expect("a && b", "b", &errors);
101 expect("a && \"\"", "", &errors);
102 expect("\"\" && b", "", &errors);
103 expect("\"\" && \"\"", "", &errors);
104 expect("\"\" && abort()", "", &errors); // test short-circuiting
105 expect("t && abort()", NULL, &errors);
108 expect("a || b", "a", &errors);
109 expect("a || \"\"", "a", &errors);
110 expect("\"\" || b", "b", &errors);
111 expect("\"\" || \"\"", "", &errors);
112 expect("a || abort()", "a", &errors); // test short-circuiting
113 expect("\"\" || abort()", NULL, &errors);
116 expect("!a", "", &errors);
117 expect("! \"\"", "t", &errors);
118 expect("!!a", "t", &errors);
121 expect("\"\" == \"\" && b", "b", &errors);
122 expect("a + b == ab", "t", &errors);
123 expect("ab == a + b", "t", &errors);
124 expect("a + (b == ab)", "a", &errors);
125 expect("(ab == a) + b", "b", &errors);
128 expect("is_substring(cad, abracadabra)", "t", &errors);
129 expect("is_substring(abrac, abracadabra)", "t", &errors);
130 expect("is_substring(dabra, abracadabra)", "t", &errors);
131 expect("is_substring(cad, abracxadabra)", "", &errors);
132 expect("is_substring(abrac, axbracadabra)", "", &errors);
133 expect("is_substring(dabra, abracadabrxa)", "", &errors);
136 expect("ifelse(t, yes, no)", "yes", &errors);
137 expect("ifelse(!t, yes, no)", "no", &errors);
138 expect("ifelse(t, yes, abort())", "yes", &errors);
139 expect("ifelse(!t, abort(), no)", "no", &errors);
142 expect("if t then yes else no endif", "yes", &errors);
143 expect("if \"\" then yes else no endif", "no", &errors);
144 expect("if \"\" then yes endif", "", &errors);
145 expect("if \"\"; t then yes endif", "yes", &errors);
148 expect("less_than_int(3, 14)", "t", &errors);
149 expect("less_than_int(14, 3)", "", &errors);
150 expect("less_than_int(x, 3)", "", &errors);
151 expect("less_than_int(3, x)", "", &errors);
152 expect("greater_than_int(3, 14)", "", &errors);
153 expect("greater_than_int(14, 3)", "t", &errors);
154 expect("greater_than_int(x, 3)", "", &errors);
155 expect("greater_than_int(3, x)", "", &errors);
159 return errors;
198 printf("parse returned %d; %d errors encountered\n", error, error_count);