Add a few functions to utils.py to get file permissions, owners, and convert usernames to uids and group names to gids.
Functions added: get_file_owner_uid() get_file_owner_username() get_file_owner_gid() get_file_owner_group_name() get_file_permissions() Signed-off-by: Tom Hromatka <tom.hroma...@oracle.com> --- ftests/utils.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/ftests/utils.py b/ftests/utils.py index 47a63e5caa82..f35301793256 100644 --- a/ftests/utils.py +++ b/ftests/utils.py @@ -19,7 +19,72 @@ # along with this library; if not, see <http://www.gnu.org/licenses>. # +import grp +import os +from run import Run + # function to indent a block of text by cnt number of spaces def indent(in_str, cnt): leading_indent = cnt * ' ' return ''.join(leading_indent + line for line in in_str.splitlines(True)) + +def get_file_owner_uid(config, filename): + cmd = list() + cmd.append('stat') + cmd.append('-c') + cmd.append('\'%u\'') + cmd.append(filename) + + if config.args.container: + return config.container.run(cmd, shell_bool=True) + else: + return Run.run(cmd, shell_bool=True) + +def get_file_owner_username(config, filename): + cmd = list() + cmd.append('stat') + cmd.append('-c') + cmd.append('\'%U\'') + cmd.append(filename) + + if config.args.container: + return config.container.run(cmd, shell_bool=True) + else: + return Run.run(cmd, shell_bool=True) + return os.stat(filename).st_uid + +def get_file_owner_gid(config, filename): + cmd = list() + cmd.append('stat') + cmd.append('-c') + cmd.append('\'%g\'') + cmd.append(filename) + + if config.args.container: + return config.container.run(cmd, shell_bool=True) + else: + return Run.run(cmd, shell_bool=True) + +def get_file_owner_group_name(config, filename): + cmd = list() + cmd.append('stat') + cmd.append('-c') + cmd.append('\'%G\'') + cmd.append(filename) + + if config.args.container: + return config.container.run(cmd, shell_bool=True) + else: + return Run.run(cmd, shell_bool=True) + +def get_file_permissions(config, filename): + cmd = list() + cmd.append('stat') + cmd.append('-c') + cmd.append('\'%a\'') + cmd.append(filename) + + if config.args.container: + return config.container.run(cmd, shell_bool=True) + else: + return Run.run(cmd, shell_bool=True) -- 2.26.2 _______________________________________________ Libcg-devel mailing list Libcg-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libcg-devel