]> granicus.if.org Git - strace/commitdiff
tests: remove obsolete non-strict uid tests
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 19 Apr 2016 18:45:25 +0000 (18:45 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 20 Apr 2016 01:08:13 +0000 (01:08 +0000)
Recently added strict tests for uid/gid related syscalls
made old uid tests obsolete.

* tests/uid.awk: Remove.
* tests/uid.c: Remove.
* tests/uid.test: Remove.
* tests/uid16.c: Remove.
* tests/uid16.test: Remove.
* tests/uid32.c: Remove.
* tests/uid32.test: Remove.
* tests/.gitignore: Remove uid, uid16, and uid32.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Remove uid.test, uid16.test, and uid32.test.
(EXTRA_DIST): Remove uid.awk.

tests/.gitignore
tests/Makefile.am
tests/uid.awk [deleted file]
tests/uid.c [deleted file]
tests/uid.test [deleted file]
tests/uid16.c [deleted file]
tests/uid16.test [deleted file]
tests/uid32.c [deleted file]
tests/uid32.test [deleted file]

index e8cbdf785db24d58ef7d5d245eaaf1c7554c2bb3..2f5f95e492e64aaf808fa97e43fdef47073bf88f 100644 (file)
@@ -203,9 +203,6 @@ times
 times-fail
 truncate
 truncate64
-uid
-uid16
-uid32
 uio
 umask
 umount
index 7502f3f946ee261ff4b7e999db893c1843ec3280..295d22145c9e3730d2c092cb30b7f67a2327a2e1 100644 (file)
@@ -253,9 +253,6 @@ check_PROGRAMS = \
        times-fail \
        truncate \
        truncate64 \
-       uid \
-       uid16 \
-       uid32 \
        uio \
        umask \
        umount \
@@ -494,9 +491,6 @@ DECODER_TESTS = \
        times.test \
        truncate.test \
        truncate64.test \
-       uid.test \
-       uid16.test \
-       uid32.test \
        uio.test \
        umask.test \
        umount.test \
@@ -590,7 +584,6 @@ EXTRA_DIST = init.sh run.sh match.awk \
             strace-r.expected \
             struct_flock.c \
             sun_path.expected \
-            uid.awk \
             uio.expected \
             umovestr.expected \
             wait.expected \
diff --git a/tests/uid.awk b/tests/uid.awk
deleted file mode 100644 (file)
index a5fdf1a..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/gawk
-#
-# Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in the
-#    documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-#    derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-BEGIN {
-  r_uint = "(0|[1-9][0-9]*)"
-  r_getuid = "getuid" suffix "\\(\\)[[:space:]]+= " r_uint
-  r_getxuid = "getxuid" suffix "\\(\\)[[:space:]]+= " r_uint " \\(euid " r_uint "\\)"
-  regexp = "^(" r_getuid "|" r_getxuid ")$"
-  expected = "getuid"
-  fail = 0
-}
-
-regexp == "" {
-  fail = 1
-  next
-}
-
-{
-  if (match($0, regexp, a)) {
-    if (expected == "getuid") {
-      if ("" != a[2])
-        uid = a[2]
-      else
-        uid = a[3]
-      expected = "setuid"
-      regexp = "^setuid" suffix "\\(" uid "\\)[[:space:]]+= 0$"
-    } else if (expected == "setuid") {
-      expected = "getresuid"
-      regexp = "^getresuid" suffix "\\(\\[" uid "\\], \\[" uid "\\], \\[" uid "\\]\\)[[:space:]]+= 0$"
-    } else if (expected == "getresuid") {
-      expected = "setreuid"
-      regexp = "^setreuid" suffix "\\(-1, -1\\)[[:space:]]+= 0$"
-    } else if (expected == "setreuid") {
-      expected = "setresuid"
-      regexp = "^setresuid" suffix "\\(" uid ", -1, -1\\)[[:space:]]+= 0$"
-    } else if (expected == "setresuid") {
-      expected = "fchown"
-      regexp = "^fchown" suffix "\\(1, -1, -1\\)[[:space:]]+= 0$"
-    } else if (expected == "fchown") {
-      expected = "1st getgroups"
-      regexp = "^getgroups" suffix "\\(0, NULL\\)[[:space:]]+= " r_uint "$"
-    } else if (expected == "1st getgroups") {
-      ngroups = a[1]
-      if (ngroups == "0")
-        list=""
-      else if (ngroups == "1")
-        list=r_uint
-      else
-        list=r_uint "(, " r_uint "){" (ngroups - 1) "}"
-      expected = "2nd getgroups"
-      regexp = "^getgroups" suffix "\\(" ngroups ", \\[" list "\\]\\)[[:space:]]+= " ngroups "$"
-    } else if (expected == "2nd getgroups") {
-      expected = "the last line"
-      regexp = "^\\+\\+\\+ exited with 0 \\+\\+\\+$"
-    } else if (expected == "the last line") {
-      expected = "nothing"
-      regexp = ""
-    }
-  }
-}
-
-END {
-  if (fail) {
-    print "Unexpected output after exit"
-    exit 1
-  }
-  if (regexp == "")
-    exit 0
-  print "error: " expected " doesn't match"
-  exit 1
-}
diff --git a/tests/uid.c b/tests/uid.c
deleted file mode 100644 (file)
index 35e0b91..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "tests.h"
-#include <sys/syscall.h>
-
-#if (defined __NR_getuid || defined __NR_getxuid) \
- && defined(__NR_setuid) \
- && defined(__NR_getresuid) \
- && defined(__NR_setreuid) \
- && defined(__NR_setresuid) \
- && defined(__NR_fchown) \
- && defined(__NR_getgroups)
-
-# include <assert.h>
-# include <stdlib.h>
-# include <unistd.h>
-# include <fcntl.h>
-
-int
-main(void)
-{
-       int uid;
-       int size;
-       int *list = 0;
-
-# ifndef __NR_getuid
-#  define __NR_getuid __NR_getxuid
-# endif
-       uid = syscall(__NR_getuid);
-       check_overflowuid(uid);
-
-       assert(syscall(__NR_setuid, uid) == 0);
-       {
-               /*
-                * uids returned by getresuid should be ignored
-                * to avoid 16bit vs 32bit issues.
-                */
-               int r, e, s;
-               assert(syscall(__NR_getresuid, &r, &e, &s) == 0);
-       }
-       assert(syscall(__NR_setreuid, -1, -1L) == 0);
-       assert(syscall(__NR_setresuid, uid, -1, -1L) == 0);
-       assert(syscall(__NR_fchown, 1, -1, -1L) == 0);
-       assert((size = syscall(__NR_getgroups, 0, list)) >= 0);
-       assert(list = calloc(size + 1, sizeof(*list)));
-       assert(syscall(__NR_getgroups, size, list) == size);
-       return 0;
-}
-
-#else
-
-SKIP_MAIN_UNDEFINED("(__NR_getuid || __NR_getxuid)"
-                   " && __NR_setuid && __NR_getresuid && __NR_setreuid"
-                   " && __NR_setresuid && __NR_fchown && __NR_getgroups")
-
-#endif
diff --git a/tests/uid.test b/tests/uid.test
deleted file mode 100755 (executable)
index 9c5a97f..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-# Check uid decoding.
-
-. "${srcdir=.}/init.sh"
-
-s="${uid_syscall_suffix-}"
-w="${uid_t_size-}"
-
-run_prog ./uid$s$w
-
-case "$STRACE_ARCH" in
-       alpha) getuid=getxuid ;;
-       *) getuid=getuid ;;
-esac
-
-syscalls="$getuid$s,setuid$s,getresuid$s,setreuid$s,setresuid$s,fchown$s,getgroups$s"
-run_strace -e trace="$syscalls" $args
-
-AWK=gawk
-match_awk "$LOG" "$srcdir"/uid.awk "$STRACE $args output mismatch" -v suffix="$s"
-
-exit 0
diff --git a/tests/uid16.c b/tests/uid16.c
deleted file mode 100644 (file)
index bc71387..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "tests.h"
-#include <sys/syscall.h>
-
-#if defined(__NR_getuid) \
- && defined(__NR_setuid) \
- && defined(__NR_getresuid) \
- && defined(__NR_setreuid) \
- && defined(__NR_setresuid) \
- && defined(__NR_fchown) \
- && defined(__NR_getgroups) \
- \
- && defined(__NR_getuid32) \
- && defined(__NR_setuid32) \
- && defined(__NR_getresuid32) \
- && defined(__NR_setreuid32) \
- && defined(__NR_setresuid32) \
- && defined(__NR_fchown32) \
- && defined(__NR_getgroups32) \
- \
- && __NR_getuid != __NR_getuid32 \
- && __NR_setuid != __NR_setuid32 \
- && __NR_getresuid != __NR_getresuid32 \
- && __NR_setreuid != __NR_setreuid32 \
- && __NR_setresuid != __NR_setresuid32 \
- && __NR_fchown != __NR_fchown32 \
- && __NR_getgroups != __NR_getgroups32 \
- /**/
-
-# include <assert.h>
-# include <stdlib.h>
-# include <unistd.h>
-# include <fcntl.h>
-
-int
-main(void)
-{
-       int uid;
-       int size;
-       int *list = 0;
-
-       uid = syscall(__NR_getuid);
-       check_overflowuid(uid);
-
-       assert(syscall(__NR_setuid, uid) == 0);
-       {
-               /*
-                * uids returned by getresuid should be ignored
-                * to avoid 16bit vs 32bit issues.
-                */
-               int r, e, s;
-               assert(syscall(__NR_getresuid, &r, &e, &s) == 0);
-       }
-       assert(syscall(__NR_setreuid, -1, 0xffff) == 0);
-       assert(syscall(__NR_setresuid, uid, -1, 0xffff) == 0);
-       assert(syscall(__NR_fchown, 1, -1, 0xffff) == 0);
-       assert((size = syscall(__NR_getgroups, 0, list)) >= 0);
-       assert(list = calloc(size + 1, sizeof(*list)));
-       assert(syscall(__NR_getgroups, size, list) == size);
-       return 0;
-}
-
-#else
-
-SKIP_MAIN_UNDEFINED("__NR_getuid && __NR_setuid && __NR_getresuid"
-                   " && __NR_setreuid && __NR_setresuid"
-                   " && __NR_fchown && __NR_getgroups"
-                   " && __NR_getuid32 && __NR_setuid32 && __NR_getresuid32"
-                   " && __NR_setreuid32 && __NR_setresuid32"
-                   " && __NR_fchown32 && __NR_getgroups32")
-
-#endif
diff --git a/tests/uid16.test b/tests/uid16.test
deleted file mode 100755 (executable)
index b9da79d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check uid16_t decoding.
-
-uid_t_size=16
-
-. "${srcdir=.}/uid.test"
diff --git a/tests/uid32.c b/tests/uid32.c
deleted file mode 100644 (file)
index 9c30d92..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "tests.h"
-#include <sys/syscall.h>
-
-#if defined(__NR_getuid32) \
- && defined(__NR_setuid32) \
- && defined(__NR_getresuid32) \
- && defined(__NR_setreuid32) \
- && defined(__NR_setresuid32) \
- && defined(__NR_fchown32) \
- && defined(__NR_getgroups32)
-
-# include <assert.h>
-# include <stdlib.h>
-# include <unistd.h>
-
-int
-main(void)
-{
-       int r, e, s;
-       int size;
-       int *list = 0;
-
-       r = syscall(__NR_getuid32);
-       assert(syscall(__NR_setuid32, r) == 0);
-       assert(syscall(__NR_getresuid32, &r, &e, &s) == 0);
-       assert(syscall(__NR_setreuid32, -1, -1L) == 0);
-       assert(syscall(__NR_setresuid32, r, -1, -1L) == 0);
-       assert(syscall(__NR_fchown32, 1, -1, -1L) == 0);
-       assert((size = syscall(__NR_getgroups32, 0, list)) >= 0);
-       assert(list = calloc(size + 1, sizeof(*list)));
-       assert(syscall(__NR_getgroups32, size, list) == size);
-       return 0;
-}
-
-#else
-
-SKIP_MAIN_UNDEFINED("__NR_getuid32 && __NR_setuid32 && __NR_getresuid32"
-                   " && __NR_setreuid32 && __NR_setresuid32"
-                   " && __NR_fchown32 && __NR_getgroups32")
-
-#endif
diff --git a/tests/uid32.test b/tests/uid32.test
deleted file mode 100755 (executable)
index 82ba9b7..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check uid32 decoding.
-
-uid_syscall_suffix=32
-
-. "${srcdir=.}/uid.test"