banshee r5088 - in trunk/banshee: . src/Core/Banshee.Core/Banshee.Base/Tests src/Core/Banshee.Services/Banshee.Playlists.Formats/Tests src/Core/Banshee.Services/Banshee.ServiceStack src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/Tests src/Libraries/Hyena/Hyena/Tests src/Libraries/Mono.Media/Media.Playlists.Xspf/Tests tests tests/Mono.Media/xspf



Author: blorentz
Date: Sun Mar  1 17:01:29 2009
New Revision: 5088
URL: http://svn.gnome.org/viewvc/banshee?rev=5088&view=rev

Log:
2009-03-01  Bertrand Lorentz  <bertrand lorentz gmail com>

	Various fixes to the unit tests. There are still a few failures left,
	but at least they don't seem to be caused by the test system itself.

	* src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/Tests/MtpDapTests.cs: Remove
	a celebratory Console.WriteLine.

	* src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Do not
	crash when there's no entry assembly. This happens when running the unit
	tests.

	* src/Libraries/Hyena/Hyena/Tests/TestBase.cs: Add a TestsDir property 
	to help	find the test data files.

	* src/Core/Banshee.Services/Banshee.Playlists.Formats/Tests/PlaylistFormatTests.cs:
	Use TestsDir and initialize the AddinManager.

	* src/Core/Banshee.Core/Banshee.Base/Tests/TaglibReadWriteTests.cs: Use
	TestsDir.

	* src/Libraries/Mono.Media/Media.Playlists.Xspf/Tests/XspfTests.cs: Fix
	the path to the test files.

	* tests/Mono.Media/xspf/complete.xml: Fix typo.

	* tests/Makefile.am: Add Mono.Media to the list of assemblies to test.



Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/src/Core/Banshee.Core/Banshee.Base/Tests/TaglibReadWriteTests.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.Playlists.Formats/Tests/PlaylistFormatTests.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs
   trunk/banshee/src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/Tests/MtpDapTests.cs
   trunk/banshee/src/Libraries/Hyena/Hyena/Tests/TestBase.cs
   trunk/banshee/src/Libraries/Mono.Media/Media.Playlists.Xspf/Tests/XspfTests.cs
   trunk/banshee/tests/Makefile.am
   trunk/banshee/tests/Mono.Media/xspf/complete.xml

Modified: trunk/banshee/src/Core/Banshee.Core/Banshee.Base/Tests/TaglibReadWriteTests.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Core/Banshee.Base/Tests/TaglibReadWriteTests.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Core/Banshee.Base/Tests/TaglibReadWriteTests.cs	Sun Mar  1 17:01:29 2009
@@ -29,6 +29,7 @@
 #if ENABLE_TESTS
 
 using System;
+using System.IO;
 using System.Reflection;
 using NUnit.Framework;
 
@@ -54,7 +55,7 @@
             Mono.Addins.AddinManager.Initialize (BinDir);
             
             files = new string [] {
-                BinDir + "/../tests/data/test.mp3",
+                Path.Combine (TestsDir, "data/test.mp3")
             };
         }
     
