sim: testsuite: add support for $pwd replacements
authorMike Frysinger <vapier@gentoo.org>
Wed, 17 Nov 2021 01:21:59 +0000 (20:21 -0500)
committerMike Frysinger <vapier@gentoo.org>
Wed, 17 Nov 2021 01:21:59 +0000 (20:21 -0500)
Extend the common test framework to support $pwd replacements in
settings.  This allows replacing the custom cris @exedir@ with it.

19 files changed:
sim/testsuite/cris/c/badldso3.c
sim/testsuite/cris/c/c.exp
sim/testsuite/cris/c/clone2.c
sim/testsuite/cris/c/hellodyn.c
sim/testsuite/cris/c/hellodyn2.c
sim/testsuite/cris/c/hellodyn3.c
sim/testsuite/cris/c/openpf1.c
sim/testsuite/cris/c/openpf4.c
sim/testsuite/cris/c/openpf5.c
sim/testsuite/cris/c/readlink3.c
sim/testsuite/cris/c/readlink6.c
sim/testsuite/cris/c/readlink8.c
sim/testsuite/cris/c/readlink9.c
sim/testsuite/cris/c/seek2.c
sim/testsuite/cris/c/stat3.c
sim/testsuite/cris/c/stat4.c
sim/testsuite/cris/c/truncate2.c
sim/testsuite/cris/hw/rv-n-cris/rvc.exp
sim/testsuite/lib/sim-defs.exp

index 9ff6d9a76135a8695cb2e991e24e41779a1faca0..f827e771a9c4d35999a0675db2cb3dd78f71debf 100644 (file)
@@ -2,7 +2,7 @@
 #notarget: cris*-*-elf
 #xerror:
 #cc: additional_flags=-Wl,-dynamic-linker,/compilercheck.x
-#sim: --sysroot=@exedir@
+#sim: --sysroot=$pwd
 #output: *: could not load ELF interpreter `*' for program `*'\n
  */
 #include "hello.c"
index e5b48661b63b0d9d9a878f77e86c94557b56e564..233ed8533778147d319ae1b82f891030f028c91a 100644 (file)
@@ -121,10 +121,6 @@ foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] {
            return
        }
 
