All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Simek <michal.simek@petalogix.com>
To: Garrett Cooper <yanegomi@gmail.com>
Cc: Jiri Palecek <jpalecek@web.de>,
	"ltp-list@lists.sourceforge.net" <ltp-list@lists.sourceforge.net>
Subject: Re: [LTP] lchown test case
Date: Wed, 06 Jan 2010 13:13:02 +0100	[thread overview]
Message-ID: <4B447E4E.5040203@petalogix.com> (raw)
In-Reply-To: <364299f41001051831r6a0f4930t6ba61e4273c797e3@mail.gmail.com>

Garrett Cooper wrote:
> On Tue, Jan 5, 2010 at 5:41 PM, Garrett Cooper <yanegomi@gmail.com> wrote:
>> On Tue, Jan 5, 2010 at 5:27 PM, Jiri Palecek <jpalecek@web.de> wrote:
>>> Michal Simek napsal(a):
>>>> Hi,
>>> Hi,
>>>> I have some problems with lchown02 test which is caused with this patch.
>>>> What is prep_create_link?
>>>>
>>>> Thanks,
>>>> Michal
>>>>
>>>>
>>>> http://git.kernel.org/?p=linux/kernel/git/galak/ltp.git;a=commitdiff;h=ee1a022fc76076d7fc1b6b1797c195244414c038
>>>>
>>>>
>>>>
>>>> diff --git a/runtest/syscalls b/runtest/syscalls
>>>> index fbe8641..34631ed 100644 (file)
>>>> --- a/runtest/syscalls
>>>> +++ b/runtest/syscalls
>>>> @@ -462,10 +462,10 @@ kill12 kill12
>>>>
>>>> lchown01 lchown01
>>>> lchown01_16 lchown01_16
>>>> -lchown02 cp -p $LTPROOT/testcases/bin/create_link $TMP; lchown02
>>>> -lchown02_16 cp -p $LTPROOT/testcases/bin/create_link $TMP; lchown02_16
>>>> +lchown02 prep_create_link; lchown02
>>>> +lchown02_16 prep_create_link; lchown02_16
>>> IMHO it should do the same as the line above. But I think the whole thing
>>> could be deleted without causing any grief:
>>>
>>> http://repo.or.cz/w/ltp-debian.git?a=commit;h=a5499edcf368fa88df924f94ffcbe63c22b46e82
>> The test needs create_link in $TMP; that's why I scripted it as a
>> one-liner (but stupid me probably forgot to add the script to CVS
>> -_-).
>> Let me look and I'll get back to you shortly.
> 
> Fixed. The executable needed CAP_CHOWN capability and that's part of
> the point behind that script...

ok. I rerun the latest code and lchown02 testcases still failing.
I added two printf messages (path:Path_name -  and buffer:Cmd_buffer) 
which you can see below. And remove tst_rmdir to see if file exist or not.


path /tmp/ltp-XXXX1ZaUjj/lch6m6mr0
buffer /mnt/4/ltp/build/testcases/bin/create_link 
/tmp/ltp-XXXX1ZaUjj/lch6m6mr0/tfile_1
change_owner: chown() of /tmp/ltp-XXXX1ZaUjj/lch6m6mr0/tfile_1 failed, 
error 1
lchown02    1  TBROK  :  Fail to modify tfile_1 ownership(s)!
lchown02    2  TBROK  :  Remaining cases broken
lchown02    3  TBROK  :  Remaining cases broken
lchown02    4  TBROK  :  Remaining cases broken
lchown02    5  TBROK  :  Remaining cases broken
lchown02    6  TBROK  :  Remaining cases broken
lchown02    7  TBROK  :  Remaining cases broken
path /tmp/ltp-XXXX1ZaUjj/lchouwHqq
buffer /mnt/4/ltp/build/testcases/bin/create_link 
/tmp/ltp-XXXX1ZaUjj/lchouwHqq/tfile_1
change_owner: chown() of /tmp/ltp-XXXX1ZaUjj/lchouwHqq/tfile_1 failed, 
error 1
lchown02    1  TBROK  :  Fail to modify tfile_1 ownership(s)!
lchown02    2  TBROK  :  Remaining cases broken
lchown02    3  TBROK  :  Remaining cases broken
lchown02    4  TBROK  :  Remaining cases broken
lchown02    5  TBROK  :  Remaining cases broken
lchown02    6  TBROK  :  Remaining cases broken
lchown02    7  TBROK  :  Remaining cases broken


