diff mbox series

[v2,3/3] configure: Integrate open posix testsuite configure

Message ID 20220727053307.3009235-4-lkml@jv-coder.de
State Accepted
Headers show
Series openposix: Fix installation file layout | expand

Commit Message

Joerg Vehlow July 27, 2022, 5:33 a.m. UTC
From: Joerg Vehlow <joerg.vehlow@aox.de>

This changes the default installation location
of the open posix testsuite from
$prefix
to
$prefix/testcases/open_posix_testsuite

Scripts for execution of the testsuite (run-all-posix-option-group-tests.sh,
run-posix-option-group-test.sh) will still be installed under $prefix/bin.

To revert back to the old installation behavior, just use
./configure -with-open-posix-testdir=.

Signed-off-by: Joerg Vehlow <joerg.vehlow@aox.de>
---
 configure.ac           | 11 +++++++++++
 include/mk/automake.mk |  7 ++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

Comments

Petr Vorel July 29, 2022, 5:23 p.m. UTC | #1
Hi Joerg,

[ Cc automated-testing@lists.yoctoproject.org ]

> From: Joerg Vehlow <joerg.vehlow@aox.de>

> This changes the default installation location
> of the open posix testsuite from
> $prefix
> to
> $prefix/testcases/open_posix_testsuite
I need to have a deeper look on this patchset next week.
But it looks to me strange, that running LTP top level configure causes
installation into /opt/ltp/testcases/open_posix_testsuite/, but after running
./configure in testcases/open_posix_testsuite make install goes by default to
/opt/openposix_testsuite.

Also openposix does not use LTP API, when we're touching it, wouldn't it make
more sense to put it into separate git repository? IMHO that would cause work
for other people (clone separate git, need to fix CI and tools which are using
it), but openposix embedded in LTP always looked strange to me.

Kind regards,
Petr

> Scripts for execution of the testsuite (run-all-posix-option-group-tests.sh,
> run-posix-option-group-test.sh) will still be installed under $prefix/bin.

> To revert back to the old installation behavior, just use
> ./configure -with-open-posix-testdir=.

> Signed-off-by: Joerg Vehlow <joerg.vehlow@aox.de>
> ---
>  configure.ac           | 11 +++++++++++
>  include/mk/automake.mk |  7 ++++++-
>  2 files changed, 17 insertions(+), 1 deletion(-)

> diff --git a/configure.ac b/configure.ac
> index 69b145b5f..4256b3113 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -334,8 +334,19 @@ AC_ARG_WITH([open-posix-testsuite],
>    [with_open_posix_testsuite=$withval],
>    [with_open_posix_testsuite=no]
>  )
> +
> +# Allow setting the directoy, where the open posix testsuite is installed to.
> +# If nothing is defined, we have to pass our default value to submake
> +AC_ARG_WITH([open-posix-testdir],
> +  [AS_HELP_STRING([--with-open-posix-testdir=<dir>],
> +    [set the directory, where the open posix testsuite will be installed under prefix])],
> +  [],
> +  [ac_configure_args="$ac_configure_args --with-open-posix-testdir=testcases/open_posix_testsuite"]
> +)
> +
>  if test "x$with_open_posix_testsuite" = xyes; then
>      AC_SUBST([WITH_OPEN_POSIX_TESTSUITE],["yes"])
> +    AC_CONFIG_SUBDIRS([testcases/open_posix_testsuite])
>  else
>      AC_SUBST([WITH_OPEN_POSIX_TESTSUITE],["no"])
>  fi
> diff --git a/include/mk/automake.mk b/include/mk/automake.mk
> index 219d015d0..ee3b7f1b8 100644
> --- a/include/mk/automake.mk
> +++ b/include/mk/automake.mk
> @@ -27,7 +27,8 @@ AUTOHEADER	?= autoheader
>  AUTOMAKE	?= automake

