# -*-perl-*- $description = "Test the intcmp function.\n"; $details = "Try various uses of intcmp and ensure they all give the correct results.\n"; run_make_test('# Negative n = -10 # Zero z = 0 # Positive p = 1000000000 .RECIPEPREFIX = > all: > @echo 0_1 $(intcmp $n,$n) > @echo 0_2 $(intcmp $n,$z) > @echo 0_3 $(intcmp $z,$n) > @echo 1_1 $(intcmp $n,$n,$(shell echo lt)) > @echo 1_2 $(intcmp $n,$z,$(shell echo lt)) > @echo 1_3 $(intcmp $z,$n,$(shell echo lt)) > @echo 2_1 $(intcmp $n,$p,lt,ge) > @echo 2_2 $(intcmp $z,$z,lt,ge) > @echo 2_3 $(intcmp $p,$n,lt,ge) > @echo 3_0 $(intcmp $p,$n,lt,eq,) > @echo 3_1 $(intcmp $z,$p,lt,eq,gt) > @echo 3_2 $(intcmp $p,$z,lt,eq,gt) > @echo 3_3 $(intcmp $p,$p,lt,eq,gt) ', '', "0_1 -10\n0_2\n0_3\n1_1\n1_2 lt\n1_3\n2_1 lt\n2_2 ge\n2_3 ge\n3_0\n3_1 lt\n3_2 gt\n3_3 eq\n"); # Test error conditions run_make_test(' intcmp-e1: ; @echo $(intcmp 12a,1,foo) intcmp-e2: ; @echo $(intcmp 0,,foo) intcmp-e3: ; @echo $(intcmp -1,9999999999999999999,foo) intcmp-e4: ; @echo $(intcmp -1) intcmp-e5: ; @echo $(intcmp ,55)', 'intcmp-e1', "#MAKEFILE#:2: *** non-numeric first argument to 'intcmp' function: '12a'. Stop.", 512); run_make_test(undef, 'intcmp-e2', "#MAKEFILE#:3: *** non-numeric second argument to 'intcmp' function: ''. Stop.", 512); run_make_test(undef, 'intcmp-e3', "#MAKEFILE#:4: *** Numerical result out of range: '9999999999999999999'. Stop.", 512); # This tells the test driver that the perl test script executed properly. 1;