Re: [LTP] [PATCH] testcases/kernel/firmware: fix a bug of make install

Peng Haitao
2013-07-16T09:34:19Z

On 07/16/2013 05:19 PM, Jan Stancek wrote:
>
> how about this?
>

It is very simple:)

> diff --git a/testcases/kernel/firmware/Makefile b/testcases/kernel/firmware/Makefile
> index fbacf8d..dd2c62d 100644
> --- a/testcases/kernel/firmware/Makefile
> +++ b/testcases/kernel/firmware/Makefile
> @@ -38,7 +38,7 @@ endif
>
> ifeq ($(SKIP),0)
> SUBDIRS += fw_load_kernel
> -SUBDIRS += fw_load_user
> endif
> +SUBDIRS += fw_load_user
>
> We always build userspace part. The check for kernel version is
> already in setup(). We just need to make sure userspace bits compile everywhere.
> I tried 2.6.32 based kernel, it builds and runs:
> # ./fw_load_user/fw_load
> fw_load 1 TCONF : Test must be run with kernel 3.7 or newer
> fw_load 2 TCONF : Remaining cases not appropriate for configuration
>

Tested in RHEL5, the result is OK.
<<<test_output>>>
incrementing stop
fw_load 1 TCONF : Test must be run with kernel 3.7 or newer
fw_load 2 TCONF : Remaining cases not appropriate for configuration
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=0
<<<test_end>>>

Thanks.

--
Best Regards,
Peng

