changeset 118:3f2e4077fcbb

2009-09-11 Omair Majid <omajid@redhat.com> * README: Added build instructions. * build.xml: Updated the file to build everything and run all the tests * unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java (testHeadphonePortExists): Added the @Ignore tag. Ignore this test. (testSpeakerPortExists): Likewise. (testLineInPortExists): Likewise. (testCdPortExists): Likewise. (testLineOutPortExists): Likewise. (testMicrophoneExists): Likewise.
author Omair Majid <omajid@redhat.com>
date Thu, 11 Sep 2008 16:49:43 -0400
parents 850570c7af31
children 9eb090e7c22c
files README build.xml unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java
diffstat 3 files changed, 78 insertions(+), 43 deletions(-) [+]
line wrap: on
line diff
--- a/README	Thu Sep 11 15:06:49 2008 -0400
+++ b/README	Thu Sep 11 16:49:43 2008 -0400
@@ -2,6 +2,19 @@
 An audio SPI implementation for java that uses PulseAudio as a mixer 
 (so as a bonus you get all of the ear candy that PulseAudio provides)
 
+How To Build?
+
+  autoreconf && ./configure && ant && make
+
+Note: Building requires PulseAudio 0.9.12 and java-devel etc..
+  
+How To Run the Tests?
+
+After building, do:
+  
+  ant test
+
+  (a few tests might fail; they test the networking capabilities of PulseAudio 
 
 Where does it come from?
 All of the code was written by the authors
--- a/build.xml	Thu Sep 11 15:06:49 2008 -0400
+++ b/build.xml	Thu Sep 11 16:49:43 2008 -0400
@@ -1,71 +1,86 @@
 <project default="all">
 
-	<property name="classdir" value="classes"/>
-	<property name="sourcedir" value="src/java"/>
-	<property name="headerdir" value="src/native"/>
-	<property name="pulsejar" value="pulseaudio-java.jar"/>
+	<property name="classdir" value="classes" />
+	<property name="sourcedir" value="src/java" />
+	<property name="headerdir" value="src/native" />
+	<property name="pulsejar" value="pulseaudio-java.jar" />
+
+	<target name="all" depends="compile,headers,jar">
+
+	</target>
 
-	<target name="all" depends="headers,jar">
+	<target name="clean">
+		<delete dir="${classdir}" />
+		<delete dir="${testclassdir}" />
+		<delete file="${pulsejar}" />
+		<!-- Only delete the generated header files -->
+		<delete>
+			<fileset dir="${headerdir}" includes="org_*.h" />
+		</delete>
+	</target>
+
+	<target name="init">
+		<mkdir dir="${classdir}" />
+		<mkdir dir="${testclassdir}" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac srcdir="${sourcedir}" destdir="${classdir}" />
+		<copy todir="${classdir}/META-INF">
+			<fileset dir="${sourcedir}/META-INF" />
+		</copy>
 
 	</target>
 
-    <target name="clean">
-        <delete dir="${classdir}"/>
-		<delete dir="${testclassdir}"/>
-		<delete file="${pulsejar}"/>
-		<!-- Only delete the generated header files -->
-		<delete>
-			<fileset dir="${headerdir}" includes="org_*.h"/>
-		</delete>
-    </target>
-
-	<target name="init">
-		<mkdir dir="${classdir}"/>
-		<mkdir dir="${testclassdir}"/>
+	<target name="jar" depends="compile">
+		<jar destfile="${pulsejar}" basedir="${classdir}">
+		</jar>
 	</target>
 
-    <target name="compile" depends="init">
-        <javac srcdir="${sourcedir}" destdir="${classdir}"/>
-    </target>
-
-    <target name="jar" depends="compile">
-        <jar destfile="${pulsejar}" basedir="${classdir}">
-        </jar>
-    </target>
-
 	<target name="headers" depends="compile">
 		<javah classpath="${classdir}" destdir="${headerdir}" verbose="no" force="yes">
-			<class name="org.classpath.icedtea.pulseaudio.EventLoop"/>
-			<class name="org.classpath.icedtea.pulseaudio.Operation"/>
-			<class name="org.classpath.icedtea.pulseaudio.Stream"/>
-			<class name="org.classpath.icedtea.pulseaudio.PulseAudioSourcePort"/>
-			<class name="org.classpath.icedtea.pulseaudio.PulseAudioTargetPort"/>
+			<class name="org.classpath.icedtea.pulseaudio.EventLoop" />
+			<class name="org.classpath.icedtea.pulseaudio.Operation" />
+			<class name="org.classpath.icedtea.pulseaudio.Stream" />
+			<class name="org.classpath.icedtea.pulseaudio.PulseAudioSourcePort" />
+			<class name="org.classpath.icedtea.pulseaudio.PulseAudioTargetPort" />
 		</javah>
 	</target>
 
-	<!-- TESTS -->	
-	<property name="testclassdir" value="testclasses"/>
-	<property name="testsourcedir" value="unittests"/>
+	<!-- TESTS -->
+	<property name="testclassdir" value="testclasses" />
+	<property name="testsourcedir" value="unittests" />
 
-	<property name="junitjar" value="/home/jsumali/download/junit-4.5.jar"/>
+	<property name="junitjar" value="/usr/share/java/junit4.jar" />
 
 	<target name="compile-tests" depends="init">
-		<javac srcdir="${testsourcedir}" destdir="${testclassdir}" 
-			classpath="${junitjar}:${pulsejar}"/>
+		<javac srcdir="${testsourcedir}" destdir="${testclassdir}" classpath="${junitjar}:${pulsejar}" />
 	</target>
 
 	<target name="jar-tests" depends="compile-tests">
-		<jar destfile="PulseAudio-Tests.jar" basedir="${testclassdir}"/>
+		<jar destfile="PulseAudio-Tests.jar" basedir="${testclassdir}" />
 	</target>
 
-	<target name="test" depends="compile-tests">
-		<junit printsummary="yes" haltonfailure="yes">
+	<target name="test" depends="compile-tests,jar">
+		<junit printsummary="yes" haltonfailure="yes" showoutput="no" fork="yes">
 			<classpath>
-				<pathelement location="${pulsejar}"/>
-				<pathelement path="${junitjar}:${testclassdir}"/>
+				<pathelement location="${pulsejar}" />
+				<pathelement path="${junitjar}:${testclassdir}" />
 			</classpath>
 			<formatter type="plain" />
+
+			<test name="org.classpath.icedtea.pulseaudio.OtherSoundProvidersAvailableTest" />
+			<test name="org.classpath.icedtea.pulseaudio.PulseAudioClipTest" />
+			<test name="org.classpath.icedtea.pulseaudio.PulseAudioEventLoopOverhead" />
+			<test name="org.classpath.icedtea.pulseaudio.PulseAudioMixerProviderTest" />
 			<test name="org.classpath.icedtea.pulseaudio.PulseAudioMixerRawTest" />
+			<test name="org.classpath.icedtea.pulseaudio.PulseAudioMixerTest" />
+			<test name="org.classpath.icedtea.pulseaudio.PulseAudioSourcePortTest" />
+			<test name="org.classpath.icedtea.pulseaudio.PulseAudioTargetDataLineTest" />
+			<test name="org.classpath.icedtea.pulseaudio.PulseAudioTargetPortTest" />
+			<test name="org.classpath.icedtea.pulseaudio.PulseSourceDataLineTest" />
+
+
 		</junit>
 	</target>
 </project>
--- a/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java	Thu Sep 11 15:06:49 2008 -0400
+++ b/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java	Thu Sep 11 16:49:43 2008 -0400
@@ -56,6 +56,7 @@
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 
 public class PulseAudioMixerTest {
@@ -208,36 +209,42 @@
 
 	}
 
+	@Ignore
 	@Test
 	public void testHeadphonePortExists() throws LineUnavailableException {
 		selectedMixer.open();
 		selectedMixer.getLine(Port.Info.HEADPHONE);
 	}
 
+	@Ignore
 	@Test
 	public void testSpeakerPortExists() throws LineUnavailableException {
 		selectedMixer.open();
 		selectedMixer.getLine(Port.Info.SPEAKER);
 	}
 
+	@Ignore
 	@Test
 	public void testLineInPortExists() throws LineUnavailableException {
 		selectedMixer.open();
 		selectedMixer.getLine(Port.Info.LINE_IN);
 	}
 
+	@Ignore
 	@Test
 	public void testCdPortExists() throws LineUnavailableException {
 		selectedMixer.open();
 		selectedMixer.getLine(Port.Info.COMPACT_DISC);
 	}
 
+	@Ignore
 	@Test
 	public void testLineOutPortExists() throws LineUnavailableException {
 		selectedMixer.open();
 		selectedMixer.getLine(Port.Info.LINE_OUT);
 	}
 
+	@Ignore
 	@Test
 	public void testMicrophonePortExists() throws LineUnavailableException {
 		selectedMixer.open();