From 59d50388e3be8229bfb3388d9cfcfe50aebb6b58 Mon Sep 17 00:00:00 2001 From: Dmitry Bogatov Date: Wed, 20 Mar 2019 12:23:23 +0000 Subject: Write test suite for #924903 --- t/.gitignore | 2 ++ t/924903.t | 31 +++++++++++++++++++++++++++++++ t/base/default/debian/changelog | 5 +++++ t/base/default/debian/compat | 1 + t/base/default/debian/control | 11 +++++++++++ t/base/default/debian/rules | 4 ++++ t/base/default/debian/test.runscript | 3 +++ 7 files changed, 57 insertions(+) create mode 100644 t/.gitignore create mode 100644 t/924903.t create mode 100644 t/base/default/debian/changelog create mode 100644 t/base/default/debian/compat create mode 100644 t/base/default/debian/control create mode 100644 t/base/default/debian/rules create mode 100755 t/base/default/debian/test.runscript diff --git a/t/.gitignore b/t/.gitignore new file mode 100644 index 0000000..02da7f6 --- /dev/null +++ b/t/.gitignore @@ -0,0 +1,2 @@ +*/ +!base/ diff --git a/t/924903.t b/t/924903.t new file mode 100644 index 0000000..92ca4b0 --- /dev/null +++ b/t/924903.t @@ -0,0 +1,31 @@ +#!/usr/bin/perl +use strict; +use warnings; +use Test::More tests => 3; +use File::Path qw(remove_tree); +use File::Copy::Recursive qw(dircopy); +use File::stat; + +sub prepare_source_package { + die '$0 does not match expected format' + unless ($0 =~ m#t/([0-9]+)\.t#); + my $number = $1; + my $srcdir = (-d "t/base/${number}") ? "t/base/${number}" : "t/base/default"; + my $testdir = "t/${number}"; + dircopy($srcdir, $testdir); + chdir($testdir); + return $testdir; +} + +sub system_ok { + ok(system(@_) == 0, "external command @_"); +} + +prepare_source_package(); + +system_ok('dh_runit', 'debian/test.runscript', 'name=test'); +my $path = 'debian/dh-runit-test/var/lib/runit/supervise/test'; +ok(-d $path, 'supervise directory correctly created'); +my $info = stat($path); +my $mode = sprintf("%o", $info->mode & 0777); +is($mode, '700', 'supervise directory have conservative permissions'); diff --git a/t/base/default/debian/changelog b/t/base/default/debian/changelog new file mode 100644 index 0000000..94fbeaf --- /dev/null +++ b/t/base/default/debian/changelog @@ -0,0 +1,5 @@ +dh-runit-test (1.0) unstable; urgency=medium + + * Initial release. + + -- Dmitry Bogatov Wed, 20 Mar 2019 11:29:25 +0000 diff --git a/t/base/default/debian/compat b/t/base/default/debian/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/t/base/default/debian/compat @@ -0,0 +1 @@ +11 diff --git a/t/base/default/debian/control b/t/base/default/debian/control new file mode 100644 index 0000000..a4629ca --- /dev/null +++ b/t/base/default/debian/control @@ -0,0 +1,11 @@ +Source: dh-runit-test +Section: devel +Priority: optional +Maintainer: Dmitry Bogatov +Build-Depends: dh-runit +Standards-Version: 4.3.0 + +Package: dh-runit-test +Architecture: all +Depends: ${misc:Depends}, ${shlibs:Depends} +Descriptions: test package for dh_runit behaviour diff --git a/t/base/default/debian/rules b/t/base/default/debian/rules new file mode 100644 index 0000000..a57c3e7 --- /dev/null +++ b/t/base/default/debian/rules @@ -0,0 +1,4 @@ +#!/usr/bin/make -f + +%: + dh $@ --with runit diff --git a/t/base/default/debian/test.runscript b/t/base/default/debian/test.runscript new file mode 100755 index 0000000..6f6aaea --- /dev/null +++ b/t/base/default/debian/test.runscript @@ -0,0 +1,3 @@ +#!/bin/sh -eu +echo 'I am dummy runscript!' +exec tail -f /dev/null -- cgit v1.2.3