[ltt-dev] [UST PATCH] Fix bug in test_functions.sh

Nils Carlson nils at as68123.uab.ericsson.se
Wed Sep 22 02:58:47 EDT 2010


Getting weirder and weirder...

This test fails on two of my machines:

#!/bin/bash

function optind_test() {

      while getopts "a:b:c:" flag; do
         case $flag in
             a) echo $OPTARG;;
             b) echo $OPTARG;;
             c) echo $OPTARG;;
         esac
      done
}

optind_test -a hi  -b thats nice
optind_test -c whats
echo ------


Adding a "local OPTIND=" after the function line makes everything work, 
but it shouldn't fail. According to POSIX OPTIND should be function local 
already.

/Nils


On Tue, 21 Sep 2010, Nils Carlson wrote:

> On Sep 21, 2010, at 3:02 PM, David Goulet wrote:
>
>> Hey Nils,
>>
>> I don't understand here why you need to specify OPTIND as local.
>> Isn't a global variable set by getops only used in the while loop..
>
> Thought so too... but it didn't behave that way on my machine.
>
> It's possible this is an issue with debian testing though. I'll try to
> check on ubuntu at home.
>
> /Nils
>
>
>> Thanks
>> David
>>
>> On 10-09-21 07:54 AM, Nils Carlson wrote:
>>> As we were playing with OPTIND we managed to match the same
>>> thing multiple times. Maybe make this more elegant in the
>>> future.
>>>
>>> Signed-off-by: Nils Carlson<nils.carlson at ericsson.com>
>>> ---
>>>  tests/test_functions.sh |    1 +
>>>  1 files changed, 1 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/tests/test_functions.sh b/tests/test_functions.sh
>>> index d27a734..40d4d89 100644
>>> --- a/tests/test_functions.sh
>>> +++ b/tests/test_functions.sh
>>> @@ -40,6 +40,7 @@ function check_trace_logs() {
>>>
>>>
>>>  function trace_matches() {
>>> +    local OPTIND=
>>>
>>>      RUNLTTV=~/devel/lttv/runlttv
>>>
>>
>> --
>> David Goulet
>> LTTng project, DORSAL Lab.
>>
>> PGP/GPG : 1024D/16BD8563
>> BE3C 672B 9331 9796 291A  14C6 4AF7 C14B 16BD 8563
>>
>> _______________________________________________
>> ltt-dev mailing list
>> ltt-dev at lists.casi.polymtl.ca
>> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>
>




More information about the lttng-dev mailing list