diff options
author | Karel Zak | 2007-11-28 12:52:59 +0100 |
---|---|---|
committer | Karel Zak | 2007-11-28 12:52:59 +0100 |
commit | 1f5641f97958c0e04ed5ddf2b0d84fe38f5d325f (patch) | |
tree | bdbe678a8efc939d68e38395985e071917499656 /tests | |
parent | tests: move test_bkdev to lib/ (diff) | |
download | kernel-qcow2-util-linux-1f5641f97958c0e04ed5ddf2b0d84fe38f5d325f.tar.gz kernel-qcow2-util-linux-1f5641f97958c0e04ed5ddf2b0d84fe38f5d325f.tar.xz kernel-qcow2-util-linux-1f5641f97958c0e04ed5ddf2b0d84fe38f5d325f.zip |
tests: add test for include/pathnames.h
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/commands.sh.in | 1 | ||||
-rw-r--r-- | tests/expected/ts-include-pathnames | 34 | ||||
-rw-r--r-- | tests/helpers/Makefile.am | 2 | ||||
-rw-r--r-- | tests/helpers/test_pathnames.c | 99 | ||||
-rwxr-xr-x | tests/ts-include-pathnames | 29 |
5 files changed, 164 insertions, 1 deletions
diff --git a/tests/commands.sh.in b/tests/commands.sh.in index 4963f103c..6035547a3 100644 --- a/tests/commands.sh.in +++ b/tests/commands.sh.in @@ -8,6 +8,7 @@ TS_TESTUSER=${TS_TESTUSER:-"test"} # helpers TS_HELPER_SYSINFO="$TS_TOPDIR/helpers/test_sysinfo" +TS_HELPER_PATHS="$TS_TOPDIR/helpers/test_pathnames" # external commands TS_ECMD_BLKID="@BLKID@" diff --git a/tests/expected/ts-include-pathnames b/tests/expected/ts-include-pathnames new file mode 100644 index 000000000..55b6f17a3 --- /dev/null +++ b/tests/expected/ts-include-pathnames @@ -0,0 +1,34 @@ + _PATH_DEFPATH /usr/local/bin:/bin:/usr/bin + _PATH_DEFPATH_ROOT /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + _PATH_TTY /dev/tty + SECURETTY /etc/securetty + _PATH_WTMPLOCK /etc/wtmplock + _PATH_HUSHLOGIN .hushlogin + _PATH_MAILDIR /var/mail + _PATH_MOTDFILE /etc/motd + _PATH_NOLOGIN /etc/nologin + _PATH_LOGIN /bin/login + _PATH_INITTAB /etc/inittab + _PATH_RC /etc/rc + _PATH_REBOOT /sbin/reboot + _PATH_SINGLE /etc/singleboot + _PATH_SHUTDOWN_CONF /etc/shutdown.conf + _PATH_SECURE /etc/securesingle + _PATH_USERTTY /etc/usertty + _PATH_MTAB /etc/mtab + _PATH_UMOUNT /bin/umount + _PATH_PASSWD /etc/passwd + _PATH_GSHADOW /etc/gshadow + _PATH_PTMP /etc/ptmp + _PATH_PTMPTMP /etc/ptmptmp + _PATH_GROUP /etc/group + _PATH_GTMP /etc/gtmp + _PATH_GTMPTMP /etc/gtmptmp + _PATH_SHADOW_PASSWD /etc/shadow + _PATH_SHADOW_PTMP /etc/sptmp +_PATH_SHADOW_PTMPTMP /etc/sptmptmp + _PATH_SHADOW_GROUP /etc/gshadow + _PATH_SHADOW_GTMP /etc/sgtmp +_PATH_SHADOW_GTMPTMP /etc/sgtmptmp + _PATH_WORDS /usr/share/dict/words + _PATH_WORDS_ALT /usr/share/dict/web2 diff --git a/tests/helpers/Makefile.am b/tests/helpers/Makefile.am index 933a6d5ec..24dcd2afa 100644 --- a/tests/helpers/Makefile.am +++ b/tests/helpers/Makefile.am @@ -1,4 +1,4 @@ include $(top_srcdir)/config/include-Makefile.am -noinst_PROGRAMS = test_sysinfo +noinst_PROGRAMS = test_sysinfo test_pathnames diff --git a/tests/helpers/test_pathnames.c b/tests/helpers/test_pathnames.c new file mode 100644 index 000000000..b44a60278 --- /dev/null +++ b/tests/helpers/test_pathnames.c @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2007 Karel Zak <kzak@redhat.com> + * + * This file is part of util-linux-ng. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include "pathnames.h" + +struct hlpPath +{ + const char *name; + const char *path; +}; + +#define DEF_HLPPATH(_p) { #_p, _p } + +struct hlpPath paths[] = +{ + DEF_HLPPATH(_PATH_DEFPATH), + DEF_HLPPATH(_PATH_DEFPATH_ROOT), + DEF_HLPPATH(_PATH_TTY), + DEF_HLPPATH(SECURETTY), + DEF_HLPPATH(_PATH_WTMPLOCK), + DEF_HLPPATH(_PATH_HUSHLOGIN), + DEF_HLPPATH(_PATH_MAILDIR), + DEF_HLPPATH(_PATH_MOTDFILE), + DEF_HLPPATH(_PATH_NOLOGIN), + DEF_HLPPATH(_PATH_LOGIN), + DEF_HLPPATH(_PATH_INITTAB), + DEF_HLPPATH(_PATH_RC), + DEF_HLPPATH(_PATH_REBOOT), + DEF_HLPPATH(_PATH_SINGLE), + DEF_HLPPATH(_PATH_SHUTDOWN_CONF), + DEF_HLPPATH(_PATH_SECURE), + DEF_HLPPATH(_PATH_USERTTY), + DEF_HLPPATH(_PATH_MTAB), + DEF_HLPPATH(_PATH_UMOUNT), + DEF_HLPPATH(_PATH_PASSWD), + DEF_HLPPATH(_PATH_GSHADOW), + DEF_HLPPATH(_PATH_PTMP), + DEF_HLPPATH(_PATH_PTMPTMP), + DEF_HLPPATH(_PATH_GROUP), + DEF_HLPPATH(_PATH_GTMP), + DEF_HLPPATH(_PATH_GTMPTMP), + DEF_HLPPATH(_PATH_SHADOW_PASSWD), + DEF_HLPPATH(_PATH_SHADOW_PTMP), + DEF_HLPPATH(_PATH_SHADOW_PTMPTMP), + DEF_HLPPATH(_PATH_SHADOW_GROUP), + DEF_HLPPATH(_PATH_SHADOW_GTMP), + DEF_HLPPATH(_PATH_SHADOW_GTMPTMP), + DEF_HLPPATH(_PATH_WORDS), + DEF_HLPPATH(_PATH_WORDS_ALT), + { NULL, NULL } +}; + +int +main(int argc, char **argv) +{ + struct hlpPath *p; + + if (argc == 1) { + for (p = paths; p->name; p++) + printf("%20s %s\n", p->name, p->path); + exit(EXIT_SUCCESS); + } else { + if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-h") == 0) { + printf("%s <option>\n", argv[0]); + fputs("options:\n", stdout); + for (p = paths; p->name; p++) + printf("\t%s\n", p->name); + exit(EXIT_SUCCESS); + } + + for (p = paths; p->name; p++) { + if (strcmp(p->name, argv[1]) == 0) { + printf("%s\n", p->path); + exit(EXIT_SUCCESS); + } + } + } + + exit(EXIT_FAILURE); +} + diff --git a/tests/ts-include-pathnames b/tests/ts-include-pathnames new file mode 100755 index 000000000..fbf1fdaa4 --- /dev/null +++ b/tests/ts-include-pathnames @@ -0,0 +1,29 @@ +#!/bin/bash + +# +# Copyright (C) 2007 Karel Zak <kzak@redhat.com> +# +# This file is part of util-linux-ng. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +. ./commands.sh +. ./functions.sh + +TS_COMPONENT="include" +TS_DESC="basic paths" + +ts_init "$*" + +$TS_HELPER_PATHS &> $TS_OUTPUT + +ts_finalize + |