[Xmlstorage-commits] SF.net SVN: xmlstorage: [84] trunk/d/xmltest.d
Brought to you by:
martinfuchs
From: <mar...@us...> - 2008-02-04 09:35:16
|
Revision: 84 http://xmlstorage.svn.sourceforge.net/xmlstorage/?rev=84&view=rev Author: martinfuchs Date: 2008-02-04 01:35:15 -0800 (Mon, 04 Feb 2008) Log Message: ----------- add xmltest for D Added Paths: ----------- trunk/d/xmltest.d Added: trunk/d/xmltest.d =================================================================== --- trunk/d/xmltest.d (rev 0) +++ trunk/d/xmltest.d 2008-02-04 09:35:15 UTC (rev 84) @@ -0,0 +1,117 @@ +module xmltest; + + // + // XML storage D classes version 1.2 + // + // Copyright (c) 2004, 2005, 2006, 2007 Martin Fuchs <mar...@gm...> + // + + /// \file xmltest.d + /// XMLStorage example file + + +/* + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +*/ + +import xmlstorage; +import std.stdio; + + +bool xml_test() +{ + auto doc = new XMLDoc; + bool ret; + + //ret = doc.read_file("poem.xml"); + //ret = doc.read_file("machines.xml"); + ret = doc.read_file("packets.xml"); + + if (!ret) { + fwritef(stderr, doc._errors.str()); + return false; + } + + doc.write_file("out.xml"); + + auto pos = new XMLPos(doc); + +// if (pos.go("get_packets/packet")) +// if (pos.go("/get_packets/packet")) +// if (pos.go("/get_packets/packet[5]")) + if (pos.go("/get_packets/packet[@db_id=\"7628\"]")) +// if (pos.go("get_machines/machine[@wsid=\"client2\"]")) + { + writefln("db_id = " ~ pos.get("db_id")); + writefln("name = " ~ pos.get("name")); + writefln("short_name = ", pos.get("short_name")); +/*@@ + writefln("db_id = %d", XMLInt(pos, "db_id")); + writefln("name = %s", XMLString(pos, "name").c_str()); + writefln("short_name = %s", XMLString(pos, "short_name").c_str()); +*/ + pos.back(); + } + + return true; +} + + +void print_gc_stats() +{ + std.gc.GCStats stats; + std.gc.getStats(stats); + + printf("poolsize = x%x, usedsize = x%x, freelistsize = x%x, freeblocks = %d, pageblocks = %d\n", + stats.poolsize, stats.usedsize, stats.freelistsize, stats.freeblocks, stats.pageblocks); +} + +int main(char[][] args) +{ + writefln(); // insert an empty line after unit test output + + print_gc_stats(); + writefln(); + + int ret = xml_test()? 0: 1; + + writefln(); + print_gc_stats(); + + writefln(); + + std.gc.minimize(); + print_gc_stats(); + + std.gc.genCollect(); + print_gc_stats(); + + std.gc.fullCollect(); + print_gc_stats(); + + return ret; +} Property changes on: trunk/d/xmltest.d ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |