All of lore.kernel.org
 help / color / mirror / Atom feed
From: Akashi, Takahiro <takahiro.akashi@linaro.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/2] test/py: test_fs: add docstring comments to helper functions
Date: Thu, 27 Sep 2018 16:07:23 +0900	[thread overview]
Message-ID: <20180927070723.7741-2-takahiro.akashi@linaro.org> (raw)
In-Reply-To: <20180927070723.7741-1-takahiro.akashi@linaro.org>

From: "Akashi Takahiro" <takahiro.akashi@linaro.org>

After Siomon's comment, add a descriptive comment (docstring) to each of
helper functions in conftest.py. No functionality changed.

Signed-off-by: Akashi Takahiro <takahiro.akashi@linaro.org>
---
 test/py/tests/test_fs/conftest.py | 133 ++++++++++++++++++++++++++++++
 1 file changed, 133 insertions(+)

diff --git a/test/py/tests/test_fs/conftest.py b/test/py/tests/test_fs/conftest.py
index 826b0f0cb07c..60b4a2d737b9 100644
--- a/test/py/tests/test_fs/conftest.py
+++ b/test/py/tests/test_fs/conftest.py
@@ -18,10 +18,32 @@ supported_fs_unlink = ['fat16', 'fat32']
 # Filesystem test specific setup
 #
 def pytest_addoption(parser):
+    """Enable --fs-type option.
+
+    See pytest_configure() about how it works.
+
+    Args:
+        parser: Pytest command-line parser.
+
+    Returns:
+        Nothing.
+    """
     parser.addoption('--fs-type', action='append', default=None,
         help='Targeting Filesystem Types')
 
 def pytest_configure(config):
+    """Restrict a file system(s) to be tested.
+
+    A file system explicitly named with --fs-type option is selected
+    if it belongs to a default supported_fs_xxx list.
+    Multiple options can be specified.
+
+    Args:
+        config: Pytest configuration.
+
+    Returns:
+        Nothing.
+    """
     global supported_fs_basic
     global supported_fs_ext
     global supported_fs_mkdir
@@ -39,6 +61,17 @@ def pytest_configure(config):
         supported_fs_unlink =  intersect(supported_fs, supported_fs_unlink)
 
 def pytest_generate_tests(metafunc):
+    """Parametrize fixtures, fs_obj_xxx
+
+    Each fixture will be parametrized with a corresponding support_fs_xxx
+    list.
+
+    Args:
+        metafunc: Pytest test function.
+
+    Returns:
+        Nothing.
+    """
     if 'fs_obj_basic' in metafunc.fixturenames:
         metafunc.parametrize('fs_obj_basic', supported_fs_basic,
             indirect=True, scope='module')
@@ -56,12 +89,36 @@ def pytest_generate_tests(metafunc):
 # Helper functions
 #
 def fstype_to_ubname(fs_type):
+    """Convert a file system type to an U-boot specific string
+
+    A generated string can be used as part of file system related commands
+    or a config name in u-boot. Currently fat16 and fat32 are handled
+    specifically.
+
+    Args:
+        fs_type: File system type.
+
+    Return:
+        A corresponding string for file system type.
+    """
     if re.match('fat', fs_type):
         return 'fat'
     else:
         return fs_type
 
 def check_ubconfig(config, fs_type):
+    """Check whether a file system is enabled in u-boot configuration.
+
+    This function is assumed to be called in a fixture function so that
+    the whole test cases will be skipped if a given file system is not
+    enabled.
+
+    Args:
+        fs_type: File system type.
+
+    Return:
+        Nothing.
+    """
     if not config.buildconfig.get('config_cmd_%s' % fs_type, None):
         pytest.skip('.config feature "CMD_%s" not enabled' % fs_type.upper())
     if not config.buildconfig.get('config_%s_write' % fs_type, None):
@@ -69,6 +126,16 @@ def check_ubconfig(config, fs_type):
         % fs_type.upper())
 
 def mk_fs(config, fs_type, size, id):
+    """Create a file system volume.
+
+    Args:
+        fs_type: File system type.
+        size: Size of file system in MiB.
+        id: Prefix string of volume's file name.
+
+    Return:
+        Nothing.
+    """
     fs_img = '%s.%s.img' % (id, fs_type)
     fs_img = config.persistent_data_dir + '/' + fs_img
 
@@ -99,6 +166,14 @@ def mk_fs(config, fs_type, size, id):
 
 # from test/py/conftest.py
 def tool_is_in_path(tool):
+    """Check whether a given command is available on host.
+
+    Args:
+        tool: Command name.
+
+    Return:
+        True if available, False if not.
+    """
     for path in os.environ["PATH"].split(os.pathsep):
         fn = os.path.join(path, tool)
         if os.path.isfile(fn) and os.access(fn, os.X_OK):
@@ -108,6 +183,16 @@ def tool_is_in_path(tool):
 fuse_mounted = False
 
 def mount_fs(fs_type, device, mount_point):
+    """Mount a volume.
+
+    Args:
+        fs_type: File system type.
+        device: Volume's file name.
+        mount_point: Mount point.
+
+    Return:
+        Nothing.
+    """
     global fuse_mounted
 
     fuse_mounted = False
@@ -130,6 +215,14 @@ def mount_fs(fs_type, device, mount_point):
         raise
 
 def umount_fs(mount_point):
+    """Unmount a volume.
+
+    Args:
+        mount_point: Mount point.
+
+    Return:
+        Nothing.
+    """
     if fuse_mounted:
         call('sync')
         call('guestunmount %s' % mount_point, shell=True)
@@ -143,6 +236,16 @@ def umount_fs(mount_point):
 # NOTE: yield_fixture was deprecated since pytest-3.0
 @pytest.yield_fixture()
 def fs_obj_basic(request, u_boot_config):
+    """Set up a file system to be used in basic fs test.
+
+    Args:
+        request: Pytest request object.
+	u_boot_config: U-boot configuration.
+
+    Return:
+        A fixture for basic fs test, i.e. a triplet of file system type,
+        volume file name and  a list of MD5 hashes.
+    """
     fs_type = request.param
     fs_img = ''
 
@@ -241,6 +344,16 @@ def fs_obj_basic(request, u_boot_config):
 # NOTE: yield_fixture was deprecated since pytest-3.0
 @pytest.yield_fixture()
 def fs_obj_ext(request, u_boot_config):
+    """Set up a file system to be used in extended fs test.
+
+    Args:
+        request: Pytest request object.
+	u_boot_config: U-boot configuration.
+
+    Return:
+        A fixture for extended fs test, i.e. a triplet of file system type,
+        volume file name and  a list of MD5 hashes.
+    """
     fs_type = request.param
     fs_img = ''
 
@@ -318,6 +431,16 @@ def fs_obj_ext(request, u_boot_config):
 # NOTE: yield_fixture was deprecated since pytest-3.0
 @pytest.yield_fixture()
 def fs_obj_mkdir(request, u_boot_config):
+    """Set up a file system to be used in mkdir test.
+
+    Args:
+        request: Pytest request object.
+	u_boot_config: U-boot configuration.
+
+    Return:
+        A fixture for mkdir test, i.e. a duplet of file system type and
+        volume file name.
+    """
     fs_type = request.param
     fs_img = ''
 
@@ -341,6 +464,16 @@ def fs_obj_mkdir(request, u_boot_config):
 # NOTE: yield_fixture was deprecated since pytest-3.0
 @pytest.yield_fixture()
 def fs_obj_unlink(request, u_boot_config):
+    """Set up a file system to be used in unlink test.
+
+    Args:
+        request: Pytest request object.
+	u_boot_config: U-boot configuration.
+
+    Return:
+        A fixture for unlink test, i.e. a duplet of file system type and
+        volume file name.
+    """
     fs_type = request.param
     fs_img = ''
 
-- 
2.18.0

  reply	other threads:[~2018-09-27  7:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-27  7:03 [U-Boot] [PATCH 0/2] test/py: test_fs: follow up v3 of fat write patches Akashi, Takahiro
2018-09-27  7:07 ` [U-Boot] [PATCH 1/2] test/py: test_fs: remove fs_type argument from umount_fs() Akashi, Takahiro
2018-09-27  7:07   ` Akashi, Takahiro [this message]
2018-10-02 11:21     ` [U-Boot] [PATCH 2/2] test/py: test_fs: add docstring comments to helper functions Simon Glass
2018-10-07  0:28     ` [U-Boot] [U-Boot, " Tom Rini
2018-10-02 11:21   ` [U-Boot] [PATCH 1/2] test/py: test_fs: remove fs_type argument from umount_fs() Simon Glass
2018-10-07  0:28   ` [U-Boot] [U-Boot, " Tom Rini

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=20180927070723.7741-2-takahiro.akashi@linaro.org \
    --to=takahiro.akashi@linaro.org \
    --cc=u-boot@lists.denx.de \
    /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.