From: Robbie Williamson <[email protected]>
Subject: Re: [LTP] Help Need for Ar01 Test Case
Date: Mon, 16 Mar 2009 16:29:48 -0500

> Fixed this testcase.  I'm not sure why it was written the way it was.  It 
> could
> be that the 'ar' command has changed over the past years, making test #17
> incorrect...which sometimes happens.  In any case, I uploaded the changes to
> CVS, and the test FAILS as it apparently should. :/
>

Thanks. I have seen your changes,

$ cvs diff -ur1.10 ar01
--- ar01        21 Oct 2008 06:54:15 -0000      1.10
+++ ar01        16 Mar 2009 21:29:30 -0000      1.12
@@ -454,10 +454,10 @@
 rm -rf $TCtmp/lib.a;cd $TCdat
 ar -cr $TCtmp/lib.a file1.o
 crtest
-size1=`ls -s $TCtmp/lib.a|(read a b; echo $a)`
+size1=`ls -l $TCtmp/lib.a|awk '{print $5}'`
 strip $TCtmp/lib.a 2>&1 1>/dev/null
-ar -ts $TCtmp/lib.a 2>&1 1>/dev/null
-size2=`ls -s $TCtmp/lib.a|(read a b; echo $a)`
+ar -s $TCtmp/lib.a 2>&1 1>/dev/null
+size2=`ls -l $TCtmp/lib.a|awk '{print $5}'`

 if [ $size1 -eq $size2 ]

@@ -465,7 +465,7 @@
     echo "-)17"
 else
     TCRESULT=17
-    echo "FAIL - ar with -does not regenerate symbol table"
+    echo "FAIL - ar with -s does not regenerate symbol table"
 fi

 # The -t option prints a table of contents of the archive file.
@@ -569,7 +569,7 @@
 ar -cr $TCtmp/lib.a file1.in file2.in file3.in
 crtest

-ls -ln file1.in file2.in file3.in |
+ls -ln --time-style=+%b" "%d" "%H:%M file1.in file2.in file3.in |
 while
 read permissions link uid gid size month day time file_name
 do

(What does the last part do-- ls -ln --time-style... ? I can't find any
description in the changelog.)

So, it was working before when it was originally written that "ar -s"
can restore the file size to that before the strip run? Do you mean it
might be a "ar" regression bug?

In addition, test case 19 might need the some fix as well.

Signed-off-by: CAI Qian <[email protected]>

--- testcases/commands/ade/ar/ar01.orig 2009-03-17 09:58:28.000000000 +0800
+++ testcases/commands/ade/ar/ar01      2009-03-17 09:56:47.000000000 +0800
@@ -495,10 +495,10 @@
 rm -rf $TCtmp/lib.a;cd $TCdat
 ar -cr $TCtmp/lib.a file1.o
 crtest
-size1=`ls -s $TCtmp/lib.a|(read a b; echo $a)`
+size1=`ls -l $TCtmp/lib.a|awk '{print $5}'`
 strip $TCtmp/lib.a 2>&1 1>/dev/null
 ar -ts $TCtmp/lib.a 2>&1 1>/dev/null
-size2=`ls -s $TCtmp/lib.a|(read a b; echo $a)`
+size1=`ls -l $TCtmp/lib.a|awk '{print $5}'`
 
 if [ $size1 -eq $size2 ]
 then
   