>  AUTOCONFED_SUBDIRS	= \
> -			testcases/realtime
> +			testcases/realtime \
> +			testcases/open_posix_testsuite

>  # We want to run this every single time to ensure that all of the prereq files
>  # are there.
> @@ -35,6 +36,10 @@ AUTOCONFED_SUBDIRS	= \
>  testcases/realtime/configure:
>  	$(MAKE) -C $(@D) autotools

> +.PHONY: testcases/open_posix_testsuite/configure
> +testcases/open_posix_testsuite/configure:
> +	$(MAKE) -C $(@D) autotools
> +
>  .PHONY: autotools
>  autotools: aclocal autoconf autoheader automake $(addsuffix /configure,$(AUTOCONFED_SUBDIRS))
Richard Palethorpe Aug. 1, 2022, 7:16 a.m. UTC | #2
Hello,

Petr Vorel <pvorel@suse.cz> writes:

> Hi Joerg,
>
> [ Cc automated-testing@lists.yoctoproject.org ]
>
>> From: Joerg Vehlow <joerg.vehlow@aox.de>
>
>> This changes the default installation location
>> of the open posix testsuite from
>> $prefix
>> to
>> $prefix/testcases/open_posix_testsuite
> I need to have a deeper look on this patchset next week.
> But it looks to me strange, that running LTP top level configure causes
> installation into /opt/ltp/testcases/open_posix_testsuite/, but after running
> ./configure in testcases/open_posix_testsuite make install goes by default to
> /opt/openposix_testsuite.
>
> Also openposix does not use LTP API, when we're touching it, wouldn't it make
> more sense to put it into separate git repository? IMHO that would cause work
> for other people (clone separate git, need to fix CI and tools which are using
> it), but openposix embedded in LTP always looked strange to me.

I wouldn't be against this based on my anecdotal experience.

I don't recall a specific time these tests found a kernel bug. They
sometimes find issues with glibc, but there is usually a debate as to
how to interpret the spec instead of a clear error on glibc's part. Most
often the test is broken.

So I'd say these tests are almost useless for kernel testing. I also
think they often misinterpret the POSIX spec or have some basic logic
error.
Joerg Vehlow Aug. 3, 2022, 4:45 a.m. UTC | #3
Hi Petr,

Am 7/29/2022 um 7:23 PM schrieb Petr Vorel:
> Hi Joerg,
> 
> [ Cc automated-testing@lists.yoctoproject.org ]
> 
>> From: Joerg Vehlow <joerg.vehlow@aox.de>
> 
>> This changes the default installation location
>> of the open posix testsuite from
>> $prefix
>> to
>> $prefix/testcases/open_posix_testsuite
> I need to have a deeper look on this patchset next week.
> But it looks to me strange, that running LTP top level configure causes
> installation into /opt/ltp/testcases/open_posix_testsuite/, but after running
> ./configure in testcases/open_posix_testsuite make install goes by default to
> /opt/openposix_testsuite.
That is just keeping the old behavior and makes total sense imho. If it
is installed standalone, it makes sense to not install it into ltp's prefix.
If you install the realtime testsuite standalone, it will be installed
under default prefix (/usr or /usr/local), so also different prefix
depending on if it is installed as part of ltp or standalone.

> Also openposix does not use LTP API, when we're touching it, wouldn't it make
> more sense to put it into separate git repository? IMHO that would cause work
> for other people (clone separate git, need to fix CI and tools which are using
> it), but openposix embedded in LTP always looked strange to me.
That is something else to discuss and I don't have a strong opinion
about it.
> 
> Kind regards,
> Petr
> 

Joerg
Petr Vorel Aug. 29, 2022, 4:42 p.m. UTC | #4
Hi Joerg, all,

Reviewed-by: Petr Vorel <pvorel@suse.cz>

