Mercurial > projects > mde
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() {