forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-perl/Audio-Mixer: Fixup testing and cruft files
- EAPI6 - Don't install volume.pl to @inc - Add USE=examples - Add some basic tests without needing the soundcard - Properly fence and advertise tests - Replace upstreams tests with better ones that fail when things break. - Apply clang patch Package-Manager: Portage-2.3.8, Repoman-2.3.3
- Loading branch information
1 parent
9596fac
commit 1ff2833
Showing
4 changed files
with
234 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
DIST_AUTHOR=SERGEY | ||
DIST_VERSION=0.7 | ||
DIST_EXAMPLES=("eg/*") | ||
inherit perl-module | ||
|
||
DESCRIPTION="Perl extension for Sound Mixer control" | ||
|
||
SLOT="0" | ||
KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86" | ||
IUSE="" | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${P}-volumepl.patch" | ||
"${FILESDIR}/${P}-clang.patch" | ||
"${FILESDIR}/${P}-testsuite.patch" | ||
) | ||
|
||
src_test() { | ||
local MODULES=( | ||
"Audio::Mixer ${DIST_VERSION}" | ||
) | ||
local failed=() | ||
for dep in "${MODULES[@]}"; do | ||
ebegin "Compile testing ${dep}" | ||
perl -Mblib="${S}" -M"${dep} ()" -e1 | ||
eend $? || failed+=( "$dep" ) | ||
done | ||
if [[ ${failed[@]} ]]; then | ||
echo | ||
eerror "One or more modules failed compile:"; | ||
for dep in "${failed[@]}"; do | ||
eerror " ${dep}" | ||
done | ||
die "Failing due to module compilation errors"; | ||
fi | ||
if [[ "${AUDIO_MIXER_HW_TEST:-0}" == 0 ]]; then | ||
ewarn "Comprehensive testing of this module needs hardware access to mixing" | ||
ewarn "devices. Set AUDIO_MIXER_HW_TEST=1 in your environment if you want full" | ||
ewarn "coverage" | ||
ewarn "For details, see:" | ||
ewarn "https://wiki.gentoo.org/wiki/Project:Perl/maint-notes/dev-perl/Audio-Mixer" | ||
else | ||
perl-module_src_test | ||
fi | ||
} |
27 changes: 27 additions & 0 deletions
27
dev-perl/Audio-Mixer/files/Audio-Mixer-0.700.0-clang.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
From 6390829e5e60019b464d1fe83fb448ea54604170 Mon Sep 17 00:00:00 2001 | ||
From: gregor herrmann <[email protected]> | ||
Date: Wed, 26 Mar 2014 05:44:25 +1300 | ||
Subject: Fix building with clang | ||
|
||
Bug: https://rt.cpan.org/Ticket/Display.html?id=94186 | ||
Bug: https://bugs.debian.org/742537 | ||
--- | ||
Mix.c | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
diff --git a/Mix.c b/Mix.c | ||
index 108153e..8b4284b 100644 | ||
--- a/Mix.c | ||
+++ b/Mix.c | ||
@@ -78,7 +78,7 @@ close_mixer() { | ||
#ifdef DEBUG | ||
fprintf(stderr, "close_mixer()\n"); | ||
#endif | ||
- if (mixer_fd < 0) return; | ||
+ if (mixer_fd < 0) return(0); | ||
close(mixer_fd); | ||
init_flag = 0; | ||
mixer_fd = -1; | ||
-- | ||
2.14.2 | ||
|
124 changes: 124 additions & 0 deletions
124
dev-perl/Audio-Mixer/files/Audio-Mixer-0.700.0-testsuite.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
From a3117d0b6a9e79f11e69362c42205bc548f6c754 Mon Sep 17 00:00:00 2001 | ||
From: Kent Fredric <[email protected]> | ||
Date: Fri, 13 Oct 2017 09:43:01 +1300 | ||
Subject: Rework test suite to be useful | ||
|
||
Bug: https://rt.cpan.org/Ticket/Display.html?id=31547 | ||
--- | ||
MANIFEST | 2 +- | ||
t/basic.t | 23 +++++++++++++++++++++++ | ||
test.pl | 60 ------------------------------------------------------------ | ||
3 files changed, 24 insertions(+), 61 deletions(-) | ||
create mode 100644 t/basic.t | ||
delete mode 100644 test.pl | ||
|
||
diff --git a/MANIFEST b/MANIFEST | ||
index d15c4ab..b713e9a 100644 | ||
--- a/MANIFEST | ||
+++ b/MANIFEST | ||
@@ -5,6 +5,6 @@ Mix.c | ||
Mix.h | ||
Mixer.pm | ||
Mixer.xs | ||
-test.pl | ||
+t/basic.t | ||
eg/volume.pl | ||
README | ||
diff --git a/t/basic.t b/t/basic.t | ||
new file mode 100644 | ||
index 0000000..53448d2 | ||
--- /dev/null | ||
+++ b/t/basic.t | ||
@@ -0,0 +1,23 @@ | ||
+use strict; | ||
+use warnings; | ||
+ | ||
+use Test::More tests => 7; | ||
+ | ||
+require_ok("Audio::Mixer"); | ||
+ | ||
+is( Audio::Mixer::init_mixer(), 0, "Initialize Mixer" ); | ||
+ | ||
+my ( @old ) = Audio::Mixer::get_cval('vol'); | ||
+cmp_ok( scalar @old, ">", 0 , "Got existing volume levels"); | ||
+ | ||
+Audio::Mixer::set_cval('vol', 50); | ||
+my ( @new ) = Audio::Mixer::get_cval('vol'); | ||
+is( $new[0], 50, "Set left channel to 50"); | ||
+is( $new[1], 50, "Set right channel to 50"); | ||
+ | ||
+Audio::Mixer::set_cval('vol', $old[0], $old[1]); | ||
+my ( @final ) = Audio::Mixer::get_cval('vol'); | ||
+is( $final[0], $old[0], "Restored left channel"); | ||
+is( $final[1], $old[1], "Restored right channel"); | ||
+ | ||
+done_testing; | ||
diff --git a/test.pl b/test.pl | ||
deleted file mode 100644 | ||
index af1f214..0000000 | ||
--- a/test.pl | ||
+++ /dev/null | ||
@@ -1,60 +0,0 @@ | ||
-# Before `make install' is performed this script should be runnable with | ||
-# `make test'. After `make install' it should work as `perl test.pl' | ||
- | ||
-######################### We start with some black magic to print on failure. | ||
- | ||
-# Change 1..1 below to 1..last_test_to_print . | ||
-# (It may become useful if the test is moved to ./t subdirectory.) | ||
- | ||
-BEGIN { $| = 1; print "1..1\n"; } | ||
-END {print "not ok 1\n" unless $loaded;} | ||
-use Audio::Mixer; | ||
-$loaded = 1; | ||
-print "ok 1\n"; | ||
- | ||
-######################### End of black magic. | ||
- | ||
-# Insert your test code below (better if it prints "ok 13" | ||
-# (correspondingly "not ok 13") depending on the success of chunk 13 | ||
-# of the test code): | ||
- | ||
-print STDERR "Opening mixer... "; | ||
-$ret = Audio::Mixer::init_mixer(); | ||
-print STDERR $ret ? "FAILED.\n" : "Ok.\n"; | ||
- | ||
-print STDERR "Getting the volume... "; | ||
-my @old = Audio::Mixer::get_cval('vol'); | ||
-print STDERR join(', ', @old)." Ok.\nSetting to 50... "; | ||
-Audio::Mixer::set_cval('vol', 50); | ||
-my @ret = Audio::Mixer::get_cval('vol'); | ||
-print STDERR ($ret[0] == 50 && $ret[1] == 50) ? "Ok.\nResetting back... " : | ||
- "FAILED.\nTrying to reset back... "; | ||
-Audio::Mixer::set_cval('vol', $old[0], $old[1]); | ||
-@ret = Audio::Mixer::get_cval('vol'); | ||
-print STDERR ($ret[0] == $old[0] && $ret[1] == $old[1]) ? | ||
- "Ok.\n" : "FAILED.\n"; | ||
- | ||
-#my $ret = Mixer::get_cval('vol'); | ||
-#printf "get_cval() vol=0x%x\n", $ret; | ||
- | ||
-#$ret = Mixer::set_cval('vol', 50); | ||
-#print "set_cval returns $ret\n"; | ||
- | ||
-#@ret = Mixer::get_cval('vol'); | ||
-#print "get_cval() vol=".join(', ', @ret)."\n"; | ||
-#$ret = Mixer::get_cval('vol'); | ||
-#printf "get_cval() vol=0x%x\n", $ret; | ||
- | ||
- | ||
-#$ret = Mixer::get_param_val('vol'); | ||
-#printf "get_param_val() vol=0x%x\n", $ret; | ||
- | ||
-#$ret = Mixer::set_param_val('vol', 20, 50); | ||
-#print "set_param_val returns $ret\n"; | ||
- | ||
-#$ret = Mixer::get_param_val('vol'); | ||
-#printf "get_param_val() vol=0x%x\n", $ret; | ||
- | ||
-#@ret = Mixer::get_mixer_params(); | ||
-#print "== ".join(',', @ret)." ==\n"; | ||
- | ||
-- | ||
2.14.2 | ||
|
33 changes: 33 additions & 0 deletions
33
dev-perl/Audio-Mixer/files/Audio-Mixer-0.700.0-volumepl.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
From 695556cfe22cdcec13f2dc206abcc425f7168519 Mon Sep 17 00:00:00 2001 | ||
From: Kent Fredric <[email protected]> | ||
Date: Fri, 13 Oct 2017 08:41:59 +1300 | ||
Subject: Prevent volume.pl being installed to @INC | ||
|
||
$DISTROOT/*.pl get installed as Audio/*.pl, due to the historical use | ||
use of ".pl" to indicate "perl library" in Perl 4 and older. | ||
|
||
Bug: https://rt.cpan.org/Ticket/Display.html?id=123258 | ||
--- | ||
MANIFEST | 2 +- | ||
volume.pl => eg/volume.pl | 0 | ||
2 files changed, 1 insertion(+), 1 deletion(-) | ||
rename volume.pl => eg/volume.pl (100%) | ||
|
||
diff --git a/MANIFEST b/MANIFEST | ||
index 627c3fe..d15c4ab 100644 | ||
--- a/MANIFEST | ||
+++ b/MANIFEST | ||
@@ -6,5 +6,5 @@ Mix.h | ||
Mixer.pm | ||
Mixer.xs | ||
test.pl | ||
-volume.pl | ||
+eg/volume.pl | ||
README | ||
diff --git a/volume.pl b/eg/volume.pl | ||
similarity index 100% | ||
rename from volume.pl | ||
rename to eg/volume.pl | ||
-- | ||
2.14.2 | ||
|