Skip to content

Commit

Permalink
Fix up tests
Browse files Browse the repository at this point in the history
  • Loading branch information
ellie-idb committed Oct 17, 2021
1 parent aadc90c commit 389b187
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 71 deletions.
2 changes: 1 addition & 1 deletion test/compilable/dmdcliflags.sh
Original file line number Diff line number Diff line change
Expand Up @@ -163,4 +163,4 @@ echo "$output" | grep "Only a number between 0 and 100 can be passed to \`-cov=<

output="$(! $DMD -verrors=foo 2>&1)"
echo "$output" | grep "Error: Switch \`-verrors=foo\` is invalid"
echo "$output" | grep "Only number, \`spec\`, or \`context\` are allowed for \`-verrors\`"
echo "$output" | grep "Only a number, \`basic\`, or \`spec\` are allowed for \`-verrors\`"
49 changes: 7 additions & 42 deletions test/fail_compilation/constraints_func4.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,83 +3,48 @@ EXTRA_FILES: imports/constraints.d
REQUIRED_ARGS: -verrors=context
TEST_OUTPUT:
---
fail_compilation/constraints_func4.d(90): Error: template `imports.constraints.overload` cannot deduce function from argument types `!()(int)`
overload(0);
^
Deprecation: -verrors=context is redundant, and will be removed in future DMD versions.
fail_compilation/constraints_func4.d(55): Error: template `imports.constraints.overload` cannot deduce function from argument types `!()(int)`
fail_compilation/imports/constraints.d(39): Candidates are: `overload(T)(T v)`
with `T = int`
must satisfy the following constraint:
` N!T`
void overload(T)(T v) if (N!T);
^
fail_compilation/imports/constraints.d(40): `overload(T)(T v)`
with `T = int`
must satisfy the following constraint:
` !P!T`
void overload(T)(T v) if (!P!T);
^
fail_compilation/imports/constraints.d(41): `overload(T)(T v1, T v2)`
void overload(T)(T v1, T v2) if (N!T);
^
fail_compilation/imports/constraints.d(42): `overload(T, V)(T v1, V v2)`
void overload(T, V)(T v1, V v2) if (N!T || N!V);
^
fail_compilation/constraints_func4.d(91): Error: template `imports.constraints.overload` cannot deduce function from argument types `!()(int, string)`
overload(0, "");
^
fail_compilation/constraints_func4.d(56): Error: template `imports.constraints.overload` cannot deduce function from argument types `!()(int, string)`
fail_compilation/imports/constraints.d(39): Candidates are: `overload(T)(T v)`
void overload(T)(T v) if (N!T);
^
fail_compilation/imports/constraints.d(40): `overload(T)(T v)`
void overload(T)(T v) if (!P!T);
^
fail_compilation/imports/constraints.d(41): `overload(T)(T v1, T v2)`
void overload(T)(T v1, T v2) if (N!T);
^
fail_compilation/imports/constraints.d(42): `overload(T, V)(T v1, V v2)`
with `T = int,
V = string`
must satisfy one of the following constraints:
` N!T
N!V`
void overload(T, V)(T v1, V v2) if (N!T || N!V);
^
fail_compilation/constraints_func4.d(93): Error: template `imports.constraints.variadic` cannot deduce function from argument types `!()()`
variadic();
^
fail_compilation/constraints_func4.d(58): Error: template `imports.constraints.variadic` cannot deduce function from argument types `!()()`
fail_compilation/imports/constraints.d(43): Candidate is: `variadic(A, T...)(A a, T v)`
void variadic(A, T...)(A a, T v) if (N!int);
^
fail_compilation/constraints_func4.d(94): Error: template `imports.constraints.variadic` cannot deduce function from argument types `!()(int)`
variadic(0);
^
fail_compilation/constraints_func4.d(59): Error: template `imports.constraints.variadic` cannot deduce function from argument types `!()(int)`
fail_compilation/imports/constraints.d(43): Candidate is: `variadic(A, T...)(A a, T v)`
with `A = int,
T = ()`
must satisfy the following constraint:
` N!int`
void variadic(A, T...)(A a, T v) if (N!int);
^
fail_compilation/constraints_func4.d(95): Error: template `imports.constraints.variadic` cannot deduce function from argument types `!()(int, int)`
variadic(0, 1);
^
fail_compilation/constraints_func4.d(60): Error: template `imports.constraints.variadic` cannot deduce function from argument types `!()(int, int)`
fail_compilation/imports/constraints.d(43): Candidate is: `variadic(A, T...)(A a, T v)`
with `A = int,
T = (int)`
must satisfy the following constraint:
` N!int`
void variadic(A, T...)(A a, T v) if (N!int);
^
fail_compilation/constraints_func4.d(96): Error: template `imports.constraints.variadic` cannot deduce function from argument types `!()(int, int, int)`
variadic(0, 1, 2);
^
fail_compilation/constraints_func4.d(61): Error: template `imports.constraints.variadic` cannot deduce function from argument types `!()(int, int, int)`
fail_compilation/imports/constraints.d(43): Candidate is: `variadic(A, T...)(A a, T v)`
with `A = int,
T = (int, int)`
must satisfy the following constraint:
` N!int`
void variadic(A, T...)(A a, T v) if (N!int);
^
---
*/

