Re: [PATCH 1/5] selftests: Add futex functional tests
From: Shuah Khan <hidden>
Date: 2015-05-11 20:51:31
Also in:
lkml
On 05/11/2015 01:47 PM, Darren Hart wrote:
quoted hunk ↗ jump to hunk
On 5/11/15, 11:55 AM, "Shuah Khan" [off-list ref] wrote:quoted
On 05/11/2015 12:22 PM, Darren Hart wrote:quoted
On 5/11/15, 11:06 AM, "Shuah Khan" [off-list ref] wrote:quoted
On 05/08/2015 04:09 PM, Darren Hart wrote:quoted
The futextest testsuite [1] provides functional, stress, and performance tests for the various futex op codes. Those tests will be of more use to futex developers if they are included with the kernel source. Copy the core infrastructure and the functional tests into selftests, but adapt them for inclusion in the kernel: - Update the Makefile to include the run_tests target, remove reference to the performance and stress tests from the contributed sources. - Replace my dead IBM email address with my current Intel email address. - Remove the warrantee and write-to paragraphs from the license blurbs. - Remove the NAME section as the filename is easily determined. ;-) - Make the whitespace usage consistent in a couple of places. - Cleanup various CodingStyle violations. A future effort will explore moving the performance and stress tests into the kernel. 1. http://git.kernel.org/cgit/linux/kernel/git/dvhart/futextest.git Cc: Shuah Khan <redacted> Cc: linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: Ingo Molnar <redacted> Cc: Peter Zijlstra <redacted> Cc: Thomas Gleixner <redacted> Cc: Davidlohr Bueso <redacted> Cc: KOSAKI Motohiro <redacted> Signed-off-by: Darren Hart <dvhart-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> ---Daren, I am seeing fatal: cannot convert from y to UTF-8 when I try to apply the patch. Did you use git send-email?Hi Shuah, I've seen that from one of my contributors earlier this month as well. I dropped the Content... Header and it applied without problems. I created the patch using git format-patch and then sent them using git send-email - via a script I've been using for years now... Checking the files locally: $ file * 0000-cover-letter.patch: ASCII text 0001-selftests-Add-futex-functional-tests.patch: unified diff output, UTF-8 Unicode text 0002-selftest-futex-Update-Makefile-to-use-lib.mk.patch: unified diff output, ASCII text 0003-selftest-futex-Increment-ksft-pass-and-fail-counters.patch: unified diff output, ASCII text 0004-selftest-Add-futex-tests-to-the-top-level-Makefile.patch: unified diff output, ASCII text 0005-kselftest-Add-exit-code-defines.patch: unified diff output, ASCII text This shows that only the first in UTF-8 and the rest are ASCII. I presume this is due to the Copyright notices in the original files: Copyright © International Business Machines Corp., 2006-2008 Which use © instead of (C). I just checked and there are 545 instances of © in the kernel itself, so this should not present a problem. I apologize for the glitch in applying. If you use the pull request I included that will avoid the mail transport issues, and I will be sure to fix my scripts to avoid the issue in the future. If you want to use the patches directly, please have a look at 1 of 5 and just remove the "Content..." header, and I think you'll find "git am" will apply it without complaint.Hi Daren, Removing the Content header got me past the utf error. However, git am complains: git am --signoff ../4.2_patches/futex_tests/PATCH_1_5selftestsAddfutexfunctionaltests.mbox Applying: selftests: Add futex functional tests /mnt/data/lkml/linux-kselftest/.git/rebase-apply/patch:1457: new blank line at EOF. + warning: 1 line adds whitespace errors. Could you look into these. Rest of the patches applied fine.Hi Shuah, This was due to a newline at the end of: tools/testing/selftests/futex/functional/run.sh Which unfortunately checkpatch.pl doesn't catch. My fault for not applying the series from the generated patches first. Sorry for the hassle. I have corrected this in the first patch and pushed v3 of the series to: git://git.infradead.org/users/dvhart/linux.git futextest-v3 $ git diff infradead/futextest-v2 infradead/futextest-v3diff --git a/tools/testing/selftests/futex/functional/run.shb/tools/testing/selftests/futex/functional/run.sh index 46827a8..e87dbe2 100755--- a/tools/testing/selftests/futex/functional/run.sh +++ b/tools/testing/selftests/futex/functional/run.sh@@ -77,4 +77,3 @@ echo echo ./futex_wait_uninitialized_heap $COLOR ./futex_wait_private_mapped_file $COLOR -
No need for a new pull request. Have you seen these errors before: make[2]: Entering directory '/mnt/data/lkml/linux-kselftest/tools/testing/selftests/futex' for DIR in functional; do make -C $DIR all ; done make[3]: Entering directory '/mnt/data/lkml/linux-kselftest/tools/testing/selftests/futex/functional' gcc -g -O2 -Wall -D_GNU_SOURCE -I../include -I../../ -lpthread -lrt futex_requeue_pi.c ../include/futextest.h -o futex_requeue_pi /tmp/cc2UgUVs.o: In function `create_rt_thread': /mnt/data/lkml/linux-kselftest/tools/testing/selftests/futex/functional/futex_requeue_pi.c:102: undefined reference to `pthread_create' /tmp/cc2UgUVs.o: In function `unit_test': /mnt/data/lkml/linux-kselftest/tools/testing/selftests/futex/functional/futex_requeue_pi.c:342: undefined reference to `pthread_join' /mnt/data/lkml/linux-kselftest/tools/testing/selftests/futex/functional/futex_requeue_pi.c:347: undefined reference to `pthread_join' /mnt/data/lkml/linux-kselftest/tools/testing/selftests/futex/functional/futex_requeue_pi.c:346: undefined reference to `pthread_join' collect2: error: ld returned 1 exit status <builtin>: recipe for target 'futex_requeue_pi' failed make[3]: *** [futex_requeue_pi] Error 1 make[3]: Leaving directory '/mnt/data/lkml/linux-kselftest/tools/testing/selftests/futex/functional' Makefile:7: recipe for target 'all' failed I am running make kselftest target when I saw the above build failures. kselftest run doesn't fail which is good, however futex tests won't run with this failure. thanks, -- Shuah -- Shuah Khan Sr. Linux Kernel Developer Open Source Innovation Group Samsung Research America (Silicon Valley) shuahkh-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org | (970) 217-8978