changeset 19:db0b48f02b69

Minor changes regarding logging and unittests. committer: Diggory Hardy <diggory.hardy@gmail.com>
author Diggory Hardy <diggory.hardy@gmail.com>
date Fri, 21 Mar 2008 12:31:21 +0000
parents 56a42ec95024
children 838577503598
files data/conf/options.mtt mde/Init.d mde/i18n/I18nTranslation.d test/mdeTest.d testw.mtt
diffstat 5 files changed, 29 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/data/conf/options.mtt	Tue Mar 18 17:51:52 2008 +0000
+++ b/data/conf/options.mtt	Fri Mar 21 12:31:21 2008 +0000
@@ -1,5 +1,5 @@
 {MT01}
 {misc}
 <char[]|L10n="en-GB">
-<bool|useThreads=false>
+<bool|useThreads=true>
 <int|logLevel=1>
--- a/mde/Init.d	Tue Mar 18 17:51:52 2008 +0000
+++ b/mde/Init.d	Fri Mar 21 12:31:21 2008 +0000
@@ -31,7 +31,11 @@
 import tango.core.Exception;
 import tango.util.log.Log : Log, Logger;
 import tango.util.log.ConsoleAppender : ConsoleAppender;
-import tango.util.log.SwitchingFileAppender : SwitchingFileAppender;
+version (SwitchAppender) {  // My own variation, currently just a test
+    import tango.util.log.SwitchingFileAppender : SwitchingFileAppender;
+} else {
+    import tango.util.log.RollingFileAppender : RollingFileAppender;
+}
 import tango.stdc.stringz : fromStringz;
 
 /**
@@ -50,8 +54,7 @@
     }
     
     // Set up the logger:
-    version (mdeTest) {}    // test.mdeTest sets up its own root logger
-    else {
+    {
         // Where logging is done to is determined at compile-time, currently just via static ifs.
         Logger root = Log.getRootLogger();
                 
@@ -59,8 +62,12 @@
             root.addAppender(new ConsoleAppender);
         }
         static if (true ) { // Log to files
-            // Use 2 log files with a maximum size of 1 MB:
-            root.addAppender (new SwitchingFileAppender (paths.logDir~"/log-.txt", 5));
+            version (SwitchAppender) {
+                root.addAppender (new SwitchingFileAppender (paths.logDir~"/log-.txt", 5));
+            } else {
+                // Use 2 log files with a maximum size of 1 MB:
+                root.addAppender (new RollingFileAppender (paths.logDir~"/log-.txt", 2, 1024*1024));
+            }
         }
         
         // Set the level here, but set it again once options have been loaded:
--- a/mde/i18n/I18nTranslation.d	Tue Mar 18 17:51:52 2008 +0000
+++ b/mde/i18n/I18nTranslation.d	Fri Mar 21 12:31:21 2008 +0000
@@ -216,8 +216,8 @@
         
         // Hack a specific locale...
         // Also to allow unittest to run without init.
-        char[] currentL10n = options.L10n;
-        options.L10n = "test-1";
+        char[] currentL10n = Options.misc.L10n;
+        Options.misc.L10n = "test-1";
         
         I18nTranslation transl = load ("i18nUnitTest");
         
@@ -235,6 +235,9 @@
         // No checks for version info since it's not functionality of this module.
         // Only check extra entries are allowed but ignored.
         
+        // Restore
+        Options.misc.L10n = currentL10n;
+        
         logger.info ("Unittest complete.");
     }
 }
--- a/test/mdeTest.d	Tue Mar 18 17:51:52 2008 +0000
+++ b/test/mdeTest.d	Fri Mar 21 12:31:21 2008 +0000
@@ -14,6 +14,11 @@
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
 
 /** A module to run all mde unittests and potentially to perform other tests.
+*
+* Purpose: an easy mechanism to perform all tests.
+*
+* Unittests do NOT require this module to run, however since the full executable may become complex
+* and thus not be the ideal tool to perform testing, tests may also be run from here.
 */
 module test.mdeTest;
 
@@ -24,22 +29,21 @@
 import mde.exception;
 import mde.Init;
 import mde.i18n.I18nTranslation;
+import mde.options;
 
 import tango.util.log.Log : Log, Logger;
 
-// Set this version to tell mde.init that the root logger is set up here.
-version=mdeTest;
-
 private Logger logger;
 
 static this()
 {
-    // Set up console logging:
-    Logger root = Log.getRootLogger();
-    root.setLevel(root.Level.Trace);
-    root.addAppender(new ConsoleAppender);
+    // In case no console-appender is added by Init, add one here (doesn't hurt if it's an extra)
+    Log.getRootLogger.addAppender(new ConsoleAppender);
     
     logger = Log.getLogger ("test.mdeTest");
+    
+    // This needs to be created for the unittests (normally created during init)
+    Options.misc = new OptionsMisc;
 }
 
 void main() {
--- a/testw.mtt	Tue Mar 18 17:51:52 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-{MT01}
-{1}
-
-{2}
-<char[]|1=A\tsequence of\tcharacters:\v1²€ç⋅−+↙↔↘,↕">
-<char[]|2=\"string 2\'">
-
-{11}
-
-{13}
-