Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#                                                                    -*-Perl-*-

$description = "\
The following test creates a makefile to test the error function.";

$details = "";

open(MAKEFILE,"> $makefile");

print MAKEFILE 'err = $(error Error found!)

ifdef ERROR1
$(error error is $(ERROR1))
endif

ifdef ERROR2
$(error error is $(ERROR2))
endif

ifdef ERROR3
all: some; @echo $(error error is $(ERROR3))
endif

ifdef ERROR4
all: some; @echo error is $(ERROR4)
	@echo $(error error is $(ERROR4))
endif

some: ; @echo Some stuff

testvar: ; @: $(err)
';

close(MAKEFILE);

# Test #1

&run_make_with_options($makefile, "ERROR1=yes", &get_logfile, 512);
$answer = "$makefile:4: *** error is yes.  Stop.\n";
&compare_output($answer,&get_logfile(1));

# Test #2

&run_make_with_options($makefile, "ERROR2=no", &get_logfile, 512);
$answer = "$makefile:8: *** error is no.  Stop.\n";
&compare_output($answer,&get_logfile(1));

# Test #3

&run_make_with_options($makefile, "ERROR3=maybe", &get_logfile, 512);
$answer = "Some stuff\n$makefile:12: *** error is maybe.  Stop.\n";
&compare_output($answer,&get_logfile(1));

# Test #4

&run_make_with_options($makefile, "ERROR4=definitely", &get_logfile, 512);
$answer = "Some stuff\n$makefile:16: *** error is definitely.  Stop.\n";
&compare_output($answer,&get_logfile(1));

# Test #5

&run_make_with_options($makefile, "testvar", &get_logfile, 512);
$answer = "$makefile:22: *** Error found!.  Stop.\n";
&compare_output($answer,&get_logfile(1));

# This tells the test driver that the perl test script executed properly.
1;