]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
tests: avoid skipping some df tests with libmount
authorPádraig Brady <P@draigBrady.com>
Mon, 12 Jan 2015 01:14:11 +0000 (01:14 +0000)
committerPádraig Brady <P@draigBrady.com>
Mon, 12 Jan 2015 01:24:29 +0000 (01:24 +0000)
* tests/df/no-mtab-status.sh: Provide libmount placeholders,
to avoid skipping the test when libmount is in use.
* tests/df/skip-duplicates.sh: Likewise.
* tests/df/skip-rootfs.sh: Comment that the test is moot
when libmount (/proc/self/mountinfo) is being used.

tests/df/no-mtab-status.sh
tests/df/skip-duplicates.sh
tests/df/skip-rootfs.sh

index 98254f9b4eeff9d4a923964a057aee23d98cf5f6..d9899c4ad1e80bd9bcee4393fa7a9918bc88a952 100755 (executable)
@@ -30,10 +30,21 @@ grep '^#define HAVE_GETMNTENT 1' $CONFIG_HEADER > /dev/null \
       || skip_ "getmntent is not used on this system"
 
 # Simulate "mtab" failure.
-cat > k.c <<'EOF' || framework_failure_
+cat > k.c <<EOF || framework_failure_
 #include <stdio.h>
 #include <errno.h>
 #include <mntent.h>
+#include "$CONFIG_HEADER"
+
+#ifdef MOUNTED_PROC_MOUNTINFO
+# include <libmount/libmount.h>
+struct libmnt_table *mnt_new_table_from_file(const char *filename)
+{
+  /* Returning NULL here will get read_file_system_list()
+     to fall back to using getmntent() below.  */
+  return NULL;
+}
+#endif
 
 struct mntent *getmntent (FILE *fp)
 {
index 8cbf700395b72052c2bd73ba21ddb53b139b19be..bbd4056b742437620558703c4cb410cd01090a5f 100755 (executable)
@@ -23,7 +23,7 @@ require_gcc_shared_
 
 # We use --local here so as to not activate
 # potentially very many remote mounts.
-df --local || skip_ "df fails"
+df --local || skip_ 'df fails'
 
 export CU_NONROOT_FS=$(df --local --output=target 2>&1 | grep /. | head -n1)
 export CU_REMOTE_FS=$(df --local --output=target 2>&1 | grep /. |
@@ -40,11 +40,22 @@ grep '^#define HAVE_GETMNTENT 1' $CONFIG_HEADER > /dev/null \
       || skip_ "getmntent is not used on this system"
 
 # Simulate an mtab file to test various cases.
-cat > k.c <<'EOF' || framework_failure_
+cat > k.c <<EOF || framework_failure_
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <mntent.h>
+#include "$CONFIG_HEADER"
+
+#ifdef MOUNTED_PROC_MOUNTINFO
+# include <libmount/libmount.h>
+struct libmnt_table *mnt_new_table_from_file(const char *filename)
+{
+  /* Returning NULL here will get read_file_system_list()
+     to fall back to using getmntent() below.  */
+  return NULL;
+}
+#endif
 
 #define STREQ(a, b) (strcmp (a, b) == 0)
 
index 9bb142406b2802409f53bb30817325e6c77a2851..ed5364eb361530b2905e534c7ffa84244b2877e7 100755 (executable)
@@ -22,8 +22,10 @@ print_ver_ df
 df || skip_ "df fails"
 
 # Verify that rootfs is in mtab (and shown when the -a option is specified).
+# Note this is the case when /proc/self/mountinfo is parsed
+# rather than /proc/mounts.  I.E. when libmount is being used.
 df -a >out || fail=1
-grep '^rootfs' out || skip_ "no rootfs in mtab"
+grep '^rootfs' out || skip_ 'no rootfs in mtab'
 
 # Ensure that rootfs is suppressed when no options is specified.
 df >out || fail=1