This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add system test before "set remote system-call-allowed 1"


On 06/08/2014 11:05 AM, Hui Zhu wrote:
> On 06/05/14 00:29, Pedro Alves wrote:
>> On 06/04/2014 07:44 AM, Hui Zhu wrote:
>>> On 05/29/14 19:12, Pedro Alves wrote:
>>>> On 05/13/2014 04:27 AM, Hui Zhu wrote:
>>>>> This patch is update version according to the discussion in
>>>>> https://www.sourceware.org/ml/gdb-patches/2009-11/msg00090.html.
>>>>> If test get the target doesn't support fileio system according to the
>>>>> remote log.   It will set this test as "unsupported".
>>>>>
>>>>> Before I made this patch, I want add a check before all of tests in this
>>>>> file.  But I found that the target maybe support one call but not others.
>>>>> For example: my target support Fwrite, Fopen and so on.  But not
>>>>> Fgettimeofday.
>>>>> And it doesn't support Fsystem NULL but it support Fsystem not NULL.
>>>>
>>>> So IIUC, the test will still have system (NULL) FAIL on your
>>>> target, right?
>>>
>>> It will use fileio if argument of Fsystem is not NULL.
>>> But will not use fileio if its argument is NULL.
>>
>> I mean, you still get one FAIL when you run the test
>> against your target, even with your patch applied.
> 
> No.  It will not because the fail just happen when the target use remote 
> file io to handle this system call.

I think I understand now.  So in this test:

~~~
 gdb_test_no_output "set remote system-call-allowed 1"

 gdb_test continue \
 "Continuing\\..*system 2:.*OK$stop_msg" \
 "System says shell is available"
~~~

your target is not sending an Fsystem packet at all,
and it happens that you target's "system" implementation
returns != 0, indicating that there's a shell on the target.
Correct?

Odd target behavior...  Why would this be desirable instead of
a target bug?  But I digress.

>> Otherwise, I think I'm missing something.
>>
>> Hmm, looking again at the patch, I'm pretty much confused.  :-/

...

>> What's this "Fsystem" supposed to be matching here?  At this point
>> "set remote system-call-allowed 1" has NOT been issued yet, so
>> how come we expect to see that?

...

> set msg "System says shell is not available"
> gdb_test_multiple "continue" $msg {
>      -re "Continuing\\..*Fsystem.*system 1:.*OK$stop_msg\r\n$gdb_prompt $" {
> 	pass $msg
>      }
> 
> Target uses file io handle system and it gets OK.
> Then the test pass.

Ah, I see now.  I managed to get confused and assume that
Fsystem was GDB's reply, instead of the request the target
sends...

Thanks,
-- 
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]