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 <[email protected]>
---
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel