[U-Boot] [PATCH 3/3] test/fs: Check writes using "." (same dir) relative path

Stephen Warren swarren at wwwdotorg.org
Tue Sep 13 20:36:26 CEST 2016


On 09/12/2016 04:04 PM, Stefan Bruens wrote:
> On Montag, 12. September 2016 12:44:08 CEST you wrote:
>> On 09/11/2016 02:46 PM, Stefan Brüns wrote:
>>> <path>/<fname> and <path>/./<fname> should reference the same file.
>>>
>>> diff --git a/test/fs/fs-test.sh b/test/fs/fs-test.sh
>>>
>>> +# Read 1MB from small file
>>> +${PREFIX}load host${SUFFIX} $addr ${FPATH}$FILE_SMALL
>>
>> I think the same issue with $FPATH ending/not-ending in / applies here
>> too, and for all commands in this patch.
>
> FPATH is either "" for native fat, "/" for native ext4, or <somepath>/ for
> hostfs, so this is correct. Specifically, for fat, we dont want any "/" in
> front of $FILE_foo.

I believe FPATH can be either "", "/" or "/foo/bar" here, due to the 
issue I just mentioned in the other email.

>>> @@ -482,6 +499,16 @@ function check_results() {
>>>
>>> +	# Check directory traversal
>>> +	grep -A6 "Test Case 13a " "$1" | \
>>> +		egrep -q '1048576 bytes written|update journal'
>>
>> Why is "update journal" considered successful? Surely the "n bytes
>> written" message is always printed irrespective of whether anything
>> journal-related happened?
>
> Thats a question left to the author of Test Case 11, where the fragment was
> copied from.

I don't quite agree; you're adding the new test, so should make sure the 
validation code makes sense.

> Ext4 unfortunately is quite verbose, it inserts "File system is consistent"
> and "update journal finished" lines in the output. I think these lines where
> better stripped from the log prior to any further parsing.

ext4 may print some extra output, but that doesn't mean that any of it 
should be used in the validation. I think the simplest thing is to just 
ignore it in the validation code. Using egrep -q '1048576 bytes written' 
should do that just fine, and not get a false-positive if ext4 does say 
"update journal" without saying the required "1048576 bytes written".


More information about the U-Boot mailing list