qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-devel@nongnu.org
Cc: patches@linaro.org, "Michael S. Tsirkin" <mst@redhat.com>
Subject: [Qemu-devel] [PATCH 2/3] configure: Symlink entire test directories rather than individual files
Date: Tue, 30 Oct 2018 12:50:04 +0000	[thread overview]
Message-ID: <20181030125005.28151-3-peter.maydell@linaro.org> (raw)
In-Reply-To: <20181030125005.28151-1-peter.maydell@linaro.org>

Instead of symlinking every individual file inside the data
directories used by some tests, just symlink the entire
directory. This avoids a problem where if a new data file
is added to the source tree, nothing results in configure
being rerun to create the symlink, and so test runs in the
build tree fail to find the file.

Add a comment noting why adding wildcards to FILES is
a bad idea. (Yes, we still do this for various files in pc-bios/;
we get away with this because we don't in practice add new
BIOS images often and if we do there's also usually a change
that means configure is rerun anyway. We can't just symlink
all of pc-bios into the build tree because it contains other
things than just generated binaries.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 configure | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/configure b/configure
index b7d0167b650..acb9a4d39e5 100755
--- a/configure
+++ b/configure
@@ -7370,6 +7370,12 @@ fi
 # DIRS are directories which we simply mkdir in the build tree;
 # LINKS are things to symlink back into the source tree
 # (these can be both files and directories).
+# Caution: do not add files or directories here using wildcards. This
+# will result in problems later if a new file matching the wildcard is
+# added to the source tree -- nothing will cause configure to be rerun
+# so the build tree will be missing the link back to the new file, and
+# tests might fail. Prefer to keep the relevant files in their own
+# directory and symlink the directory instead.
 DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32 tests/libqos tests/qapi-schema tests/tcg/xtensa tests/qemu-iotests tests/vm"
 DIRS="$DIRS tests/fp"
 DIRS="$DIRS docs docs/interop fsdev scsi"
@@ -7385,6 +7391,7 @@ LINKS="$LINKS pc-bios/s390-ccw/Makefile"
 LINKS="$LINKS roms/seabios/Makefile roms/vgabios/Makefile"
 LINKS="$LINKS pc-bios/qemu-icon.bmp"
 LINKS="$LINKS .gdbinit scripts" # scripts needed by relative path in .gdbinit
+LINKS="$LINKS tests/acpi-test-data tests/hex-loader-check-data"
 for bios_file in \
     $source_path/pc-bios/*.bin \
     $source_path/pc-bios/*.lid \
@@ -7398,14 +7405,6 @@ for bios_file in \
 do
     LINKS="$LINKS pc-bios/$(basename $bios_file)"
 done
-for test_file in $(find $source_path/tests/acpi-test-data -type f)
-do
-    LINKS="$LINKS tests/acpi-test-data$(echo $test_file | sed -e 's/.*acpi-test-data//')"
-done
-for test_file in $(find $source_path/tests/hex-loader-check-data -type f)
-do
-    LINKS="$LINKS tests/hex-loader-check-data$(echo $test_file | sed -e 's/.*hex-loader-check-data//')"
-done
 mkdir -p $DIRS
 for f in $LINKS ; do
     if [ -e "$source_path/$f" ] && [ "$pwd_is_source_path" != "y" ]; then
-- 
2.19.1

  parent reply	other threads:[~2018-10-30 12:50 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-30 12:50 [Qemu-devel] [PATCH 0/3] configure: symlink directories, not wildcarded files Peter Maydell
2018-10-30 12:50 ` [Qemu-devel] [PATCH 1/3] configure: Rename FILES variable to LINKS Peter Maydell
2018-10-30 13:13   ` Philippe Mathieu-Daudé
2018-10-30 12:50 ` Peter Maydell [this message]
2018-10-30 12:50 ` [Qemu-devel] [PATCH 3/3] configure: Use FILES loop for all build tree symlinks Peter Maydell
2018-10-30 13:01 ` [Qemu-devel] [PATCH 0/3] configure: symlink directories, not wildcarded files Peter Maydell
2018-10-30 13:08   ` Peter Maydell
2018-10-30 15:02     ` Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181030125005.28151-3-peter.maydell@linaro.org \
    --to=peter.maydell@linaro.org \
    --cc=mst@redhat.com \
    --cc=patches@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).