> Regards,
> Jan
>
>>
>> diff --git a/include/mk/config.mk.default b/include/mk/config.mk.default
>> index 953747c..ca203cb 100644
>> --- a/include/mk/config.mk.default
>> +++ b/include/mk/config.mk.default
>> @@ -78,5 +78,6 @@ LINUX_DIR :=
>> LINUX_VERSION_MAJOR :=
>> LINUX_VERSION_PATCH :=
>> WITH_MODULES := no
>> +LINUX_VERSION_AFTER := no
>>
>> export datarootdir includedir libdir mandir prefix
>> diff --git a/include/mk/config.mk.in b/include/mk/config.mk.in
>> index 96633f1..24052ff 100644
>> --- a/include/mk/config.mk.in
>> +++ b/include/mk/config.mk.in
>> @@ -80,6 +80,7 @@ LINUX_DIR := @LINUX_DIR@
>> LINUX_VERSION_MAJOR := @LINUX_VERSION_MAJOR@
>> LINUX_VERSION_PATCH := @LINUX_VERSION_PATCH@
>> WITH_MODULES := @WITH_MODULES@
>> +LINUX_VERSION_AFTER := @LINUX_VERSION_AFTER@
>>
>> ifeq ($(strip $(prefix)),)
>> $(error you are using $$(prefix) incorrectly -- set it to $(abs_top_srcdir)
>> if you want to build in the source tree)
>> diff --git a/m4/ltp-kernel_devel.m4 b/m4/ltp-kernel_devel.m4
>> index ba53bc1..febe603 100644
>> --- a/m4/ltp-kernel_devel.m4
>> +++ b/m4/ltp-kernel_devel.m4
>> @@ -25,6 +25,8 @@ dnl requires kernel-devel installed
>> dnl
>>
>> AC_DEFUN([LTP_CHECK_KERNEL_DEVEL],[dnl
>> +AH_TEMPLATE(LINUX_VERSION_AFTER,
>> +[Define to yes if kernel version is after 3.7.])
>>
>> AC_MSG_CHECKING([for kernel-devel])
>> AC_ARG_WITH(
>> @@ -73,4 +75,17 @@ AC_ARG_WITH(
>> [])
>>
>> AC_SUBST(WITH_MODULES)
>> +
>> +REQ_VERSION_MAJOR=3
>> +REQ_VERSION_PATCH=7
>> +if test "x$WITH_MODULES" = "xyes"; then
>> + if test ${LINUX_VERSION_MAJOR} -ge ${REQ_VERSION_MAJOR}; then
>> + if test ${LINUX_VERSION_PATCH} -ge ${REQ_VERSION_PATCH}; then
>> + LINUX_VERSION_AFTER="yes"
>> + AC_DEFINE(LINUX_VERSION_AFTER)
>> + fi
>> + fi
>> +fi
>> +
>> +AC_SUBST(LINUX_VERSION_AFTER)
>> ])
>> diff --git a/testcases/kernel/firmware/Makefile
>> b/testcases/kernel/firmware/Makefile
>> index fbacf8d..03069b8 100644
>> --- a/testcases/kernel/firmware/Makefile
>> +++ b/testcases/kernel/firmware/Makefile
>> @@ -18,27 +18,4 @@ top_srcdir ?= ../../..
>>
>> include $(top_srcdir)/include/mk/env_pre.mk
>>
>> -SUBDIRS =
>> -REQ_VERSION_MAJOR = 3
>> -REQ_VERSION_PATCH = 7
>> -
>> -ifeq ($(MAKECMDGOALS),clean)
>> -SKIP = 0
>> -endif
>> -
>> -ifeq ($(WITH_MODULES),yes)
>> -SKIP ?= $(shell test $(LINUX_VERSION_MAJOR) -gt $(REQ_VERSION_MAJOR); echo
>> $$?)
>> -ifeq ($(SKIP),1)
>> -SKIP = $(shell test $(LINUX_VERSION_MAJOR) -eq $(REQ_VERSION_MAJOR); echo
>> $$?)
>> -ifeq ($(SKIP),0)
>> -SKIP = $(shell test $(LINUX_VERSION_PATCH) -ge $(REQ_VERSION_PATCH); echo
>> $$?)
>> -endif
>> -endif
>> -endif
>> -
>> -ifeq ($(SKIP),0)
>> -SUBDIRS += fw_load_kernel
>> -SUBDIRS += fw_load_user
>> -endif
>> -
>> include $(top_srcdir)/include/mk/generic_trunk_target.mk
>> diff --git a/testcases/kernel/firmware/fw_load_kernel/Makefile
>> b/testcases/kernel/firmware/fw_load_kernel/Makefile
>> index 076d4ed..564501b 100644
>> --- a/testcases/kernel/firmware/fw_load_kernel/Makefile
>> +++ b/testcases/kernel/firmware/fw_load_kernel/Makefile
>> @@ -25,7 +25,11 @@ else
>> top_srcdir ?= ../../../..
>> include $(top_srcdir)/include/mk/env_pre.mk
>>
>> -MAKE_TARGETS := ltp_fw_load.ko
>> +ifeq ($(LINUX_VERSION_AFTER),yes)
>> + MAKE_TARGETS := ltp_fw_load.ko
>> +else
>> + MAKE_TARGETS :=
>> +endif
>>
>> # Ignoring the exit status of commands is done to be forward compatible with
>> # kernel internal API changes. The user-space test will return TCONF, if it
>> diff --git a/testcases/kernel/firmware/fw_load_user/fw_load.c
>> b/testcases/kernel/firmware/fw_load_user/fw_load.c
>> index 880531e..69b6d81 100644
>> --- a/testcases/kernel/firmware/fw_load_user/fw_load.c
>> +++ b/testcases/kernel/firmware/fw_load_user/fw_load.c
>> @@ -28,6 +28,7 @@
>> #include <unistd.h>
>> #include <string.h>
>>
>> +#include "config.h"
>> #include "test.h"
>> #include "usctest.h"
>> #include "safe_macros.h"
>> @@ -84,11 +85,16 @@ static void create_firmware(char *const fw_paths[]);
>>
>> int main(int argc, char *argv[])
>> {
>> +#ifdef LINUX_VERSION_AFTER
>> setup(argc, argv);
>>
>> test_run();
>>
>> cleanup();
>> +#else
>> + tst_resm(TCONF, "This device firmware loading is not supported");
>> + tst_resm(TCONF, "before kernel 3.7");
>> +#endif
>>
>> tst_exit();
>> }
>> --
>> 1.8.3.1
>>
>>
>> ------------------------------------------------------------------------------
>> See everything from the browser to the database with AppDynamics
>> Get end-to-end visibility with application monitoring from AppDynamics
>> Isolate bottlenecks and diagnose root cause in seconds.
>> Start your free trial of AppDynamics Pro today!
>> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Ltp-list mailing list
>> Ltp-list@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/ltp-list
>>