-       # Replace specific substitutions:
-       # @exedir@ is where the test-program is located.
-       regsub -all "@exedir@" $opt_val "[pwd]" opt_val
-
        # Multiple of these options concatenate, they don't override.
        if { $opt_name == "output" || $opt_name == "progoptions" } {
            set opt_val "$opts($opt_name)$opt_val"
index e433a778b346f55d754c247fd83fa6a461676e18..aaa0873b640fb23343ac9a615a1bdd5e4f9522ad 100644 (file)
@@ -1,6 +1,6 @@
 /* Make sure the thread system trivially works with trace output.
 #notarget: cris*-*-elf
-#sim: --cris-trace=basic --trace-file=@exedir@/clone2.tmp
+#sim: --cris-trace=basic --trace-file=$pwd/clone2.tmp
 #output: got: a\nthen: bc\nexit: 0\n
 */
 #include "clone1.c"
index 4a036cc48796ae874b2c36441da5b4568a5c0b93..886818ad82c65eebcc9fe5c49c3daff3e542a4d9 100644 (file)
@@ -1,4 +1,4 @@
 /*
-#sim: --sysroot=@exedir@
+#sim: --sysroot=$pwd
  */
 #include "hello.c"
index 2a94ea4824b4531e21043a0c39bf1350ed005d63..47b501372dab522b629ce224278d50b2d96e8e7f 100644 (file)
@@ -1,4 +1,4 @@
 /*
-#sim: --sysroot=@exedir@ --load-vma
+#sim: --sysroot=$pwd --load-vma
  */
 #include "hello.c"
index d21122f73ea91539974bc5de8521827ac9527da1..4dd8bdd9e84385e44436ec42e0f941fa8a36df89 100644 (file)
@@ -3,6 +3,6 @@
    ld.so.cache (having no absolute path specified for the executable
    falls back on loading through the same mechanisms as a DSO).
 #notarget: *-*-elf
-#sim: --sysroot=@exedir@ @exedir@/lib/ld.so.1 --library-path /
+#sim: --sysroot=$pwd $pwd/lib/ld.so.1 --library-path /
  */
 #include "hello.c"
index e0d8e5c91409de22f8d8dc98a109e36a6edd96d3..fe767f71f3700f6c4c8aa3c51f3eae8dc70ec97a 100644 (file)
@@ -1,5 +1,5 @@
 /* Check that --sysroot is applied to open(2).
-#sim: --sysroot=@exedir@
+#sim: --sysroot=$pwd
 
    We assume, with EXE being the name of the executable:
    - The simulator executes with cwd the same directory where the executable
index d3fdcfe2f902c634c2e93ccf1602241e064354fa..b7ae810d780a5a238e12f4cbcb8d3cfb0fcc5918 100644 (file)
@@ -1,5 +1,5 @@
 /* Basic file operations, now *with* sysroot.
-#sim: --sysroot=@exedir@
+#sim: --sysroot=$pwd
 */
 #define PREFIX "/"
 #include "openpf3.c"
index 1f86ea283d4b82ae4fc71228c26f953f9ecc8b56..90bebe509be5245c2aa5c4b67352c4065b4dad17 100644 (file)
@@ -1,6 +1,6 @@
 /* Check that TRT happens when error on too many opened files.
 #notarget: cris*-*-elf
-#sim: --sysroot=@exedir@
+#sim: --sysroot=$pwd
 */
 #include <stddef.h>
 #include <stdlib.h>
index 94cff727e380670388241e1d56638a19e7e63683..d728087f1d52c795dfe6baf3836505724ee12520 100644 (file)
@@ -1,6 +1,6 @@
 /* Simulator options:
 #notarget: cris*-*-elf
-#sim: --sysroot=@exedir@
+#sim: --sysroot=$pwd
 */
 #define SYSROOTED 1
 #include "readlink2.c"
index 52a26f496392e6b0c1fffc05ee4f4127279b94d8..d64b95913a3f1d741a90e5ea6ba66d539bf7f83d 100644 (file)
@@ -1,5 +1,5 @@
 /* Check that rare readlink calls don't cause the simulator to abort.
 #notarget: cris*-*-elf
-#sim: --argv0 @exedir@/readlink6.c.x
+#sim: --argv0 $pwd/readlink6.c.x
 */
 #include "readlink2.c"
index 98319fb4e3447bd20b5acfec53409ab6131b70da..ddc424e4c510bd1505214f56f3d7fd1af554f72f 100644 (file)
@@ -1,6 +1,6 @@
 /* Check that rare readlink calls don't cause the simulator to abort.
 #notarget: cris*-*-elf
-#sim: --sysroot=@exedir@ --env-unset PWD
+#sim: --sysroot=$pwd --env-unset PWD
  */
 #define SYSROOTED 1
 #include "readlink2.c"
index 2788054363721a63e6a82c9fb174abbc162ff850..7316b7a9854e4da5b79b5ceb55e992b050dc57a6 100644 (file)
@@ -1,6 +1,6 @@
 /* Check that odd cases of readlink work.
 #notarget: cris*-*-elf
-#cc: additional_flags=-DX="@exedir@"
+#cc: additional_flags=-DX="$pwd"
 */
 
 #include <unistd.h>
index 9c24dfbdb08cd6f6658b19d84ce6702a3cb1952d..65d9d2402da2e4f670bcaffe0087464417ff9fdc 100644 (file)
@@ -1,4 +1,4 @@
 /* Simulator options:
-#sim: --sysroot=@exedir@/
+#sim: --sysroot=$pwd/
 */
 #include "seek1.c"
index a248ec0864ca58ed662da870c47e24b37b02d8d1..fa9fcc14b487d368c3f5b4426fab8780ccb262c7 100644 (file)
@@ -1,5 +1,5 @@
 /* Simulator options:
-#sim: --sysroot=@exedir@
+#sim: --sysroot=$pwd
 */
 #include <sys/types.h>
 #include <sys/stat.h>
index 62415a340e81a35533c8205ee5fe90789f8192cc..e524ac87a8b8313054a64b2829a6cb3b6cbaca4a 100644 (file)
@@ -1,6 +1,6 @@
 /* Simulator options:
 #notarget: cris*-*-elf
-#sim: --sysroot=@exedir@
+#sim: --sysroot=$pwd
 */
 
 #include <sys/types.h>
index a4c6470d8c793af1b4fe424b6ddb6b199f2f294a..f021ae8ac99203d33d07a5fc7c1ed6b447a9750d 100644 (file)
@@ -1,5 +1,5 @@
 /*
-#sim: --sysroot=@exedir@
+#sim: --sysroot=$pwd
 #notarget: cris*-*-elf
 */
 #define PREFIX "/"
index 3d8b5c3813def82024f31b2c1aa875b00f9ebfe6..ff3f757e49daf872160f42d5c6451fb8f7cb180e 100644 (file)
@@ -99,6 +99,7 @@ proc slurp_rv { file } {
        if [regexp $pat $line xxx cmd] {
            # match!
            set cmd [string map [list \
+               {$pwd} [pwd] \
                {$srcdir} "$srcdir" \
                {$subdir} "$subdir" \
            ] "$cmd"]
index 7bc4c66549eeab7195bc79b7f8ade845d6d2e3b1..0ddc4d556ab7f5b12de8cca2f141856a584b6a8d 100644 (file)
@@ -447,6 +447,7 @@ proc slurp_options { file } {
        if [regexp $pat $line xxx opt_name opt_machs opt_val] {
            # match!
            set opt_val [string map [list \
+               {$pwd} [pwd] \
                {$srcdir} "$srcdir" \
                {$subdir} "$subdir" \
            ] "$opt_val"]