#                                                                    -*-perl-*-

$description = "Run some negative tests (things that should fail).";

my $unterm = '*** unterminated variable reference.  Stop.';

# TEST #0
# Check that non-terminated variable references are detected (and
# reported using the best filename/lineno info
run_make_test('
foo = bar
x = $(foo
y = $x

all: ; @echo $y
',
              '', "#MAKEFILE#:3: $unterm",
              512);

# TEST #1
# Bogus variable value passed on the command line.
run_make_test(undef, ['x=$(other'], "#MAKEFILE#:4: $unterm", 512);

# TEST #2
# Again, but this time while reading the makefile.
run_make_test('
foo = bar
x = $(foo
y = $x

z := $y

all: ; @echo $y
',
              '', "#MAKEFILE#:3: $unterm", 512);

# TEST #3
# Bogus variable value passed on the command line.
run_make_test(undef, ['x=$(other'], "#MAKEFILE#:4: $unterm", 512);

my $nosep = '*** missing separator.  Stop.';

# Whitespace not allowed in variable names
run_make_test('x y =', '', "#MAKEFILE#:1: $nosep", 512);

run_make_test('x y=', '', "#MAKEFILE#:1: $nosep", 512);

# In theory an empty variable should be ignored, but during parsing it's a
# real token and so this fails.  I'm not 100% sure if this is right or not.

run_make_test('x $X=', '', "#MAKEFILE#:1: $nosep", 512);


1;