@@ -91,7 +92,7 @@
             try {
                 AssertForEach<string> (files, delegate (string uri) {
                     string extension = System.IO.Path.GetExtension (uri);
-                    newuri = new SafeUri (BinDir + "/../tests/data/test_write." + extension);
+                    newuri = new SafeUri (Path.Combine (TestsDir, "data/test_write." + extension));
     
                     Banshee.IO.File.Copy (new SafeUri (uri), newuri, true);
     

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Playlists.Formats/Tests/PlaylistFormatTests.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Playlists.Formats/Tests/PlaylistFormatTests.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Playlists.Formats/Tests/PlaylistFormatTests.cs	Sun Mar  1 17:01:29 2009
@@ -37,20 +37,26 @@
 using Banshee.Base;
 using Banshee.Playlists.Formats;
 
+using Hyena.Tests;
+
 namespace Banshee.Playlists.Formats.Tests
 {
     [TestFixture]
-    public class PlaylistFormatsTest
+    public class PlaylistFormatsTest : TestBase
     {
 
 #region Setup
 
         private static Uri BaseUri = new Uri("/iamyourbase/");
         private List<Dictionary<string, object>> elements = new List<Dictionary<string, object>>();
+        private string playlists_dir;
 
         [TestFixtureSetUp]
         public void Init()
         {
+            Mono.Addins.AddinManager.Initialize (BinDir);
+            
+            playlists_dir = Path.Combine (TestsDir, "Banshee.Services/playlist-data");
             IPlaylistFormat playlist = LoadPlaylist(new M3uPlaylistFormat(), "extended.m3u");            
             foreach(Dictionary<string, object> element in playlist.Elements) {
                 elements.Add(element);
@@ -103,7 +109,7 @@
             PlaylistParser parser = new PlaylistParser();
             parser.BaseUri = BaseUri;
 
-            foreach(string path in Directory.GetFiles("Banshee.Services/playlist-data")) {
+            foreach(string path in Directory.GetFiles(playlists_dir)) {
                 parser.Parse(new SafeUri(Path.Combine(Environment.CurrentDirectory, path)));
                 AssertTest(parser.Elements);
             }
@@ -119,7 +125,7 @@
         private IPlaylistFormat LoadPlaylist(IPlaylistFormat playlist, string filename)
         {
             playlist.BaseUri = BaseUri;
-            playlist.Load(File.OpenRead(Path.Combine("Banshee.Services", Path.Combine("playlist-data", filename))), true);
+            playlist.Load(File.OpenRead(Path.Combine(playlists_dir, filename)), true);
             return playlist;
         }
 

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs	Sun Mar  1 17:01:29 2009
@@ -314,7 +314,12 @@
         
         private static string GetCustomAssemblyMetadata (string attrName, string field)
         {
-            foreach (Attribute attribute in Assembly.GetEntryAssembly ().GetCustomAttributes (false)) {
+            Assembly assembly = Assembly.GetEntryAssembly ();
+            if (assembly == null) {
+                return null;
+            }
+            
+            foreach (Attribute attribute in assembly.GetCustomAttributes (false)) {
                 Type type = attribute.GetType ();
                 PropertyInfo property = type.GetProperty (field);
                 if (type.Name == attrName && property != null && 

Modified: trunk/banshee/src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/Tests/MtpDapTests.cs
==============================================================================
--- trunk/banshee/src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/Tests/MtpDapTests.cs	(original)
+++ trunk/banshee/src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/Tests/MtpDapTests.cs	Sun Mar  1 17:01:29 2009
@@ -90,8 +90,6 @@
             Assert.AreEqual (13, track.TrackNumber);
             Assert.AreEqual (2003, track.Year);
 
-            Console.WriteLine ("WOO, done!");
-
             //track.ReleaseDate = "00000101T0000.00";
             //track_info = new MtpTrackInfo (track);
             //Assert.AreEqual (0, track_info.Year);

Modified: trunk/banshee/src/Libraries/Hyena/Hyena/Tests/TestBase.cs
==============================================================================
--- trunk/banshee/src/Libraries/Hyena/Hyena/Tests/TestBase.cs	(original)
+++ trunk/banshee/src/Libraries/Hyena/Hyena/Tests/TestBase.cs	Sun Mar  1 17:01:29 2009
@@ -74,6 +74,11 @@
         public string BinDir {
             get { return bin_dir ?? (bin_dir = Path.GetDirectoryName (Assembly.GetExecutingAssembly ().Location)); }
         }
+        
+        private string tests_dir;
+        public string TestsDir {
+            get { return tests_dir ?? (tests_dir = Path.Combine (Path.GetDirectoryName (BinDir), "tests")); }
+        }
     
         public static void AssertForEach<T> (IEnumerable<T> objects, Action<T> runner)
         {

Modified: trunk/banshee/src/Libraries/Mono.Media/Media.Playlists.Xspf/Tests/XspfTests.cs
==============================================================================
--- trunk/banshee/src/Libraries/Mono.Media/Media.Playlists.Xspf/Tests/XspfTests.cs	(original)
+++ trunk/banshee/src/Libraries/Mono.Media/Media.Playlists.Xspf/Tests/XspfTests.cs	Sun Mar  1 17:01:29 2009
@@ -41,8 +41,8 @@
     [TestFixture]
     public class XspfTest
     {
-        private const string complete_path = "../tests/Mono.Media/Xspf/complete.xml";
-        private const string xsd_path = "../tests/Mono.Media/Xspf/xspf-1.xsd";
+        private const string complete_path = "../tests/Mono.Media/xspf/complete.xml";
+        private const string xsd_path = "../tests/Mono.Media/xspf/xspf-1.xsd";
 
         [Test]
         public void Load()

Modified: trunk/banshee/tests/Makefile.am
==============================================================================
--- trunk/banshee/tests/Makefile.am	(original)
+++ trunk/banshee/tests/Makefile.am	Sun Mar  1 17:01:29 2009
@@ -6,6 +6,7 @@
 	Hyena.dll \
 	Hyena.Gui.dll \
 	Migo.dll \
+	Mono.Media.dll \
 	Banshee.Core.dll \
 	Banshee.Services.dll \
 	Banshee.Dap.Mtp.dll

Modified: trunk/banshee/tests/Mono.Media/xspf/complete.xml
==============================================================================
--- trunk/banshee/tests/Mono.Media/xspf/complete.xml	(original)
+++ trunk/banshee/tests/Mono.Media/xspf/complete.xml	Sun Mar  1 17:01:29 2009
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<playlist xml:based="http://abock.org/apples/kobbler/";
+<playlist xml:base="http://abock.org/apples/kobbler/";
 	version="1" 
 	xmlns="http://xspf.org/ns/0/";>
 	<title>Playlist Title</title>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]