| # -*-perl-*- | |
| $description = "Test the realpath functions."; | |
| $details = ""; | |
| # Check the local directory's realpath | |
| run_make_test(' | |
| ifneq ($(realpath .),$(CURDIR)) | |
| $(warning $(realpath .) != $(CURDIR)) | |
| endif | |
| ifneq ($(realpath ./),$(CURDIR)) | |
| $(warning $(realpath ./) != $(CURDIR)) | |
| endif | |
| ifneq ($(realpath .///),$(CURDIR)) | |
| $(warning $(realpath .///) != $(CURDIR)) | |
| endif | |
| .PHONY: all | |
| all: ; @: | |
| ', | |
| '', ''); | |
| # Find the realpath to the root of the partition | |
| create_file('root.mk', 'all:;$(info $(realpath /))'); | |
| my $root = `"$make_path" -sf root.mk`; | |
| unlink('root.mk'); | |
| $root =~ s/\r?\n//g; | |
| my $tst = ' | |
| ifneq ($(realpath /.),#ROOT#) | |
| $(warning $(realpath /.) != #ROOT#) | |
| endif | |
| ifneq ($(realpath /./),#ROOT#) | |
| $(warning $(realpath /./) != #ROOT#) | |
| endif | |
| ifneq ($(realpath /.///),#ROOT#) | |
| $(warning $(realpath /.///) != #ROOT#) | |
| endif | |
| ifneq ($(realpath /..),#ROOT#) | |
| $(warning $(realpath /..) != #ROOT#) | |
| endif | |
| ifneq ($(realpath /../),#ROOT#) | |
| $(warning $(realpath /../) != #ROOT#) | |
| endif | |
| ifneq ($(realpath /..///),#ROOT#) | |
| $(warning $(realpath /..///) != #ROOT#) | |
| endif | |
| ifneq ($(realpath . /..),$(CURDIR) #ROOT#) | |
| $(warning $(realpath . /..) != $(CURDIR) #ROOT#) | |
| endif | |
| .PHONY: all | |
| all: ; @: | |
| '; | |
| $tst =~ s/#ROOT#/$root/g; | |
| run_make_test($tst, '', ''); | |
| # On Windows platforms "//" means something special. So, don't do these tests | |
| # there. | |
| if ($port_type ne 'W32') { | |
| $tst = ' | |
| ifneq ($(realpath ///),#ROOT#) | |
| $(warning $(realpath ///) != #ROOT#) | |
| endif | |
| ifneq ($(realpath ///.),#ROOT#) | |
| $(warning $(realpath ///.) != #ROOT#) | |
| endif | |
| ifneq ($(realpath ///..),#ROOT#) | |
| $(warning $(realpath ///..) != #ROOT#) | |
| endif | |
| .PHONY: all | |
| all: ; @:'; | |
| $tst =~ s/#ROOT#/$root/g; | |
| run_make_test($tst, '', ''); | |
| } | |
| # This tells the test driver that the perl test script executed properly. | |
| 1; |