[ Cc: automated-testing@lists.yoctoproject.org ]
Please have look at open posix testsuite patchset:
https://patchwork.ozlabs.org/project/ltp/list/?series=311446&state=*
https://lore.kernel.org/ltp/20220727053307.3009235-1-lkml@jv-coder.de/

First commit has been merged and I plan to merge the other two sometimes this
week.

Kind regards,
Petr

> From: Joerg Vehlow <joerg.vehlow@aox.de>

> This changes the default installation location
> of the open posix testsuite from
> $prefix
> to
> $prefix/testcases/open_posix_testsuite

> Scripts for execution of the testsuite (run-all-posix-option-group-tests.sh,
> run-posix-option-group-test.sh) will still be installed under $prefix/bin.

> To revert back to the old installation behavior, just use
> ./configure -with-open-posix-testdir=.

> Signed-off-by: Joerg Vehlow <joerg.vehlow@aox.de>
> ---
>  configure.ac           | 11 +++++++++++
>  include/mk/automake.mk |  7 ++++++-
>  2 files changed, 17 insertions(+), 1 deletion(-)

> diff --git a/configure.ac b/configure.ac
> index 69b145b5f..4256b3113 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -334,8 +334,19 @@ AC_ARG_WITH([open-posix-testsuite],
>    [with_open_posix_testsuite=$withval],
>    [with_open_posix_testsuite=no]
>  )
> +
> +# Allow setting the directoy, where the open posix testsuite is installed to.
> +# If nothing is defined, we have to pass our default value to submake
> +AC_ARG_WITH([open-posix-testdir],
> +  [AS_HELP_STRING([--with-open-posix-testdir=<dir>],
> +    [set the directory, where the open posix testsuite will be installed under prefix])],
> +  [],
> +  [ac_configure_args="$ac_configure_args --with-open-posix-testdir=testcases/open_posix_testsuite"]
> +)
> +
>  if test "x$with_open_posix_testsuite" = xyes; then
>      AC_SUBST([WITH_OPEN_POSIX_TESTSUITE],["yes"])
> +    AC_CONFIG_SUBDIRS([testcases/open_posix_testsuite])
>  else
>      AC_SUBST([WITH_OPEN_POSIX_TESTSUITE],["no"])
>  fi
> diff --git a/include/mk/automake.mk b/include/mk/automake.mk
> index 219d015d0..ee3b7f1b8 100644
> --- a/include/mk/automake.mk
> +++ b/include/mk/automake.mk
> @@ -27,7 +27,8 @@ AUTOHEADER	?= autoheader
>  AUTOMAKE	?= automake

>  AUTOCONFED_SUBDIRS	= \
> -			testcases/realtime
> +			testcases/realtime \
> +			testcases/open_posix_testsuite

>  # We want to run this every single time to ensure that all of the prereq files
>  # are there.
> @@ -35,6 +36,10 @@ AUTOCONFED_SUBDIRS	= \
>  testcases/realtime/configure:
>  	$(MAKE) -C $(@D) autotools

> +.PHONY: testcases/open_posix_testsuite/configure
> +testcases/open_posix_testsuite/configure:
> +	$(MAKE) -C $(@D) autotools
> +
>  .PHONY: autotools
>  autotools: aclocal autoconf autoheader automake $(addsuffix /configure,$(AUTOCONFED_SUBDIRS))
Li Wang Aug. 30, 2022, 9:59 a.m. UTC | #5
Hi All,

On Mon, Aug 1, 2022 at 3:41 PM Richard Palethorpe <rpalethorpe@suse.de>
wrote:

