<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/test/py/tests/test_fs, branch v2022.07</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/test/py/tests/test_fs?h=v2022.07</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/test/py/tests/test_fs?h=v2022.07'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2022-05-26T14:32:27Z</updated>
<entry>
<title>test: fix parsing the mksquashfs version number</title>
<updated>2022-05-26T14:32:27Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>heinrich.schuchardt@canonical.com</email>
</author>
<published>2022-05-24T11:36:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d051a91c8dcb27a2f5377cee044d5376e91c372b'/>
<id>urn:sha1:d051a91c8dcb27a2f5377cee044d5376e91c372b</id>
<content type='text'>
Testing with mksquasshfs 4.5.1 results in an error

    ValueError: could not convert string to float: '4.5.1'

Version 4.10 would be considered to be lower than 4.4.

Fixes: 04c9813e951f ("test/py: rewrite common tools for SquashFS tests")
Signed-off-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
</content>
</entry>
<entry>
<title>test/py: test_fs: Correct the test case name</title>
<updated>2022-05-26T14:27:14Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng.cn@gmail.com</email>
</author>
<published>2022-05-17T15:24:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7eb2e88ae9120b14a479bb14f461762619d7f551'/>
<id>urn:sha1:7eb2e88ae9120b14a479bb14f461762619d7f551</id>
<content type='text'>
Use test_fstypes as the name instead of test_dm_compact.

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>test/py: Add tests for the erofs</title>
<updated>2022-03-15T20:19:51Z</updated>
<author>
<name>Huang Jianan</name>
<email>jnhuang95@gmail.com</email>
</author>
<published>2022-02-26T07:05:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2c30aa3dbcc47cff583042685098ad2e7900ff57'/>
<id>urn:sha1:2c30aa3dbcc47cff583042685098ad2e7900ff57</id>
<content type='text'>
Add Python scripts to test 'ls' and 'load' commands, as well as
test related filesystem functions.

Signed-off-by: Huang Jianan &lt;jnhuang95@gmail.com&gt;
</content>
</entry>
<entry>
<title>test/py: Improve check for mksquashfs version</title>
<updated>2021-07-29T00:46:34Z</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-07-22T20:52:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=89795ef3b6b2d12cffb840a98ee374d2e806aa64'/>
<id>urn:sha1:89795ef3b6b2d12cffb840a98ee374d2e806aa64</id>
<content type='text'>
Some builds of squashfs-tools append version string with "-git" or
similar. The float() conversion will fail in this case.