Expand Down
17 changes: 5 additions & 12 deletions test/fail_compilation/fail21849.d
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,11 @@
// REQUIRED_ARGS: -verrors=context -vcolumns
/* TEST_OUTPUT:
---
fail_compilation/fail21849.d(21,17): Error: cannot implicitly convert expression `1` of type `int` to `string`
string ß = 1;
^
fail_compilation/fail21849.d(25,42): Error: cannot implicitly convert expression `cast(ushort)65535u` of type `ushort` to `byte`
string s = "ß☺-oneline"; byte S = ushort.max;
^
fail_compilation/fail21849.d(30,10): Error: undefined identifier `undefined_identifier`
ß-utf"; undefined_identifier;
^
fail_compilation/fail21849.d(35,15): Error: `s[0..9]` has no effect
☺-smiley"; s[0 .. 9];
^
Deprecation: -verrors=context is redundant, and will be removed in future DMD versions.
fail_compilation/fail21849.d(14,17): Error: cannot implicitly convert expression `1` of type `int` to `string`
fail_compilation/fail21849.d(18,42): Error: cannot implicitly convert expression `cast(ushort)65535u` of type `ushort` to `byte`
fail_compilation/fail21849.d(23,10): Error: undefined identifier `undefined_identifier`
fail_compilation/fail21849.d(28,15): Error: `s[0..9]` has no effect
---
*/
void fail21849a()
Expand Down
15 changes: 5 additions & 10 deletions test/fail_compilation/fail_pretty_errors.d
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,11 @@
REQUIRED_ARGS: -verrors=context
TEST_OUTPUT:
---
fail_compilation/fail_pretty_errors.d(20): Error: undefined identifier `a`
a = 1;
^
fail_compilation/fail_pretty_errors.d-mixin-25(25): Error: undefined identifier `b`
fail_compilation/fail_pretty_errors.d(30): Error: cannot implicitly convert expression `5` of type `int` to `string`
string x = 5;
^
fail_compilation/fail_pretty_errors.d(35): Error: mixin `fail_pretty_errors.testMixin2.mixinTemplate!()` error instantiating
mixin mixinTemplate;
^
Deprecation: -verrors=context is redundant, and will be removed in future DMD versions.
fail_compilation/fail_pretty_errors.d(15): Error: undefined identifier `a`
fail_compilation/fail_pretty_errors.d-mixin-20(20): Error: undefined identifier `b`
fail_compilation/fail_pretty_errors.d(25): Error: cannot implicitly convert expression `5` of type `int` to `string`
fail_compilation/fail_pretty_errors.d(30): Error: mixin `fail_pretty_errors.testMixin2.mixinTemplate!()` error instantiating
---
*/

Expand Down
9 changes: 3 additions & 6 deletions test/fail_compilation/staticforeach4.d
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@
REQUIRED_ARGS: -verrors=context
TEST_OUTPUT:
---
fail_compilation/staticforeach4.d(16): Error: index type `byte` cannot cover index range 0..257
static foreach (byte a, int b; data) { }
^
fail_compilation/staticforeach4.d(17): Error: index type `byte` cannot cover index range 0..257
static foreach (byte a, int b; fn()) { }
^
Deprecation: -verrors=context is redundant, and will be removed in future DMD versions.
fail_compilation/staticforeach4.d(13): Error: index type `byte` cannot cover index range 0..257
fail_compilation/staticforeach4.d(14): Error: index type `byte` cannot cover index range 0..257
---
*/
immutable int[257] data = 1;
Expand Down

0 comments on commit 389b187

Please sign in to comment.