[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] syslinux_test: Fix out-of-tree build handling
From: |
Colin Watson |
Subject: |
[PATCH] syslinux_test: Fix out-of-tree build handling |
Date: |
Sun, 18 Sep 2016 17:33:49 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
When doing out-of-tree builds, abs_top_srcdir may well contain ".."
segments, and grub-syslinux2cfg canonicalises its --root argument. As a
result, the expansion of @abs_top_srcdir@ may not match what
grub-syslinux2cfg produces.
It's somewhat difficult to portably canonicalize a path in shell, and
autoconf/automake don't offer any support for this. But there's a much
simpler option: copy the test data to a temporary directory and make
substitutions in the expected output file based on that.
---
Makefile.am | 6 ------
tests/syslinux/ubuntu10.04_grub.cfg.in | 30 +++++++++++++++---------------
tests/syslinux_test.in | 14 ++++++++++----
3 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 00a9663..bc90303 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -460,9 +460,3 @@ ChangeLog: FORCE
fi
EXTRA_DIST += ChangeLog ChangeLog-2015
-
-syslinux_test: $(top_builddir)/config.status
tests/syslinux/ubuntu10.04_grub.cfg
-
-tests/syslinux/ubuntu10.04_grub.cfg: $(top_builddir)/config.status
tests/syslinux/ubuntu10.04_grub.cfg.in
- (for x in tests/syslinux/ubuntu10.04_grub.cfg.in ; do cat
$(srcdir)/"$$x"; done) | $(top_builddir)/config.status --file=$@:-
-CLEANFILES += tests/syslinux/ubuntu10.04_grub.cfg
diff --git a/tests/syslinux/ubuntu10.04_grub.cfg.in
b/tests/syslinux/ubuntu10.04_grub.cfg.in
index 846e4ac..f285afb 100644
--- a/tests/syslinux/ubuntu10.04_grub.cfg.in
+++ b/tests/syslinux/ubuntu10.04_grub.cfg.in
@@ -1,4 +1,4 @@
- background_image
'@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux'/'splash.png'
+ background_image '@dir@/ubuntu10.04/isolinux'/'splash.png'
# D-I config version 2.0
# UNSUPPORTED command 'menu hshift 13'
# UNSUPPORTED command 'menu width 49'
@@ -41,7 +41,7 @@ menuentry 'Test memory' --hotkey 'm' --id 'memtest' {
linux$linux_suffix '/'/'/install/mt86plus'
}
menuentry 'Boot from first hard disk' --hotkey 'b' --id 'hd' {
-# File (host)/@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux/gtk.cfg not
found
+# File (host)/@dir@/ubuntu10.04/isolinux/gtk.cfg not found
# UNSUPPORTED command 'menu begin advanced'
# UNSUPPORTED command 'menu title Advanced options'
# UNSUPPORTED command 'menu color title * #FFFFFFFF *'
@@ -63,15 +63,15 @@ menuentry 'Boot from first hard disk' --hotkey 'b' --id
'hd' {
}
menuentry 'Back..' --hotkey 'b' --id 'mainmenu' {
# UNSUPPORTED command 'menu exit'
-# File (host)/@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux/adgtk.cfg
not found
+# File (host)/@dir@/ubuntu10.04/isolinux/adgtk.cfg not found
# UNSUPPORTED command 'menu end'
# UNSUPPORTED entry type 0
true;
}
menuentry 'Help' --hotkey 'h' --id 'help' {
# UNSUPPORTED command 'ui gfxboot bootlogo'
-#'@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux'/'prompt.cfg'
(host)@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux/prompt.cfg:
- background_image
'@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux/'/'splash.png'
+#'@dir@/ubuntu10.04/isolinux'/'prompt.cfg'
(host)@dir@/ubuntu10.04/isolinux/prompt.cfg:
+ background_image '@dir@/ubuntu10.04/isolinux/'/'splash.png'
# UNSUPPORTED command 'display f1.txt'
# UNSUPPORTED command 'menu hshift 13'
# UNSUPPORTED command 'menu width 49'
@@ -114,7 +114,7 @@ menuentry 'Test memory' --hotkey 'm' --id 'memtest' {
linux$linux_suffix '/'/'/install/mt86plus'
}
menuentry 'Boot from first hard disk' --hotkey 'b' --id 'hd' {
-# File (host)/@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux//gtk.cfg
not found
+# File (host)/@dir@/ubuntu10.04/isolinux//gtk.cfg not found
# UNSUPPORTED command 'menu begin advanced'
# UNSUPPORTED command 'menu title Advanced options'
# UNSUPPORTED command 'menu color title * #FFFFFFFF *'
@@ -136,14 +136,14 @@ menuentry 'Boot from first hard disk' --hotkey 'b' --id
'hd' {
}
menuentry 'Back..' --hotkey 'b' --id 'mainmenu' {
# UNSUPPORTED command 'menu exit'
-# File (host)/@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux//adgtk.cfg
not found
+# File (host)/@dir@/ubuntu10.04/isolinux//adgtk.cfg not found
# UNSUPPORTED command 'menu end'
# UNSUPPORTED entry type 0
true;
}
menuentry 'Help' --hotkey 'h' --id 'help' {
-#'@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux/'/'prompt.cfg'
(host)@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux/prompt.cfg:
- syslinux_configfile -r '/'/'/' -c
'@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux/'/''
'@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux/'/'prompt.cfg'
+#'@dir@/ubuntu10.04/isolinux/'/'prompt.cfg'
(host)@dir@/ubuntu10.04/isolinux/prompt.cfg:
+ syslinux_configfile -r '/'/'/' -c '@dir@/ubuntu10.04/isolinux/'/''
'@dir@/ubuntu10.04/isolinux/'/'prompt.cfg'
}
menuentry 'menu' --id 'menu' {
# UNSUPPORTED command 'f1 f1.txt'
@@ -156,8 +156,8 @@ menuentry 'menu' --id 'menu' {
# UNSUPPORTED command 'f8 f8.txt'
# UNSUPPORTED command 'f9 f9.txt'
# UNSUPPORTED command 'f0 f10.txt'
-#'@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux/'/'isolinux.cfg'
(host)@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux/isolinux.cfg:
- background_image
'@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux//'/'splash.png'
+#'@dir@/ubuntu10.04/isolinux/'/'isolinux.cfg'
(host)@dir@/ubuntu10.04/isolinux/isolinux.cfg:
+ background_image '@dir@/ubuntu10.04/isolinux//'/'splash.png'
# D-I config version 2.0
# UNSUPPORTED command 'menu hshift 13'
# UNSUPPORTED command 'menu width 49'
@@ -200,7 +200,7 @@ menuentry 'Test memory' --hotkey 'm' --id 'memtest' {
linux$linux_suffix '/'/'/install/mt86plus'
}
menuentry 'Boot from first hard disk' --hotkey 'b' --id 'hd' {
-# File (host)/@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux///gtk.cfg
not found
+# File (host)/@dir@/ubuntu10.04/isolinux///gtk.cfg not found
# UNSUPPORTED command 'menu begin advanced'
# UNSUPPORTED command 'menu title Advanced options'
# UNSUPPORTED command 'menu color title * #FFFFFFFF *'
@@ -222,15 +222,15 @@ menuentry 'Boot from first hard disk' --hotkey 'b' --id
'hd' {
}
menuentry 'Back..' --hotkey 'b' --id 'mainmenu' {
# UNSUPPORTED command 'menu exit'
-# File (host)/@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux///adgtk.cfg
not found
+# File (host)/@dir@/ubuntu10.04/isolinux///adgtk.cfg not found
# UNSUPPORTED command 'menu end'
# UNSUPPORTED entry type 0
true;
}
menuentry 'Help' --hotkey 'h' --id 'help' {
# UNSUPPORTED command 'ui gfxboot bootlogo'
-#'@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux//'/'prompt.cfg'
(host)@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux/prompt.cfg:
- syslinux_configfile -r '/'/'/' -c
'@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux//'/''
'@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux//'/'prompt.cfg'
+#'@dir@/ubuntu10.04/isolinux//'/'prompt.cfg'
(host)@dir@/ubuntu10.04/isolinux/prompt.cfg:
+ syslinux_configfile -r '/'/'/' -c '@dir@/ubuntu10.04/isolinux//'/''
'@dir@/ubuntu10.04/isolinux//'/'prompt.cfg'
}
}
}
diff --git a/tests/syslinux_test.in b/tests/syslinux_test.in
index fc4edd8..4ba94c5 100644
--- a/tests/syslinux_test.in
+++ b/tests/syslinux_test.in
@@ -2,15 +2,21 @@
set -e
+tdir="`mktemp -d "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
outfile="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
-"@builddir@/grub-syslinux2cfg" -r
"@abs_top_srcdir@/tests/syslinux/ubuntu10.04"
"@abs_top_srcdir@/tests/syslinux/ubuntu10.04/isolinux/isolinux.cfg" -o
"$outfile"
+cp -a "@top_srcdir@/tests/syslinux/ubuntu10.04" "$tdir/ubuntu10.04"
-echo "$outfile"
+"@builddir@/grub-syslinux2cfg" -r "$tdir/ubuntu10.04"
"$tdir/ubuntu10.04/isolinux/isolinux.cfg" -o "$tdir/observed.cfg"
-if ! diff -u "$outfile" "@builddir@/tests/syslinux/ubuntu10.04_grub.cfg"; then
+echo "$tdir/observed.cfg"
+
+sed -e "s,@dir@,$tdir,g" "@top_srcdir@/tests/syslinux/ubuntu10.04_grub.cfg.in"
>"$tdir/expected.cfg"
+if ! diff -u "$tdir/observed.cfg" "$tdir/expected.cfg"; then
echo "Mismatch in ubuntu10.04"
- exit 1;
+ rm -rf "$tdir"
+ exit 1
fi
+rm -rf "$tdir"
exit 0
--
2.7.4
- [PATCH] syslinux_test: Fix out-of-tree build handling,
Colin Watson <=