lkml.org 
[lkml]   [2014]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH 1/1] rcutorture: use bash shell for all the test scripts
On Fri, Jul 11, 2014 at 7:23 PM,  <josh@joshtriplett.org> wrote:
> On Fri, Jul 11, 2014 at 05:31:27PM -0400, Pranith Kumar wrote:
>> Some of the scripts encode a default /bin/sh shell. On systems which use dash as
>> default shell, these scripts fail as they are bash scripts. I encountered this
>> while testing the sprintf() changes on a Debian system where dash is the default
>> shell.
>>
>> This commit changes all such uses to use bash explicitly.
>
> Good catch.
>
> Since these all have #! lines, can you please set the executable bit on
> any that don't have it set (looks like just config2frag.sh and kvm.sh),
> and then change the Usage lines to drop the shell entirely and just
> invoke the program directly?

OK. I will send that as a separate patch.

>
>> Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
>
> With the above changed (perhaps in a separate patch):
> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
>
>> tools/testing/selftests/rcutorture/bin/config2frag.sh | 4 ++--
>> tools/testing/selftests/rcutorture/bin/configcheck.sh | 4 ++--
>> tools/testing/selftests/rcutorture/bin/configinit.sh | 4 ++--
>> tools/testing/selftests/rcutorture/bin/kvm-build.sh | 2 +-
>> tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh | 2 +-
>> tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh | 2 +-
>> tools/testing/selftests/rcutorture/bin/kvm-recheck.sh | 2 +-
>> tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh | 2 +-
>> tools/testing/selftests/rcutorture/bin/kvm.sh | 2 +-
>> tools/testing/selftests/rcutorture/bin/parse-build.sh | 4 ++--
>> tools/testing/selftests/rcutorture/bin/parse-console.sh | 4 ++--
>> tools/testing/selftests/rcutorture/bin/parse-torture.sh | 4 ++--
>> 12 files changed, 18 insertions(+), 18 deletions(-)
>>
>> diff --git a/tools/testing/selftests/rcutorture/bin/config2frag.sh b/tools/testing/selftests/rcutorture/bin/config2frag.sh
>> index 9f9ffcd..4e394ef 100644
>> --- a/tools/testing/selftests/rcutorture/bin/config2frag.sh
>> +++ b/tools/testing/selftests/rcutorture/bin/config2frag.sh
>> @@ -1,5 +1,5 @@
>> -#!/bin/sh
>> -# Usage: sh config2frag.sh < .config > configfrag
>> +#!/bin/bash
>> +# Usage: bash config2frag.sh < .config > configfrag
>> #
>> # Converts the "# CONFIG_XXX is not set" to "CONFIG_XXX=n" so that the
>> # resulting file becomes a legitimate Kconfig fragment.
>> diff --git a/tools/testing/selftests/rcutorture/bin/configcheck.sh b/tools/testing/selftests/rcutorture/bin/configcheck.sh
>> index d686537..6173ed5 100755
>> --- a/tools/testing/selftests/rcutorture/bin/configcheck.sh
>> +++ b/tools/testing/selftests/rcutorture/bin/configcheck.sh
>> @@ -1,5 +1,5 @@
>> -#!/bin/sh
>> -# Usage: sh configcheck.sh .config .config-template
>> +#!/bin/bash
>> +# Usage: bash configcheck.sh .config .config-template
>> #
>> # This program is free software; you can redistribute it and/or modify
>> # it under the terms of the GNU General Public License as published by
>> diff --git a/tools/testing/selftests/rcutorture/bin/configinit.sh b/tools/testing/selftests/rcutorture/bin/configinit.sh
>> index 9c3f3d3..d8f7418 100755
>> --- a/tools/testing/selftests/rcutorture/bin/configinit.sh
>> +++ b/tools/testing/selftests/rcutorture/bin/configinit.sh
>> @@ -1,6 +1,6 @@
>> -#!/bin/sh
>> +#!/bin/bash
>> #
>> -# sh configinit.sh config-spec-file [ build output dir ]
>> +# bash configinit.sh config-spec-file [ build output dir ]
>> #
>> # Create a .config file from the spec file. Run from the kernel source tree.
>> # Exits with 0 if all went well, with 1 if all went well but the config
>> diff --git a/tools/testing/selftests/rcutorture/bin/kvm-build.sh b/tools/testing/selftests/rcutorture/bin/kvm-build.sh
>> index 7c1e56b..e4bfb91 100755
>> --- a/tools/testing/selftests/rcutorture/bin/kvm-build.sh
>> +++ b/tools/testing/selftests/rcutorture/bin/kvm-build.sh
>> @@ -2,7 +2,7 @@
>> #
>> # Build a kvm-ready Linux kernel from the tree in the current directory.
>> #
>> -# Usage: sh kvm-build.sh config-template build-dir more-configs
>> +# Usage: bash kvm-build.sh config-template build-dir more-configs
>> #
>> # This program is free software; you can redistribute it and/or modify
>> # it under the terms of the GNU General Public License as published by
>> diff --git a/tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh b/tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh
>> index 7f1ff1a..30cbb63 100755
>> --- a/tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh
>> +++ b/tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh
>> @@ -2,7 +2,7 @@
>> #
>> # Analyze a given results directory for locktorture progress.
>> #
>> -# Usage: sh kvm-recheck-lock.sh resdir
>> +# Usage: bash kvm-recheck-lock.sh resdir
>> #
>> # This program is free software; you can redistribute it and/or modify
>> # it under the terms of the GNU General Public License as published by
>> diff --git a/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh b/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh
>> index 307c4b9..6e94a5e 100755
>> --- a/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh
>> +++ b/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh
>> @@ -2,7 +2,7 @@
>> #
>> # Analyze a given results directory for rcutorture progress.
>> #
>> -# Usage: sh kvm-recheck-rcu.sh resdir
>> +# Usage: bash kvm-recheck-rcu.sh resdir
>> #
>> # This program is free software; you can redistribute it and/or modify
>> # it under the terms of the GNU General Public License as published by
>> diff --git a/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh b/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh
>> index 3f6c9b7..3482b3f 100755
>> --- a/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh
>> +++ b/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh
>> @@ -4,7 +4,7 @@
>> # check the build and console output for errors. Given a directory
>> # containing results directories, this recursively checks them all.
>> #
>> -# Usage: sh kvm-recheck.sh resdir ...
>> +# Usage: bash kvm-recheck.sh resdir ...
>> #
>> # This program is free software; you can redistribute it and/or modify
>> # it under the terms of the GNU General Public License as published by
>> diff --git a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
>> index 0f69dcb..5c265da 100755
>> --- a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
>> +++ b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
>> @@ -6,7 +6,7 @@
>> # Execute this in the source tree. Do not run it as a background task
>> # because qemu does not seem to like that much.
>> #
>> -# Usage: sh kvm-test-1-run.sh config builddir resdir minutes qemu-args boot_args
>> +# Usage: bash kvm-test-1-run.sh config builddir resdir minutes qemu-args boot_args
>> #
>> # qemu-args defaults to "-nographic", along with arguments specifying the
>> # number of CPUs and other options generated from
>> diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh b/tools/testing/selftests/rcutorture/bin/kvm.sh
>> index 589e9c3..ff147ad 100644
>> --- a/tools/testing/selftests/rcutorture/bin/kvm.sh
>> +++ b/tools/testing/selftests/rcutorture/bin/kvm.sh
>> @@ -7,7 +7,7 @@
>> # Edit the definitions below to set the locations of the various directories,
>> # as well as the test duration.
>> #
>> -# Usage: sh kvm.sh [ options ]
>> +# Usage: bash kvm.sh [ options ]
>> #
>> # This program is free software; you can redistribute it and/or modify
>> # it under the terms of the GNU General Public License as published by
>> diff --git a/tools/testing/selftests/rcutorture/bin/parse-build.sh b/tools/testing/selftests/rcutorture/bin/parse-build.sh
>> index 5432309..41eeeef 100755
>> --- a/tools/testing/selftests/rcutorture/bin/parse-build.sh
>> +++ b/tools/testing/selftests/rcutorture/bin/parse-build.sh
>> @@ -1,4 +1,4 @@
>> -#!/bin/sh
>> +#!/bin/bash
>> #
>> # Check the build output from an rcutorture run for goodness.
>> # The "file" is a pathname on the local system, and "title" is
>> @@ -7,7 +7,7 @@
>> # The file must contain kernel build output.
>> #
>> # Usage:
>> -# sh parse-build.sh file title
>> +# bash parse-build.sh file title
>> #
>> # This program is free software; you can redistribute it and/or modify
>> # it under the terms of the GNU General Public License as published by
>> diff --git a/tools/testing/selftests/rcutorture/bin/parse-console.sh b/tools/testing/selftests/rcutorture/bin/parse-console.sh
>> index 4185d4c..2517eae 100755
>> --- a/tools/testing/selftests/rcutorture/bin/parse-console.sh
>> +++ b/tools/testing/selftests/rcutorture/bin/parse-console.sh
>> @@ -1,11 +1,11 @@
>> -#!/bin/sh
>> +#!/bin/bash
>> #
>> # Check the console output from an rcutorture run for oopses.
>> # The "file" is a pathname on the local system, and "title" is
>> # a text string for error-message purposes.
>> #
>> # Usage:
>> -# sh parse-console.sh file title
>> +# bash parse-console.sh file title
>> #
>> # This program is free software; you can redistribute it and/or modify
>> # it under the terms of the GNU General Public License as published by
>> diff --git a/tools/testing/selftests/rcutorture/bin/parse-torture.sh b/tools/testing/selftests/rcutorture/bin/parse-torture.sh
>> index 3455560..bbec40b 100755
>> --- a/tools/testing/selftests/rcutorture/bin/parse-torture.sh
>> +++ b/tools/testing/selftests/rcutorture/bin/parse-torture.sh
>> @@ -1,4 +1,4 @@
>> -#!/bin/sh
>> +#!/bin/bash
>> #
>> # Check the console output from a torture run for goodness.
>> # The "file" is a pathname on the local system, and "title" is
>> @@ -8,7 +8,7 @@
>> # with other dmesg text, as in console-log output.
>> #
>> # Usage:
>> -# sh parse-torture.sh file title
>> +# bash parse-torture.sh file title
>> #
>> # This program is free software; you can redistribute it and/or modify
>> # it under the terms of the GNU General Public License as published by
>> --
>> 1.9.1
>>



--
Pranith


\
 
 \ /
  Last update: 2014-07-12 02:01    [W:0.048 / U:0.460 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site