Index: python.old/tests_examples/aubioonset.py
===================================================================
--- python.old/tests_examples/aubioonset.py	(revision bea5389eb36c37d99fd6cdaf1a4a80c5a03ca4d5)
+++ python.old/tests_examples/aubioonset.py	(revision bea5389eb36c37d99fd6cdaf1a4a80c5a03ca4d5)
@@ -0,0 +1,41 @@
+from template import program_test_case
+
+class aubioonset_unit(program_test_case):
+  
+  import os.path
+  filename = os.path.join('..','..','sounds','woodblock.aiff')
+  progname = os.path.join('..','..','examples','aubioonset')
+
+  def test_aubioonset_with_inf_silence(self):
+    """ test aubioonset with -s 0  """
+    self.command += " -s 0" 
+    self.getOutput()
+    assert len(self.output) == 0, self.output
+
+class aubioonset_unit_finds_onset(aubioonset_unit):
+
+  def test_aubioonset(self):
+    """ test aubioonset with default parameters """
+    self.getOutput()
+    assert len(str(self.output)) != 0, "no output produced with command:\n" \
+      + self.command
+
+  def test_aubioonset_with_no_silence(self):
+    """ test aubioonset with -s -100 """ 
+    self.command += " -s -100 " 
+    self.getOutput()
+    # only one onset in woodblock.aiff
+    self.assertNotEqual(0, len(str(self.output)), \
+      "no output produced with command:\n" + self.command)
+    self.assertEqual(1, len(self.output.split('\n')) )
+    # onset should be at 0.00000
+    self.assertEqual(0, float(self.output.strip()))
+
+list_of_onset_modes = ["energy", "specdiff", "hfc", "complex", "phase", \
+                      "kl", "mkl", "specflux"]
+
+for name in list_of_onset_modes:
+  exec("class aubioonset_"+name+"_unit(aubioonset_unit):\n\
+  options = \" -O "+name+" \"")
+
+if __name__ == '__main__': unittest.main()
Index: python.old/tests_examples/aubiopitch.py
===================================================================
--- python.old/tests_examples/aubiopitch.py	(revision bea5389eb36c37d99fd6cdaf1a4a80c5a03ca4d5)
+++ python.old/tests_examples/aubiopitch.py	(revision bea5389eb36c37d99fd6cdaf1a4a80c5a03ca4d5)
@@ -0,0 +1,69 @@
+from template import *
+
+import os.path
+
+class aubiopitch_test_case(program_test_case):
+
+  import os.path
+  filename = os.path.join('..','..','sounds','woodblock.aiff')
+  progname = "PYTHONPATH=../../python:../../python/aubio/.libs " + \
+              os.path.join('..','..','python','aubiopitch')
+
+  def test_aubiopitch(self):
+    """ test aubiopitch with default parameters """
+    self.getOutput()
+    # FIXME: useless check
+    self.assertEqual(len(self.output.split('\n')), 1)
+    #self.assertEqual(float(self.output.strip()), 0.)
+
+  def test_aubiopitch_verbose(self):
+    """ test aubiopitch with -v parameter """
+    self.command += " -v "
+    self.getOutput()
+    # FIXME: loose checking: make sure at least 8 lines are printed
+    assert len(self.output) >= 8
+
+  def test_aubiopitch_devnull(self):
+    """ test aubiopitch on /dev/null """
+    self.filename = "/dev/null"
+    # exit status should not be 0
+    self.getOutput(expected_status = 256)
+    # and there should be an error message
+    assert len(self.output) > 0
+    # that looks like this 
+    output_lines = self.output.split('\n')
+    #assert output_lines[0] == "Unable to open input file /dev/null."
+    #assert output_lines[1] == "Supported file format but file is malformed."
+    #assert output_lines[2] == "Could not open input file /dev/null."
+
+mode_names = ["yinfft", "yin", "fcomb", "mcomb", "schmitt"]
+for name in mode_names:
+  exec("class aubiopitch_test_case_" + name + "(aubiopitch_test_case):\n\
+    options = \" -m " + name + " \"")
+
+class aubiopitch_test_yinfft(program_test_case):
+
+  filename = os.path.join('..','..','sounds','16568__acclivity__TwoCows.wav')
+  url = "http://www.freesound.org/samplesViewSingle.php?id=16568"
+  progname = "PYTHONPATH=../../python:../../python/aubio/.libs " + \
+              os.path.join('..','..','python','aubiopitch')
+  options  = " -m yinfft -t 0.75 "
+
+  def test_aubiopitch(self):
+    """ test aubiopitch with default parameters """
+    if not os.path.isfile(self.filename):
+      print "Warning: file 16568_acclivity_TwoCows.wav was not found in %s" % os.path.dirname(self.filename) 
+      print "download it from %s to actually run test" % url
+      return
+    self.getOutput()
+    expected_output = open(os.path.join('examples','aubiopitch','yinfft'+'.'+os.path.basename(self.filename)+'.txt')).read()
+    lines = 0
+    for line_out, line_exp in zip(self.output.split('\n'), expected_output.split('\n')):
+      try:
+        assert line_exp == line_out, line_exp + " vs. " + line_out + " at line " + str(lines)
+      except:
+        open(os.path.join('examples','aubiopitch','yinfft'+'.'+os.path.basename(self.filename)+'.txt.out'),'w').write(self.output)
+        raise
+      lines += 1
+
+if __name__ == '__main__': unittest.main()
Index: python.old/tests_examples/aubiopitch/yinfft.16568__acclivity__TwoCows.wav.txt
===================================================================
--- python.old/tests_examples/aubiopitch/yinfft.16568__acclivity__TwoCows.wav.txt	(revision bea5389eb36c37d99fd6cdaf1a4a80c5a03ca4d5)
+++ python.old/tests_examples/aubiopitch/yinfft.16568__acclivity__TwoCows.wav.txt	(revision bea5389eb36c37d99fd6cdaf1a4a80c5a03ca4d5)
@@ -0,0 +1,566 @@
+0.0232199546485	-1.0
+0.0464399092971	-1.0
+0.0696598639456	-1.0
+0.0928798185941	-1.0
+0.116099773243	-1.0
+0.139319727891	-1.0
+0.16253968254	-1.0
+0.185759637188	-1.0
+0.208979591837	-1.0
+0.232199546485	-1.0
+0.255419501134	-1.0
+0.278639455782	-1.0
+0.301859410431	-1.0
+0.325079365079	-1.0
+0.348299319728	-1.0
+0.371519274376	-1.0
+0.394739229025	-1.0
+0.417959183673	-1.0
+0.441179138322	-1.0
+0.464399092971	-1.0
+0.487619047619	-1.0
+0.510839002268	-1.0
+0.534058956916	-1.0
+0.557278911565	-1.0
+0.580498866213	-1.0
+0.603718820862	-1.0
+0.62693877551	-1.0
+0.650158730159	-1.0
+0.673378684807	-1.0
+0.696598639456	-1.0
+0.719818594104	-1.0
+0.743038548753	-1.0
+0.766258503401	-1.0
+0.78947845805	-1.0
+0.812698412698	-1.0
+0.835918367347	-1.0
+0.859138321995	-1.0
+0.882358276644	-1.0
+0.905578231293	-1.0
+0.928798185941	-1.0
+0.95201814059	-1.0
+0.975238095238	-1.0
+0.998458049887	-1.0
+1.02167800454	-1.0
+1.04489795918	-1.0
+1.06811791383	392.768096924
+1.09133786848	115.522140503
+1.11455782313	116.574150085
+1.13777777778	117.720863342
+1.16099773243	120.00163269
+1.18421768707	123.633300781
+1.20743764172	426.787963867
+1.23065759637	141.312179565
+1.25387755102	144.336975098
+1.27709750567	148.604934692
+1.30031746032	150.864654541
+1.32353741497	154.889007568
+1.34675736961	156.505081177
+1.36997732426	158.878829956
+1.39319727891	160.931289673
+1.41641723356	163.155059814
+1.43963718821	324.814025879
+1.46285714286	167.016983032
+1.48607709751	168.871704102
+1.50929705215	170.665634155
+1.5325170068	172.353149414
+1.55573696145	174.764205933
+1.5789569161	176.318893433
+1.60217687075	178.282669067
+1.6253968254	179.82383728
+1.64861678005	181.488952637
+1.67183673469	183.1927948
+1.69505668934	184.449371338
+1.71827664399	185.715484619
+1.74149659864	186.702224731
+1.76471655329	187.907455444
+1.78793650794	188.703475952
+1.81115646259	189.502182007
+1.83437641723	190.250213623
+1.85759637188	190.834747314
+1.88081632653	190.98348999
+1.90403628118	190.847137451
+1.92725623583	190.805847168
+1.95047619048	191.00831604
+1.97369614512	191.377182007
+1.99691609977	191.935241699
+2.02013605442	192.395782471
+2.04335600907	192.534378052
+2.06657596372	192.404174805
+2.08979591837	192.085708618
+2.11301587302	191.410400391
+2.13623582766	191.070388794
+2.15945578231	190.677963257
+2.18267573696	190.020675659
+2.20589569161	189.669265747
+2.22911564626	189.298828125
+2.25233560091	188.546142578
+2.27555555556	186.856491089
+2.2987755102	184.917297363
+2.32199546485	183.044509888
+2.3452154195	181.399368286
+2.36843537415	179.126312256
+2.3916553288	175.22946167
+2.41487528345	171.139190674
+2.4380952381	338.55368042
+2.46131519274	162.799713135
+2.48453514739	320.075500488
+2.50775510204	148.602432251
+2.53097505669	139.503982544
+2.55419501134	340.922271729
+2.57741496599	326.436950684
+2.60063492063	333.484558105
+2.62385487528	-1.0
+2.64707482993	-1.0
+2.67029478458	-1.0
+2.69351473923	-1.0
+2.71673469388	-1.0
+2.73995464853	-1.0
+2.76317460317	-1.0
+2.78639455782	-1.0
+2.80961451247	-1.0
+2.83283446712	-1.0
+2.85605442177	-1.0
+2.87927437642	-1.0
+2.90249433107	-1.0
+2.92571428571	-1.0
+2.94893424036	-1.0
+2.97215419501	-1.0
+2.99537414966	-1.0
+3.01859410431	-1.0
+3.04181405896	-1.0
+3.06503401361	-1.0
+3.08825396825	-1.0
+3.1114739229	-1.0
+3.13469387755	-1.0
+3.1579138322	-1.0
+3.18113378685	-1.0
+3.2043537415	-1.0
+3.22757369615	-1.0
+3.25079365079	-1.0
+3.27401360544	-1.0
+3.29723356009	-1.0
+3.32045351474	-1.0
+3.34367346939	-1.0
+3.36689342404	-1.0
+3.39011337868	-1.0
+3.41333333333	-1.0
+3.43655328798	-1.0
+3.45977324263	-1.0
+3.48299319728	-1.0
+3.50621315193	-1.0
+3.52943310658	-1.0
+3.55265306122	-1.0
+3.57587301587	-1.0
+3.59909297052	-1.0
+3.62231292517	-1.0
+3.64553287982	-1.0
+3.66875283447	-1.0
+3.69197278912	-1.0
+3.71519274376	-1.0
+3.73841269841	-1.0
+3.76163265306	-1.0
+3.78485260771	-1.0
+3.80807256236	-1.0
+3.83129251701	-1.0
+3.85451247166	-1.0
+3.8777324263	-1.0
+3.90095238095	-1.0
+3.9241723356	-1.0
+3.94739229025	-1.0
+3.9706122449	-1.0
+3.99383219955	-1.0
+4.0170521542	-1.0
+4.04027210884	-1.0
+4.06349206349	-1.0
+4.08671201814	-1.0
+4.10993197279	-1.0
+4.13315192744	-1.0
+4.15637188209	-1.0
+4.17959183673	-1.0
+4.20281179138	-1.0
+4.22603174603	-1.0
+4.24925170068	-1.0
+4.27247165533	-1.0
+4.29569160998	-1.0
+4.31891156463	-1.0
+4.34213151927	-1.0
+4.36535147392	-1.0
+4.38857142857	-1.0
+4.41179138322	-1.0
+4.43501133787	-1.0
+4.45823129252	-1.0
+4.48145124717	-1.0
+4.50467120181	-1.0
+4.52789115646	-1.0
+4.55111111111	-1.0
+4.57433106576	-1.0
+4.59755102041	-1.0
+4.62077097506	-1.0
+4.64399092971	-1.0
+4.66721088435	-1.0
+4.690430839	-1.0
+4.71365079365	-1.0
+4.7368707483	-1.0
+4.76009070295	-1.0
+4.7833106576	-1.0
+4.80653061224	-1.0
+4.82975056689	-1.0
+4.85297052154	-1.0
+4.87619047619	-1.0
+4.89941043084	-1.0
+4.92263038549	-1.0
+4.94585034014	-1.0
+4.96907029478	-1.0
+4.99229024943	-1.0
+5.01551020408	-1.0
+5.03873015873	-1.0
+5.06195011338	-1.0
+5.08517006803	-1.0
+5.10839002268	-1.0
+5.13160997732	-1.0
+5.15482993197	-1.0
+5.17804988662	-1.0
+5.20126984127	-1.0
+5.22448979592	-1.0
+5.24770975057	-1.0
+5.27092970522	-1.0
+5.29414965986	-1.0
+5.31736961451	-1.0
+5.34058956916	-1.0
+5.36380952381	-1.0
+5.38702947846	-1.0
+5.41024943311	-1.0
+5.43346938776	-1.0
+5.4566893424	-1.0
+5.47990929705	-1.0
+5.5031292517	-1.0
+5.52634920635	-1.0
+5.549569161	-1.0
+5.57278911565	-1.0
+5.59600907029	-1.0
+5.61922902494	-1.0
+5.64244897959	-1.0
+5.66566893424	-1.0
+5.68888888889	-1.0
+5.71210884354	-1.0
+5.73532879819	-1.0
+5.75854875283	-1.0
+5.78176870748	-1.0
+5.80498866213	-1.0
+5.82820861678	-1.0
+5.85142857143	-1.0
+5.87464852608	-1.0
+5.89786848073	-1.0
+5.92108843537	-1.0
+5.94430839002	-1.0
+5.96752834467	-1.0
+5.99074829932	-1.0
+6.01396825397	-1.0
+6.03718820862	-1.0
+6.06040816327	-1.0
+6.08362811791	-1.0
+6.10684807256	-1.0
+6.13006802721	-1.0
+6.15328798186	-1.0
+6.17650793651	-1.0
+6.19972789116	-1.0
+6.2229478458	-1.0
+6.24616780045	-1.0
+6.2693877551	-1.0
+6.29260770975	-1.0
+6.3158276644	-1.0
+6.33904761905	-1.0
+6.3622675737	-1.0
+6.38548752834	-1.0
+6.40870748299	-1.0
+6.43192743764	-1.0
+6.45514739229	-1.0
+6.47836734694	-1.0
+6.50158730159	187.887435913
+6.52480725624	143.988250732
+6.54802721088	147.904678345
+6.57124716553	151.674087524
+6.59446712018	3221.32983398
+6.61768707483	3159.02587891
+6.64090702948	160.395706177
+6.66412698413	162.535690308
+6.68734693878	164.282516479
+6.71056689342	166.054779053
+6.73378684807	167.578659058
+6.75700680272	169.234619141
+6.78022675737	171.029663086
+6.80344671202	173.257110596
+6.82666666667	174.64654541
+6.84988662132	175.149429321
+6.87310657596	175.456039429
+6.89632653061	176.283660889
+6.91954648526	177.318511963
+6.94276643991	178.066696167
+6.96598639456	178.517211914
+6.98920634921	179.053573608
+7.01242630385	179.549285889
+7.0356462585	180.029403687
+7.05886621315	180.64515686
+7.0820861678	180.8934021
+7.10530612245	180.952774048
+7.1285260771	181.48147583
+7.15174603175	182.092208862
+7.17496598639	183.082504272
+7.19818594104	183.907089233
+7.22140589569	184.607666016
+7.24462585034	185.0181427
+7.26784580499	185.282440186
+7.29106575964	185.946502686
+7.31428571429	186.74571228
+7.33750566893	187.205505371
+7.36072562358	187.595703125
+7.38394557823	187.939483643
+7.40716553288	188.01159668
+7.43038548753	187.807418823
+7.45360544218	187.751464844
+7.47682539683	187.811416626
+7.50004535147	187.951507568
+7.52326530612	188.168029785
+7.54648526077	188.630828857
+7.56970521542	188.946014404
+7.59292517007	189.095901489
+7.61614512472	189.302886963
+7.63936507937	189.673339844
+7.66258503401	189.881591797
+7.68580498866	189.865234375
+7.70902494331	189.865234375
+7.73224489796	189.595870972
+7.75546485261	188.954116821
+7.77868480726	188.192108154
+7.8019047619	187.352645874
+7.82512471655	186.524551392
+7.8483446712	184.967712402
+7.87156462585	183.589355469
+7.8947845805	182.828231812
+7.91800453515	181.968215942
+7.9412244898	180.796981812
+7.96444444444	180.0
+7.98766439909	179.184524536
+8.01088435374	178.799484253
+8.03410430839	178.29347229
+8.05732426304	178.088272095
+8.08054421769	177.894317627
+8.10376417234	177.693618774
+8.12698412698	177.905075073
+8.15020408163	178.041549683
+8.17342403628	178.045135498
+8.19664399093	177.650650024
+8.21986394558	177.32208252
+8.24308390023	176.611938477
+8.26630385488	175.525878906
+8.28952380952	172.121078491
+8.31274376417	584.997009277
+8.33596371882	575.042358398
+8.35918367347	465.681121826
+8.38240362812	447.307037354
+8.40562358277	-1.0
+8.42884353741	-1.0
+8.45206349206	-1.0
+8.47528344671	-1.0
+8.49850340136	-1.0
+8.52172335601	-1.0
+8.54494331066	-1.0
+8.56816326531	-1.0
+8.59138321995	-1.0
+8.6146031746	-1.0
+8.63782312925	-1.0
+8.6610430839	-1.0
+8.68426303855	-1.0
+8.7074829932	-1.0
+8.73070294785	-1.0
+8.75392290249	-1.0
+8.77714285714	-1.0
+8.80036281179	-1.0
+8.82358276644	-1.0
+8.84680272109	-1.0
+8.87002267574	-1.0
+8.89324263039	-1.0
+8.91646258503	-1.0
+8.93968253968	-1.0
+8.96290249433	-1.0
+8.98612244898	-1.0
+9.00934240363	-1.0
+9.03256235828	-1.0
+9.05578231293	-1.0
+9.07900226757	-1.0
+9.10222222222	-1.0
+9.12544217687	-1.0
+9.14866213152	-1.0
+9.17188208617	-1.0
+9.19510204082	-1.0
+9.21832199546	-1.0
+9.24154195011	-1.0
+9.26476190476	-1.0
+9.28798185941	-1.0
+9.31120181406	-1.0
+9.33442176871	-1.0
+9.35764172336	-1.0
+9.380861678	-1.0
+9.40408163265	-1.0
+9.4273015873	-1.0
+9.45052154195	-1.0
+9.4737414966	-1.0
+9.49696145125	-1.0
+9.5201814059	-1.0
+9.54340136054	-1.0
+9.56662131519	-1.0
+9.58984126984	-1.0
+9.61306122449	-1.0
+9.63628117914	-1.0
+9.65950113379	-1.0
+9.68272108844	-1.0
+9.70594104308	-1.0
+9.72916099773	-1.0
+9.75238095238	-1.0
+9.77560090703	-1.0
+9.79882086168	-1.0
+9.82204081633	-1.0
+9.84526077098	-1.0
+9.86848072562	-1.0
+9.89170068027	-1.0
+9.91492063492	-1.0
+9.93814058957	-1.0
+9.96136054422	-1.0
+9.98458049887	-1.0
+10.0078004535	-1.0
+10.0310204082	-1.0
+10.0542403628	-1.0
+10.0774603175	-1.0
+10.1006802721	-1.0
+10.1239002268	-1.0
+10.1471201814	-1.0
+10.1703401361	-1.0
+10.1935600907	-1.0
+10.2167800454	-1.0
+10.24	-1.0
+10.2632199546	-1.0
+10.2864399093	100.193115234
+10.3096598639	-1.0
+10.3328798186	326.038757324
+10.3560997732	104.222053528
+10.3793197279	105.370048523
+10.4025396825	106.595123291
+10.4257596372	107.893875122
+10.4489795918	108.992500305
+10.4721995465	109.93119812
+10.4954195011	110.819335938
+10.5186394558	112.031303406
+10.5418594104	113.389472961
+10.5650793651	114.239830017
+10.5882993197	116.827377319
+10.6115192744	119.250427246
+10.634739229	122.184356689
+10.6579591837	148.222839355
+10.6811791383	150.104660034
+10.704399093	153.361968994
+10.7276190476	155.115112305
+10.7508390023	158.433624268
+10.7740589569	161.372955322
+10.7972789116	163.421096802
+10.8204988662	167.165771484
+10.8437188209	170.329452515
+10.8669387755	173.311584473
+10.8901587302	175.445571899
+10.9133786848	177.304244995
+10.9365986395	179.024490356
+10.9598185941	180.073501587
+10.9830385488	180.826629639
+11.0062585034	181.559936523
+11.029478458	182.487792969
+11.0526984127	183.303192139
+11.0759183673	183.976135254
+11.099138322	184.650161743
+11.1223582766	185.613876343
+11.1455782313	186.123062134
+11.1687981859	186.852523804
+11.1920181406	187.531890869
+11.2152380952	188.232284546
+11.2384580499	189.20135498
+11.2616780045	189.485900879
+11.2848979592	190.094390869
+11.3081179138	190.636749268
+11.3313378685	191.252670288
+11.3545578231	191.647476196
+11.3777777778	192.673187256
+11.4009977324	193.018920898
+11.4242176871	193.641860962
+11.4474376417	194.307373047
+11.4706575964	194.234619141
+11.493877551	194.290252686
+11.5170975057	194.641845703
+11.5403174603	194.663314819
+11.563537415	194.719177246
+11.5867573696	194.149108887
+11.6099773243	194.166213989
+11.6331972789	194.136291504
+11.6564172336	193.786529541
+11.6796371882	192.605865479
+11.7028571429	190.785202026
+11.7260770975	188.578399658
+11.7492970522	182.544433594
+11.7725170068	173.676742554
+11.7957369615	415.019744873
+11.8189569161	417.989685059
+11.8421768707	333.699066162
+11.8653968254	415.058837891
+11.88861678	352.025543213
+11.9118367347	-1.0
+11.9350566893	-1.0
+11.958276644	-1.0
+11.9814965986	-1.0
+12.0047165533	-1.0
+12.0279365079	-1.0
+12.0511564626	-1.0
+12.0743764172	-1.0
+12.0975963719	-1.0
+12.1208163265	-1.0
+12.1440362812	-1.0
+12.1672562358	-1.0
+12.1904761905	-1.0
+12.2136961451	-1.0
+12.2369160998	-1.0
+12.2601360544	-1.0
+12.2833560091	-1.0
+12.3065759637	-1.0
+12.3297959184	-1.0
+12.353015873	-1.0
+12.3762358277	-1.0
+12.3994557823	-1.0
+12.422675737	-1.0
+12.4458956916	-1.0
+12.4691156463	-1.0
+12.4923356009	-1.0
+12.5155555556	-1.0
+12.5387755102	-1.0
+12.5619954649	-1.0
+12.5852154195	-1.0
+12.6084353741	-1.0
+12.6316553288	-1.0
+12.6548752834	-1.0
+12.6780952381	-1.0
+12.7013151927	-1.0
+12.7245351474	-1.0
+12.747755102	-1.0
+12.7709750567	-1.0
+12.7941950113	-1.0
+12.817414966	-1.0
+12.8406349206	-1.0
+12.8638548753	-1.0
+12.8870748299	-1.0
+12.9102947846	-1.0
+12.9335147392	-1.0
+12.9567346939	-1.0
+12.9799546485	-1.0
+13.0031746032	-1.0
+13.0263945578	-1.0
+13.0496145125	-1.0
+13.0728344671	-1.0
+13.0960544218	-1.0
+13.1192743764	-1.0
+13.1424943311	-1.0