> -Robbie
> 
> On 03/16/2009 11:49 AM, Robbie Williamson wrote:
>> It's been awhile since I last looked at this testcase.  I'll look into
>> it today. :)
>> 
>> -Robbie
>> 
>> On 03/16/2009 11:23 AM, Subrata Modak wrote:
>>> On Mon, Mar 16, 2009 at 9:31 PM, CAI Qian <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>>     From: CAI Qian <[email protected] <mailto:[email protected]>>
>>>     Subject: Help Need for Ar01 Test Case
>>>     Date: Mon, 16 Mar 2009 17:32:17 +0800 (CST)
>>>
>>>     > Hi Robbie,
>>>     >
>>>
>>>     I got delevery failure for Robbie's email address,
>>>
>>>      Your message
>>>
>>>        Subject: Help Need for Ar01 Test Case
>>>
>>>      was not delivered to:
>>>
>>>        [email protected] <mailto:[email protected]>
>>>
>>>      because:
>>>
>>>        User robbiew ([email protected] <mailto:[email protected]>)
>>>     not listed in Domino Directory
>>>
>>>     Does anybody happen to know his up-to-date email?
>>>
>>>
>>> He is here now :-)
>>>
>>> Regards--
>>> Subrata
>>>  
>>>
>>>
>>>
>>>     CAI Qian
>>>
>>>     > I may need your help to understand ar01 test case under
>>>     > testcases/commands/ade/ar/.
>>>     >
>>>     > The following test code may fail, and I don't understand what it
>>>     does,
>>>     >
>>>     >  # The -s causes regeneration of symbol table even if a symbol table
>>>     >    exists.
>>>     >
>>>     >  # CODE
>>>     >
>>>     >  rm -rf $TCtmp/lib.a;cd $TCdat
>>>     >  ar -cr $TCtmp/lib.a file1.o
>>>     >  crtest
>>>     >  size1=`ls -s $TCtmp/lib.a|(read a b; echo $a)`
>>>     >  strip $TCtmp/lib.a 2>&1 1>/dev/null
>>>     >  ar -ts $TCtmp/lib.a 2>&1 1>/dev/null
>>>     >  size2=`ls -s $TCtmp/lib.a|(read a b; echo $a)`
>>>     >
>>>     >  if [ $size1 -eq $size2 ]
>>>     >
>>>     >  then
>>>     >      echo "-)17"
>>>     >  else
>>>     >      TCRESULT=17
>>>     >      echo "FAIL - ar with -does not regenerate symbol table"
>>>     >
>>>     > I have two questions. The first one is, why use "t" and "s" options
>>>     > together?
>>>     >
>>>     >  ar -ts $TCtmp/lib.a 2>&1 1>/dev/null
>>>     >
>>>     > From the manpage,
>>>     >
>>>     >  t   Display a table listing the contents of archive, or those
>>>     of the
>>>     >      files listed in member... that are present in the archive.
>>>     >      Normally only the member name is shown; if you also want to
>>>     see the
>>>     >      modes (permissions), timestamp, owner, group, and size, you can
>>>     >      request that by also specifying the v modifier.
>>>     >
>>>     >  s   Write an object-file index into the archive, or update an
>>>     existing
>>>     >      one, even if no other change is made to the archive.  You
>>>     may use
>>>     >      this modifier flag either with any operation, or alone.
>>>      Running ar
>>>     >      s on an archive is equivalent to running ranlib on it.
>>>     >
>>>     > I can't see how they are related. Do you mean "ar -s"?
>>>     >
>>>     > The second one is, this piece of test code fails for me, and it
>>>     works
>>>     > sometimes probably just by dumb luck. It can be explained by the
>>>     > following,
>>>     >
>>>     > First, we create an archieve file lib.a by including file1.o.
>>>     > # ar -cr lib.a file1.o
>>>     >
>>>     > Second, we get lib.a's block size.
>>>     > # # ls -s lib.a
>>>     > 8 lib.a
>>>     >
>>>     > # nm -s lib.a
>>>     >
>>>     > Archive index:
>>>     > main in file1.o
>>>     >
>>>     > file1.o:
>>>     > 0000000000000000 r .LC0
>>>     > 0000000000000000 T main
>>>     >                  U puts
>>>     >
>>>     >
>>>     > Then, we strip its symbols.
>>>     > # strip lib.a
>>>     >
>>>     > # ls -s lib.a
>>>     > 8 lib.a
>>>     >
>>>     > # nm -s lib.a
>>>     >
>>>     > file1.o:
>>>     > nm: file1.o: no symbols
>>>     >
>>>     >
>>>     > Next, use "ar -s" to generate symbol index?
>>>     > # ar -s lib.a
>>>     >
>>>     > # ls -s lib.a
>>>     > 8 lib.a
>>>     >
>>>     > # nm -s lib.a
>>>     >
>>>     > file1.o:
>>>     > nm: file1.o: no symbols
>>>     >
>>>     >
>>>     > Finally, we get lib.a's new block size, and compare with the old
>>>     one. If
>>>     > they are same, the test passes. Otherwise, fails.
>>>     >
>>>     > As you can from the above, there are two things does not make
>>>     sense to
>>>     > me,
>>>     >
>>>     > * the lib.a's block size is the same before and after stripping the
>>>     >   symbols.
>>>     >
>>>     > * "ar -s" seems have not effect indicating by "nm -s" and "ls -s".
>>>     >
>>>     > Any pointer?
>>>     >
>>>     > CAI Qian
>>>
>>>     
>>> ------------------------------------------------------------------------------
>>>     Apps built with the Adobe(R) Flex(R) framework and Flex
>>>     Builder(TM) are
>>>     powering Web 2.0 with engaging, cross-platform capabilities.
>>>     Quickly and
>>>     easily build your RIAs with Flex Builder, the Eclipse(TM)based
>>>     development
>>>     software that enables intelligent coding and step-through debugging.
>>>     Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
>>>     _______________________________________________
>>>     Ltp-list mailing list
>>>     [email protected] <mailto:[email protected]>
>>>     https://lists.sourceforge.net/lists/listinfo/ltp-list
>>>
>>>
>>>
>>>
>>> -- 
>>> Regards & Thanks--
>>> Subrata
>> 
>> 
> 
> 
> -- 
> Robbie Williamson                                         [email protected]
> Ubuntu Foundations Team Manager             robbiew[irc.freenode.net]
> http://wiki.ubuntu.com/FoundationsTeam                +1 512 686 2051
> 
> "You can't be lucky all the time, but you can be smart everyday"
>  -Mos Def
> 
> "Arrogance is thinking you are better than everyone else, while
> Confidence is knowing no one else is better than you." -Me ;)
> 

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to