From a3494762925e5a42a42ce82c688f62f163ffad1b Mon Sep 17 00:00:00 2001 From: Marcin Owsiany Date: Sun, 9 Sep 2012 12:13:20 +0100 Subject: Make it possible to pass perl code to autoscript. The shell-quoted sed code passed as parameter 4 is fragile (see Bug#665296). Make it possible to pass a sub that operates on each line via $_ instead. Also add a basic unit test for Dh_Lib, for now just with tests for autoscript. --- t/dh-lib | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 t/dh-lib (limited to 't') diff --git a/t/dh-lib b/t/dh-lib new file mode 100755 index 00000000..772b1a1e --- /dev/null +++ b/t/dh-lib @@ -0,0 +1,31 @@ +#!/usr/bin/perl +package Debian::Debhelper::Dh_Lib::Test; +use strict; +use warnings; +use Test::More; + +plan(tests => 10); + +use_ok('Debian::Debhelper::Dh_Lib'); + +sub ok_autoscript_result { + ok(-f 'debian/testpackage.postinst.debhelper'); + open(F, 'debian/testpackage.postinst.debhelper') or die; + my (@c) = ; + close(F) or die; + like(join('',@c), qr{update-rc\.d test-script test parms with"quote >/dev/null}); +} + +ok(unlink('debian/testpackage.postinst.debhelper') >= 0); + +ok(autoscript('testpackage', 'postinst', 'postinst-init', + 's/#SCRIPT#/test-script/g; s/#INITPARMS#/test parms with\\"quote/g')); +ok_autoscript_result; + +ok(unlink('debian/testpackage.postinst.debhelper') >= 0); + +ok(autoscript('testpackage', 'postinst', 'postinst-init', + sub { s/#SCRIPT#/test-script/g; s/#INITPARMS#/test parms with"quote/g } )); +ok_autoscript_result; + +ok(unlink('debian/testpackage.postinst.debhelper') >= 0); -- cgit v1.2.3