[PATCH cygport 1/2] Add test which compares hints with expected
Jon Turney
jon.turney@dronecode.org.uk
Sat Feb 8 13:47:00 GMT 2020
Extend test-driver so it can compare hints with expected
Add a test of hints for a cygport which creates a single package
Add a test of hints for a cygport which creates multiple packages
---
testsuite/hints/meson.build | 1 +
.../libmultiple-devel-3.14-1.hint | 6 ++++
.../libmultiple1/libmultiple1-3.14-1.hint | 6 ++++
.../dist/multiple/multiple-3.14-1.hint | 6 ++++
testsuite/hints/multiple/multiple.cygport | 33 +++++++++++++++++++
testsuite/hints/multiple/multiple.list | 1 +
.../obsoleted-by-single-2.3.4-1.hint | 8 +++++
.../dist/single/single-2.3.4-1.hint | 6 ++++
testsuite/hints/single/single.cygport | 23 +++++++++++++
testsuite/hints/single/single.list | 1 +
testsuite/meson.build | 2 ++
testsuite/test-driver | 17 +++++++++-
12 files changed, 109 insertions(+), 1 deletion(-)
create mode 100644 testsuite/hints/meson.build
create mode 100644 testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple-devel/libmultiple-devel-3.14-1.hint
create mode 100644 testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple1/libmultiple1-3.14-1.hint
create mode 100644 testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/multiple-3.14-1.hint
create mode 100644 testsuite/hints/multiple/multiple.cygport
create mode 100644 testsuite/hints/multiple/multiple.list
create mode 100644 testsuite/hints/single/hints/single-2.3.4-1.x86_64/dist/single/obsoleted-by-single/obsoleted-by-single-2.3.4-1.hint
create mode 100644 testsuite/hints/single/hints/single-2.3.4-1.x86_64/dist/single/single-2.3.4-1.hint
create mode 100644 testsuite/hints/single/single.cygport
create mode 100644 testsuite/hints/single/single.list
diff --git a/testsuite/hints/meson.build b/testsuite/hints/meson.build
new file mode 100644
index 0000000..f905486
--- /dev/null
+++ b/testsuite/hints/meson.build
@@ -0,0 +1 @@
+tests += [['hints/single'], ['hints/multiple']]
diff --git a/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple-devel/libmultiple-devel-3.14-1.hint b/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple-devel/libmultiple-devel-3.14-1.hint
new file mode 100644
index 0000000..3bb7ad8
--- /dev/null
+++ b/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple-devel/libmultiple-devel-3.14-1.hint
@@ -0,0 +1,6 @@
+category: libmultiple1
+requires:
+sdesc: "Summary of hints for multiple package test"
+ldesc: "Description of hints for multiple package test"
+external-source: multiple
+
diff --git a/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple1/libmultiple1-3.14-1.hint b/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple1/libmultiple1-3.14-1.hint
new file mode 100644
index 0000000..989bfb1
--- /dev/null
+++ b/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple1/libmultiple1-3.14-1.hint
@@ -0,0 +1,6 @@
+category: Base
+requires: cygwin
+sdesc: "Summary of hints for multiple package test"
+ldesc: "Description of hints for multiple package test"
+external-source: multiple
+
diff --git a/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/multiple-3.14-1.hint b/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/multiple-3.14-1.hint
new file mode 100644
index 0000000..3820e4e
--- /dev/null
+++ b/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/multiple-3.14-1.hint
@@ -0,0 +1,6 @@
+category: Base
+requires:
+sdesc: "Summary of hints for multiple package test (source)"
+ldesc: "Description of hints for multiple package test (source)"
+skip:
+
diff --git a/testsuite/hints/multiple/multiple.cygport b/testsuite/hints/multiple/multiple.cygport
new file mode 100644
index 0000000..b269ff5
--- /dev/null
+++ b/testsuite/hints/multiple/multiple.cygport
@@ -0,0 +1,33 @@
+NAME="multiple"
+VERSION=3.14
+RELEASE=1
+SUMMARY="Summary of hints for multiple package test"
+DESCRIPTION="Description of hints for multiple package test"
+
+PKG_NAMES="libmultiple1 libmultiple-devel"
+
+multiple_SUMMARY="Summary of hints for multiple package test (source)"
+multiple_DESCRIPTION="Description of hints for multiple package test (source)"
+multiple_CATEGORY="Base"
+
+libmultiple1_CONTENTS=""
+libmultiple1_CATEGORY="Base"
+libmultiple1_REQUIRES="cygwin"
+
+libmultiple_devel_CONTENTS="usr/include"
+libmultiple_devel_CATEGORY="Devel"
+libmultiple_devel_CATEGORY="libmultiple1"
+
+src_compile() {
+ :
+}
+
+src_install() {
+ cd ${D}
+ mkdir -p usr/include
+ touch usr/include/.keep
+}
+
+src_test() {
+ :
+}
diff --git a/testsuite/hints/multiple/multiple.list b/testsuite/hints/multiple/multiple.list
new file mode 100644
index 0000000..3fa47fd
--- /dev/null
+++ b/testsuite/hints/multiple/multiple.list
@@ -0,0 +1 @@
+/usr/include/.keep
diff --git a/testsuite/hints/single/hints/single-2.3.4-1.x86_64/dist/single/obsoleted-by-single/obsoleted-by-single-2.3.4-1.hint b/testsuite/hints/single/hints/single-2.3.4-1.x86_64/dist/single/obsoleted-by-single/obsoleted-by-single-2.3.4-1.hint
new file mode 100644
index 0000000..bb7644a
--- /dev/null
+++ b/testsuite/hints/single/hints/single-2.3.4-1.x86_64/dist/single/obsoleted-by-single/obsoleted-by-single-2.3.4-1.hint
@@ -0,0 +1,8 @@
+category: _obsolete
+requires: single
+sdesc: "Obsoleted by single"
+ldesc: "The obsoleted-by-single package is obsolete. Selecting this package for
+installation will cause the single package, which replaces this
+one, to be installed instead."
+external-source: single
+
diff --git a/testsuite/hints/single/hints/single-2.3.4-1.x86_64/dist/single/single-2.3.4-1.hint b/testsuite/hints/single/hints/single-2.3.4-1.x86_64/dist/single/single-2.3.4-1.hint
new file mode 100644
index 0000000..aa534a0
--- /dev/null
+++ b/testsuite/hints/single/hints/single-2.3.4-1.x86_64/dist/single/single-2.3.4-1.hint
@@ -0,0 +1,6 @@
+category: Base
+requires: cygwin
+sdesc: "Summary of hints for single package test"
+ldesc: "Description of hints for single package test"
+obsoletes: obsoleted-by-single
+
diff --git a/testsuite/hints/single/single.cygport b/testsuite/hints/single/single.cygport
new file mode 100644
index 0000000..fca0706
--- /dev/null
+++ b/testsuite/hints/single/single.cygport
@@ -0,0 +1,23 @@
+NAME="single"
+VERSION=2.3.4
+RELEASE=1
+SUMMARY="Summary of hints for single package test"
+DESCRIPTION="Description of hints for single package test"
+
+CATEGORY="Base"
+REQUIRES="cygwin"
+OBSOLETES="obsoleted-by-single"
+
+src_compile() {
+ :
+}
+
+src_install() {
+ cd ${D}
+ mkdir usr
+ touch usr/.keep
+}
+
+src_test() {
+ :
+}
diff --git a/testsuite/hints/single/single.list b/testsuite/hints/single/single.list
new file mode 100644
index 0000000..1b1ac0b
--- /dev/null
+++ b/testsuite/hints/single/single.list
@@ -0,0 +1 @@
+/usr/.keep
diff --git a/testsuite/meson.build b/testsuite/meson.build
index ae2d435..cd43e41 100644
--- a/testsuite/meson.build
+++ b/testsuite/meson.build
@@ -15,6 +15,8 @@ python2 = find_program('python2', required: false)
tests = []
subdir('download')
+subdir('hints')
+
subdir('aspell')
subdir('autotools')
subdir('cmake')
diff --git a/testsuite/test-driver b/testsuite/test-driver
index 00cfbda..30893c4 100755
--- a/testsuite/test-driver
+++ b/testsuite/test-driver
@@ -1,6 +1,7 @@
#!/bin/bash
set -e
+shopt -s extglob
test=$1
@@ -12,8 +13,22 @@ esac
test -d ${top_builddir}/testsuite/$test || mkdir -p ${top_builddir}/testsuite/$test
cd ${top_builddir}/testsuite/$test
-cp -f ${top_srcdir}/testsuite/$test/* .
+cp -f ${top_srcdir}/testsuite/$test/!(hints) .
DISTDIR=${DISTDIR} ${top_builddir}/bin/cygport-inplace *.cygport clean get all
+# compare hints
+for hint in $(find -name \*.hint)
+do
+ if [ -a ${top_srcdir}/testsuite/$test/hints/$hint ];
+ then
+ diff -u ${top_srcdir}/testsuite/$test/hints/$hint $hint
+# uncomment to create the expected hint file for use in future testing
+# else
+# mkdir -p $(dirname ${top_srcdir}/testsuite/$test/hints/$hint)
+# cp $hint ${top_srcdir}/testsuite/$test/hints/$hint
+ fi
+done
+
+# compare filelist
cmp ${top_srcdir}/testsuite/$test/*.list <(${top_builddir}/bin/cygport-inplace *.cygport list)
--
2.21.0
More information about the Cygwin-apps
mailing list