1
0
mirror of synced 2026-01-11 23:42:56 +00:00

Make t/hooks-inittab.t using its own inittab copy

Don't use the system's one. Besides being non-existent, it can look
like whatever.

This resolves GH-36.
This commit is contained in:
Axel Beckert 2015-12-16 18:01:38 +01:00
parent 3169cc49b7
commit b16fe28925
4 changed files with 88 additions and 4 deletions

3
debian/changelog vendored
View File

@ -6,6 +6,9 @@ xen-tools (4.6.2~dev-1) UNRELEASED; urgency=medium
[ nirgal ]
+ Fixed typo in initramfs comment
* Support checking upstream GPG signature in debian/watch.
* Make t/hooks-inittab.t using its own copy of the generic /etc/inittab
for testing instead of using the system one's. (GH#36, should fix
autopkgtest on systems with modified /etc/inittab)
-- Axel Beckert <abe@debian.org> Sat, 24 Oct 2015 02:37:47 +0200

12
debian/copyright vendored
View File

@ -25,3 +25,15 @@ Perl is distributed under licenses:
On Debian GNU/Linux systems, the complete text of the GNU General
Public License can be found in /usr/share/common-licenses/GPL-1' and
the Artistic Licence in /usr/share/common-licenses/Artistic'.
t/data/inittab is Copyright 1997-2005 Miquel van Smoorenburg
<miquels@cistron.nl> and the members pkg-sysvinit project.
This program 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.
On Debian GNU/Linux systems, the complete text of the GNU General
Public License version 2 can be found in
/usr/share/common-licenses/GPL-2'.

68
t/data/inittab Normal file
View File

@ -0,0 +1,68 @@
# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
# The default runlevel.
id:2:initdefault:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin
# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop
# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
# <id>:<runlevels>:<action>:<process>
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
# Example how to put a getty on a modem line.
#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3

View File

@ -11,12 +11,13 @@ use Test::More;
use File::Temp;
use File::Copy;
my $example_inittab = 't/data/inittab';
my $hook_dir = $ENV{AS_INSTALLED_TESTING} ? '/usr/share/xen-tools' : 'hooks';
#
# Check if build system has /etc/inittab.
# Check if example inittab is present, else bail out
#
if (-e "/etc/inittab") {
if (-e $example_inittab) {
#
# Rather than having a hardwired list of distributions to test
# against we look for subdirectories beneath hooks/ and test each
@ -38,7 +39,7 @@ if (-e "/etc/inittab") {
}
}
} else {
plan skip_all => '/etc/inittab not present';
BAIL_OUT("$example_inittab not found, source distribution seems incomplete");
}
done_testing();
@ -52,7 +53,7 @@ sub testHook
#
my $dir = File::Temp::tempdir( CLEANUP => 1 );
mkdir( $dir . "/etc", 0777 );
File::Copy::cp( "/etc/inittab", $dir . "/etc" );
File::Copy::cp( $example_inittab, $dir . "/etc" );
#
# Make sure that worked.