Improve the code to only convert to float() the string before the '-'
character.

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Joao Marcos Costa &lt;jmcosta944@gmail.com&gt;
</content>
</entry>
<entry>
<title>test/py: rewrite sqfsls command test suite</title>
<updated>2021-07-05T19:29:12Z</updated>
<author>
<name>Joao Marcos Costa</name>
<email>jmcosta944@gmail.com</email>
</author>
<published>2021-06-30T22:45:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9bde9b5e29a31bf07a6cd4e00643a7de65c5212d'/>
<id>urn:sha1:9bde9b5e29a31bf07a6cd4e00643a7de65c5212d</id>
<content type='text'>
Add more details to test cases by comparing each expected line with the
command's output. Add new test cases:
- sqfsls at an empty directory
- sqfsls at a sub-directory

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Tested-by: Simon Glass &lt;sjg@chromium.org&gt; [on sandbox]
Signed-off-by: Joao Marcos Costa &lt;jmcosta944@gmail.com&gt;
</content>
</entry>
<entry>
<title>test/py: rewrite sqfsload command test suite</title>
<updated>2021-07-05T19:29:10Z</updated>
<author>
<name>Joao Marcos Costa</name>
<email>jmcosta944@gmail.com</email>
</author>
<published>2021-06-30T22:45:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=208eb2a4dcd37c0bb1b76b9d71f7bf28b85a899f'/>
<id>urn:sha1:208eb2a4dcd37c0bb1b76b9d71f7bf28b85a899f</id>
<content type='text'>
The previous strategy to know if a file was correctly loaded was to
check for how many bytes were read and compare it against the file's
original size. Since this is not a good solution, replace it by
comparing the checksum of the loaded bytes against the original file's
checksum. Add more test cases: files at a sub-directory and non-existent
file.

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Tested-by: Simon Glass &lt;sjg@chromium.org&gt; [on sandbox]
Signed-off-by: Joao Marcos Costa &lt;jmcosta944@gmail.com&gt;
</content>
</entry>
<entry>
<title>test/py: rewrite common tools for SquashFS tests</title>
<updated>2021-07-05T19:28:33Z</updated>
<author>
<name>Joao Marcos Costa</name>
<email>jmcosta944@gmail.com</email>
</author>
<published>2021-06-30T22:45:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=04c9813e951ffa9391daec5a8dcda90539ca2989'/>
<id>urn:sha1:04c9813e951ffa9391daec5a8dcda90539ca2989</id>
<content type='text'>
Remove the previous OOP approach, which was confusing and incomplete.
Add more test cases by making SquashFS images with various options,
concerning file fragmentation and its compression. Add comments to
properly document the code.

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Tested-by: Simon Glass &lt;sjg@chromium.org&gt; [on sandbox]
Signed-off-by: Joao Marcos Costa &lt;jmcosta944@gmail.com&gt;
</content>
</entry>
<entry>
<title>test/py: Wait for guestmount worker to exit after running guestunmount</title>
<updated>2021-07-05T19:28:32Z</updated>
<author>
<name>Alper Nebi Yasak</name>
<email>alpernebiyasak@gmail.com</email>
</author>
<published>2021-06-04T19:04:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=99f5303c8b857320b00a63dca81d1f6f7c75c636'/>
<id>urn:sha1:99f5303c8b857320b00a63dca81d1f6f7c75c636</id>
<content type='text'>
Some filesystem tests are failing when their image is prepared with
guestmount, but succeeding if loop mounts are used instead. The reason
seems to be a race condition the guestmount(1) manual page explains:

    When guestunmount(1)/fusermount(1) exits, guestmount may still be
    running and cleaning up the mountpoint.  The disk image will not be
    fully finalized.

    This means that scripts like the following have a nasty race condition:

     guestmount -a disk.img -i /mnt
     # copy things into /mnt
     guestunmount /mnt
     # immediately try to use 'disk.img' ** UNSAFE **

    The solution is to use the --pid-file option to write the guestmount
    PID to a file, then after guestunmount spin waiting for this PID to
    exit.

The Python standard library has an os.waitpid() function for waiting a
child to terminate, but it cannot wait on non-child processes. Implement
a utility function that can do this by polling the process repeatedly
for a given duration, optionally killing the process if it won't
terminate on its own. Apply the suggested solution with this utility
function, which makes the failing tests succeed again.

Signed-off-by: Alper Nebi Yasak &lt;alpernebiyasak@gmail.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>test/py: Use loop mounts if guestmount fails in filesystem tests</title>
<updated>2021-07-05T19:28:32Z</updated>
<author>
<name>Alper Nebi Yasak</name>
<email>alpernebiyasak@gmail.com</email>
</author>
<published>2021-06-04T19:04:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8f5f5d3a4593f26f0a755f5ecfaa7299e42edeeb'/>
<id>urn:sha1:8f5f5d3a4593f26f0a755f5ecfaa7299e42edeeb</id>
<content type='text'>
If guestmount isn't available on the system, filesystem test setup falls
back to using loop mounts to prepare its disk images. If guestmount is
available but fails to work, the tests are immediately skipped. Instead
of giving up on a guestmount failure, try using loop mounts as an
attempt to keep tests running.

Also stop checking if guestmount is in PATH, as trying to run a missing
guestmount can now follow the same failure codepath and fall back to
loop mounts anyway.

Signed-off-by: Alper Nebi Yasak &lt;alpernebiyasak@gmail.com&gt;
</content>
</entry>
<entry>
<title>test: Include /sbin to the PATH when creating file system</title>
<updated>2021-06-23T12:45:03Z</updated>
<author>
<name>Andy Shevchenko</name>
<email>andriy.shevchenko@linux.intel.com</email>
</author>
<published>2021-06-10T15:08:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b2710faf82998d7be9e4eef554063a5e27e88ec9'/>
<id>urn:sha1:b2710faf82998d7be9e4eef554063a5e27e88ec9</id>
<content type='text'>
On some distributions the mkfs is under /sbin and /sbin is not set
for mere users. Include /sbin to the PATH when creating file system,
so that users won't get a scary traceback from Python.

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
</content>
</entry>
</feed>