> Hello,
>
> Petr Vorel <pvorel@suse.cz> writes:
>
> > Hi Joerg,
> >
> > [ Cc automated-testing@lists.yoctoproject.org ]
> >
> >> From: Joerg Vehlow <joerg.vehlow@aox.de>
> >
> >> This changes the default installation location
> >> of the open posix testsuite from
> >> $prefix
> >> to
> >> $prefix/testcases/open_posix_testsuite
> > I need to have a deeper look on this patchset next week.
> > But it looks to me strange, that running LTP top level configure causes
> > installation into /opt/ltp/testcases/open_posix_testsuite/, but after
> running
> > ./configure in testcases/open_posix_testsuite make install goes by
> default to
> > /opt/openposix_testsuite.
> >
> > Also openposix does not use LTP API, when we're touching it, wouldn't it
> make
> > more sense to put it into separate git repository? IMHO that would cause
> work
> > for other people (clone separate git, need to fix CI and tools which are
> using
> > it), but openposix embedded in LTP always looked strange to me.
>
> I wouldn't be against this based on my anecdotal experience.
>
> I don't recall a specific time these tests found a kernel bug. They
> sometimes find issues with glibc, but there is usually a debate as to
> how to interpret the spec instead of a clear error on glibc's part. Most
> often the test is broken.
>
> So I'd say these tests are almost useless for kernel testing. I also
> think they often misinterpret the POSIX spec or have some basic logic
> error.
>

I think so! And I don't against this patchset as well.

@Petr Vorel <pvorel@suse.cz>  feel free to merge the patches, it might
usefully to
someone who has a strong willingness on running them.

Reviewed-by: Li Wang <liwang@redhat.com>
Richard Palethorpe Aug. 30, 2022, 11:01 a.m. UTC | #6
Hello,

Acked-by: Richard Palethorpe <rpalethorpe@suse.com>
Petr Vorel Aug. 30, 2022, 11:37 a.m. UTC | #7
Hi all,

FYI the rest of the patchet merged.

Joerg, thanks for your work and patience with us.

Kind regards,
Petr
diff mbox series

Patch

diff --git a/configure.ac b/configure.ac
index 69b145b5f..4256b3113 100644
--- a/configure.ac
+++ b/configure.ac
@@ -334,8 +334,19 @@  AC_ARG_WITH([open-posix-testsuite],
   [with_open_posix_testsuite=$withval],
   [with_open_posix_testsuite=no]
 )
+
+# Allow setting the directoy, where the open posix testsuite is installed to.
+# If nothing is defined, we have to pass our default value to submake
+AC_ARG_WITH([open-posix-testdir],
+  [AS_HELP_STRING([--with-open-posix-testdir=<dir>],
+    [set the directory, where the open posix testsuite will be installed under prefix])],
+  [],
+  [ac_configure_args="$ac_configure_args --with-open-posix-testdir=testcases/open_posix_testsuite"]
+)
+
 if test "x$with_open_posix_testsuite" = xyes; then
     AC_SUBST([WITH_OPEN_POSIX_TESTSUITE],["yes"])
+    AC_CONFIG_SUBDIRS([testcases/open_posix_testsuite])
 else
     AC_SUBST([WITH_OPEN_POSIX_TESTSUITE],["no"])
 fi
diff --git a/include/mk/automake.mk b/include/mk/automake.mk
index 219d015d0..ee3b7f1b8 100644
--- a/include/mk/automake.mk
+++ b/include/mk/automake.mk
@@ -27,7 +27,8 @@  AUTOHEADER	?= autoheader
 AUTOMAKE	?= automake
 
 AUTOCONFED_SUBDIRS	= \
-			testcases/realtime
+			testcases/realtime \
+			testcases/open_posix_testsuite
 
 # We want to run this every single time to ensure that all of the prereq files
 # are there.
@@ -35,6 +36,10 @@  AUTOCONFED_SUBDIRS	= \
 testcases/realtime/configure:
 	$(MAKE) -C $(@D) autotools
 
+.PHONY: testcases/open_posix_testsuite/configure
+testcases/open_posix_testsuite/configure:
+	$(MAKE) -C $(@D) autotools
+
 .PHONY: autotools
 autotools: aclocal autoconf autoheader automake $(addsuffix /configure,$(AUTOCONFED_SUBDIRS))