The problem is at first with create_link because there is used 
/mnt/4/ltp/build/testcases/bin/create_link instead of 
/tmp/ltp-XXXX1ZaUjj/create_link which is setup by prep_create_link

Please test the patch below which run correct version on my system

Then I tried to run lchown02 test under user and I think that this line 
in prep_create_link is addtional
#chown root:root "$TMP/create_link"

lchown test must be run under root that's why create_link will have root 
rights and under user test reports that must be run as root.

lchown02    1  TBROK  :  Test must be run as root
lchown02    2  TBROK  :  Remaining cases broken
lchown02    3  TBROK  :  Remaining cases broken
lchown02    4  TBROK  :  Remaining cases broken
lchown02    5  TBROK  :  Remaining cases broken
lchown02    6  TBROK  :  Remaining cases broken
lchown02    7  TBROK  :  Remaining cases broken
lchown02    1  TBROK  :  Test must be run as root
lchown02    2  TBROK  :  Remaining cases broken
lchown02    3  TBROK  :  Remaining cases broken
lchown02    4  TBROK  :  Remaining cases broken
lchown02    5  TBROK  :  Remaining cases broken
lchown02    6  TBROK  :  Remaining cases broken
lchown02    7  TBROK  :  Remaining cases broken


Thanks for testing,
Michal


--- lchown02-old.c      2010-01-06 12:59:32.000000000 +0100
+++ lchown02.c  2010-01-06 13:00:49.000000000 +0100
@@ -112,7 +112,6 @@
  char Longpathname[PATH_MAX + 2];
  char High_address_node[64];
  char EXEC_DIR[PATH_MAX];
-char main_test_dir[PATH_MAX + 2];

  struct test_case_t {           /* test case struct. to hold ref. test 
cond's */
         char *pathname;
@@ -265,12 +264,6 @@
         /* Pause if that option was specified */
         TEST_PAUSE;

-       /* remember current dir, because create_link has been copied here */
-       if (getcwd(main_test_dir, sizeof(main_test_dir)) == NULL) {
-               tst_brkm(TBROK | TERRNO, cleanup,
-                        "failed to get the current working directory.");
-       }
-
         /* Make a temp dir and cd to it */
         tst_tmpdir();

@@ -339,12 +332,13 @@

         strcpy(Path2_name, Path_name);

+       /* Get the command name to be executed as setuid to root */
+       strcat((char *)Cmd_buffer, Path_name);
+       strcat((char *)Cmd_buffer, (const char *)"/../create_link ");
+
         /* Get the path of test file created under temporary directory */
         strcat(Path_name, "/" TEST_FILE1);

-       /* Get the command name to be executed as setuid to root */
-       strcat((char *)Cmd_buffer, main_test_dir);
-       strcat((char *)Cmd_buffer, (const char *)"/create_link ");
         strcat((char *)Cmd_buffer, Path_name);

         if (system((const char *)Cmd_buffer) != 0) {






> -Garrett


-- 
Michal Simek, Ing. (M.Eng)
PetaLogix - Linux Solutions for a Reconfigurable World
w: www.petalogix.com p: +61-7-30090663,+42-0-721842854 f: +61-7-30090663

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2010-01-06 12:39 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-04 15:10 [LTP] lchown test case Michal Simek
2010-01-06  1:27 ` Jiri Palecek
2010-01-06  1:41   ` Garrett Cooper
2010-01-06  2:31     ` Garrett Cooper
2010-01-06 12:13       ` Michal Simek [this message]
2010-01-06 19:24         ` Garrett Cooper
2010-01-07  1:33       ` Jiri Palecek
2010-01-07  5:57         ` Garrett Cooper
2010-01-07 14:02           ` Michal Simek
2010-01-08 15:40             ` Jiří Paleček

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B447E4E.5040203@petalogix.com \
    --to=michal.simek@petalogix.com \
    --cc=jpalecek@web.de \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=yanegomi@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.