[Ohrrpgce] Android port

Seth Hetu seth.hetu at gmail.com
Wed Jun 5 09:53:26 PDT 2013


Ah, ok. Using that input file, I get "All finished" on the interactive
test, and then the game exits.

-->Seth

On Wed, Jun 5, 2013 at 12:43 PM, James Paige <Bob at hamsterrepublic.com> wrote:
> I think the ohrrpgce_arguments.txt file uses newlines instead of spaces
> to delimit arguments (so that you can have spaces in arguments without
> worrying about quotation marks) So try:
>
> -replayinput
> interactivetest.ohrkeys
>
> Actually you should probably put interactivetest.rpg in the arguments
> too, so it will start it immediately without showing the file browser.
>
> -replayinput
> interactivetest.ohrkeys
> interactivetest.rpg
>
> On Wed, Jun 05, 2013 at 12:39:07PM -0400, Seth Hetu wrote:
>> Ah, now I understand! I was also getting confused between the
>> "android=1" and "android-source=1" flags. Now for some updates:
>>
>> 1) Custom works just fine; see the attached screenshots. (The bubbles
>> animate correctly.) Haven't tried saving from custom yet. I briefly
>> checked tilesets, messages, and a few other random menus.
>>
>> 2) Reload and Vector tests work. Note that the adb shell had a field
>> day with these; a bunch of text is garbled and now gedit refuses to
>> open these. (A hex editor will confirm it; also, scite doesn't seem to
>> mind. The main problem seems to be a bunch of "NULL" characters --open
>> it in scite to see what I mean). I saved these files via output
>> redirection.
>>
>> 3) When I try to run "-replayinput interactivetest.ohrkeys" I get the
>> attached error. (My "ohrrpgce_arguments.txt" file only contains that
>> one line of text.)
>>
>> -->Seth
>>
>> On Wed, Jun 5, 2013 at 11:54 AM, James Paige <Bob at hamsterrepublic.com> wrote:
>> > I would like to echo that I am also slightly confused by
>> > compile-using-toolchain.sh
>> >
>> > I needed to use compile-using-toolchain.sh to install the standalone
>> > toolchain for compiling freebasic for armeabi
>> >
>> > To compile OHRRPGCE Game I had to use:
>> >
>> >   scons fbc=path/to/fbc android-source=1 debug=1 game
>> >
>> > As far as I can see, the compile-using-toolchain.sh script only works
>> > for compiling the command-line tools, not for compiling game or custom.
>> >
>> > Maybe it should bre split and renamed into:
>> >
>> >   init-standalone-toolchain.sh
>> >   compile-command-line-tool-using-toolchain.sh
>> >
>> > Those names are a bit too long, but at least they are descriptive of
>> > (what I believe to be) the true purpose of compile-using-toolchain.sh
>> >
>> > ---
>> > James
>> >
>> > On Wed, Jun 05, 2013 at 11:46:43AM -0400, Seth Hetu wrote:
>> >> For some reason, the latest commits (which seem mostly benign) are
>> >> giving me some errors when I try to compile the ohrrpgce:
>> >>
>> >> I edited compile-using-toolchain.sh and changed:
>> >>    cd .. && scons fbc=$FBC android=1 debug=1 unlump relump reload vectortest
>> >> ...to:
>> >>    cd .. && scons fbc=$FBC android=1 debug=1 unlump relump reload
>> >> vectortest game
>> >>
>> >> Now I get the following:
>> >>
>> >> /home/sethhetu/android-tmc-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
>> >> error: cannot find -lSDL
>> >> /home/sethhetu/android-tmc-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
>> >> error: cannot find -lSDL
>> >> /home/sethhetu/android-tmc-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
>> >> error: cannot find -lSDL_mixer
>> >> (full log: http://pastie.org/8010539)
>> >>
>> >> If I try to run just "scons fbc=path/to/fbc android-source=1 debug=1
>> >> game" then it works.
>> >>
>> >> Is this expected? Should I not add "game" as a target to
>> >> compile-using-toolchain.sh?
>> >>
>> >> Also, it might make sense to have compile-using-toolchain.sh take a
>> >> list of scons targets, e.g.:
>> >>    ./compile-using-toolchain.sh   game vectortest
>> >>
>> >> -->Seth
>> >>
>> >> On Wed, Jun 5, 2013 at 6:58 AM, Ralph Versteegen <teeemcee at gmail.com> wrote:
>> >> > Wow, thanks for the help, I didn't actually mean to ask you to perform
>> >> > all those tests :)
>> >> >
>> >> > I only saw garbage on startup in an emulator with hardware (host)
>> >> > accelerated OpenGL enabled, but none on my device (which has no GPU)
>> >> > or an emulator without it. So I thought it might be specific to an
>> >> > (emulated) GPU being available rather than whether or not it's running
>> >> > on an emulator.
>> >> >
>> >> > We normally test interactivetest.rpg using the
>> >> > testgame/interactivetest.ohrkeys recorded input file, which is fed in
>> >> > with a commandline argument. Since being able to specify commandline
>> >> > arguments would be quite useful I just added the ability to do so
>> >> > (though I haven't tested it under android). You should be able to
>> >> > place a file called ohrrpgce_arguments.txt in the
>> >> > com.hamsterrepublic.ohrrpgce.game/files/ directory. (Is this directory
>> >> > always on the SD card, or will it be there only if the app is
>> >> > installed on the SD card? And I don't see where the app binary files
>> >> > are...
>> >> >
>> >> > To compile Custom, just specific 'custom' instead of 'game' when
>> >> > invoking scons. This didn't work before, I just fixed that. Tried it
>> >> > out now, compiled and ran fine. But the app will still be called
>> >> > OHRRPGCE Game. I guess we probably don't want to seriously package
>> >> > Custom for android, so that at least saves the hassle of multiple
>> >> > project directories and config files. (But what about packaging
>> >> > individual games?)
>> >> >
>> >> > The Compiling on Android page gives instructions for compiling
>> >> > commandline programs, which is anything aside from Game and Custom. It
>> >> > produces binaries in the wip folder which you need to copy to the
>> >> > device and run manually. When not crosscompiling, "scons test" can be
>> >> > used to run all test programs and games.
>> >> >
>> >> > On 5 June 2013 11:00, Seth Hetu <seth.hetu at gmail.com> wrote:
>> >> >> Regarding the other tests, I copied interactivetest.rpg to the games
>> >> >> folder and ran it, but there aren't enough input buttons for me to run
>> >> >> it manually. (I was able to run it through about six tests). I there a
>> >> >> way to run it automatically?
>> >> >>
>> >> >> For vectortest and reloadtest, I was only able to find some binary
>> >> >> files in wip. Is this something I should copy to the device and run?
>> >> >> I'm not really familiar with the OHR's testing framework.
>> >> >>
>> >> >> Finally, regarding Custom, I'm in way over my head;
>> >> >> "MainActivity-debug.apk" seems to only contain Game. Any thoughts on
>> >> >> how to point sdl-android to Custom as the main Activity?
>> >> >>
>> >> >> -->Seth
>> >> >>
>> >> >>
>> >> >> On Mon, Jun 3, 2013 at 10:26 PM, Ralph Versteegen <teeemcee at gmail.com> wrote:
>> >> >>> Great! Good to hear that I didn't miss anything in the compile instructions.
>> >> >>>
>> >> >>> The git clones of the OHR repository on gitorious (both mine and
>> >> >>> Neo's) are far out of date. I only rarely push anything to gitorious.
>> >> >>>
>> >> >>> Do you see garbage on screen when the program starts?
>> >> >>> There's very little that I've actually tested; I expect that there are
>> >> >>> lots of problems to be found. Do save files work? Custom?
>> >> >>> interactivetest?) Do vectortest and reloadtest pass? (Note that they
>> >> >>> put the terminal into a non-echoing state) I haven't been able to
>> >> >>> reproduce the test failure I saw before.
>> >> >>>
>> >> >>> On 4 June 2013 05:45, Seth Hetu <seth.hetu at gmail.com> wrote:
>> >> >>>> Ugh, sorry, I'm an idiot. Figured out what I did wrong. I now have
>> >> >>>> successfully compiled the OHR for Android (am playing WH now). :D
>> >> >>>>
>> >> >>>> -->Seth
>> >> >>>> PS: I'm totally willing to help test out random stuff if you need it.
>> >> >>>> I've got a Nexus 4, and (finally) a working toolchain.
>> >> >>>>
>> >> >>>> On Mon, Jun 3, 2013 at 1:07 PM, Seth Hetu <seth.hetu at gmail.com> wrote:
>> >> >>>>> I ran into an error in the last phase of compiling the APK; posted it
>> >> >>>>> to the talk page of the wiki.
>> >> >>>>>
>> >> >>>>> That reminds me; is it better to post about these kinds of errors to
>> >> >>>>> the list or just in the talk page?
>> >> >>>>>
>> >> >>>>> -->Seth
>> >> >>>>>
>> >> >>>>> On Mon, Jun 3, 2013 at 10:31 AM, Seth Hetu <seth.hetu at gmail.com> wrote:
>> >> >>>>>> Ah, thanks. I misread "the latest SVN" and picked up the latest git source.
>> >> >>>>>>
>> >> >>>>>> -->Seth
>> >> >>>>>>
>> >> >>>>>> On Mon, Jun 3, 2013 at 10:13 AM, James Paige <Bob at hamsterrepublic.com> wrote:
>> >> >>>>>>> That is in the ohrrpgce svn repository
>> >> >>>>>>>
>> >> >>>>>>> svn://gilgamesh.hamsterrepublic.com/ohrrpgce
>> >> >>>>>>>
>> >> >>>>>>> On Mon, Jun 03, 2013 at 09:22:11AM -0400, Seth Hetu wrote:
>> >> >>>>>>>> Got a quick question regarding the compiling instructions: "You can
>> >> >>>>>>>> use the script wip/android/compiling-using-toolchain.sh..."
>> >> >>>>>>>>
>> >> >>>>>>>> Where exactly is this? I checked the various repositories I cloned,
>> >> >>>>>>>> but can't seem to find it. I'm sure there's a really obvious answer...
>> >> >>>>>>>>
>> >> >>>>>>>> -->Seth
>> >> >>>>>>>>
>> >> >>>>>>>> On Sun, Jun 2, 2013 at 1:59 AM, Ralph Versteegen <teeemcee at gmail.com> wrote:
>> >> >>>>>>>> > I managed to figure out your makefile problem from the error messages.
>> >> >>>>>>>> >
>> >> >>>>>>>> > I'm surprised that Bell of Chaos runs that quickly on your tablet,
>> >> >>>>>>>> > nearly 5 times faster than my phone. A single core of a high end
>> >> >>>>>>>> > desktop CPU is nowhere 5 times faster than the lowest end one (well,
>> >> >>>>>>>> > actually it is if you compare to an Atom instead). I guess that on a
>> >> >>>>>>>> > device with an actual GPU a lot of CPU is freed up for the
>> >> >>>>>>>> > application... but if it's running at <4 fps, then there isn't much
>> >> >>>>>>>> > GPU emulating to do anyway :)
>> >> >>>>>>>> >
>> >> >>>>>>>> > I should have specified the button mapping: top left is ESC, top right
>> >> >>>>>>>> > is Enter, and the other four are arrows. Menu and Search are also
>> >> >>>>>>>> > Enter, and BACK is Esc.
>> >> >>>>>>>> >
>> >> >>>>>>>> > On 2 June 2013 17:30, James Paige <Bob at hamsterrepublic.com> wrote:
>> >> >>>>>>>> >> No luck compiling tonight, I will try more tomorrow. I tested the apk
>> >> >>>>>>>> >> and it runs nicely on my Xoom tablet. Sword of Jade ran smooth as butter
>> >> >>>>>>>> >> (well, 18.2 fps butter anyway) and Bell of Chaos averaged around 16.5
>> >> >>>>>>>> >> fps. I didn't figure out the SDL button remapping, but that can be a
>> >> >>>>>>>> >> task for later too :)
>> >> >>>>>>>> >>
>> >> >>>>>>>> >> Awesome work, TMC!
>> >> >>>>>>>> >>
>> >> >>>>>>>> >> ---
>> >> >>>>>>>> >> James
>> >> >>>>>>>> >>
>> >> >>>>>>>> >> On Sat, Jun 01, 2013 at 09:54:18PM -0700, James Paige wrote:
>> >> >>>>>>>> >>> Yay! I am excited! :)
>> >> >>>>>>>> >>>
>> >> >>>>>>>> >>> I am going to try and compile myself. More comments on the wiki talk
>> >> >>>>>>>> >>> page :)
>> >> >>>>>>>> >>>
>> >> >>>>>>>> >>> ---
>> >> >>>>>>>> >>> James
>> >> >>>>>>>> >>>
>> >> >>>>>>>> >>> On Sat, Jun 01, 2013 at 11:00:54PM +1200, Ralph Versteegen wrote:
>> >> >>>>>>>> >>> > http://tmc.castleparadox.com/pics/android-shot2.png
>> >> >>>>>>>> >>> >
>> >> >>>>>>>> >>> > A few more debugging sessions, and I've gotten the port working on a
>> >> >>>>>>>> >>> > 2.2 phone and 4.2.2 emulator. So far the only brokenness that I've
>> >> >>>>>>>> >>> > seen is in the file browser. autotest.rpg passes, though I haven't
>> >> >>>>>>>> >>> > tried comparing the screenshots. Although I actually got this far a
>> >> >>>>>>>> >>> > week ago, it took me several days to clean things up, e.g. removing
>> >> >>>>>>>> >>> > hardcoded paths, fixing the build systems, and fixing various problems
>> >> >>>>>>>> >>> > with bad path variables I didn't run into before. I've rewritten the
>> >> >>>>>>>> >>> > compile instructions. Do a git pull on both git repositories and
>> >> >>>>>>>> >>> > follow the new instructions. Compiling FB actually became more
>> >> >>>>>>>> >>> > complicated when I did things the proper way.
>> >> >>>>>>>> >>> > http://rpg.hamsterrepublic.com/ohrrpgce/Compiling_for_Android
>> >> >>>>>>>> >>> >
>> >> >>>>>>>> >>> > I put lots of info on the wiki:
>> >> >>>>>>>> >>> > http://rpg.hamsterrepublic.com/ohrrpgce/Android_Port
>> >> >>>>>>>> >>> >
>> >> >>>>>>>> >>> > Here's a precompiled .apk to play with if you want, although it's too
>> >> >>>>>>>> >>> > early to be asking for testing.
>> >> >>>>>>>> >>> > http://tmc.castleparadox.com/ohr/ohrrpgce-game-2013-06-01.apk
>> >> >>>>>>>> >>> > Some of the most obvious problems (see the wiki page for more):
>> >> >>>>>>>> >>> > -controls are awkward. But at least you can use the builtin SDL
>> >> >>>>>>>> >>> > configuration menu to adjust key bindings and button sizes and
>> >> >>>>>>>> >>> > positions
>> >> >>>>>>>> >>> > -midi doesn't play, simply because I didn't include instrument patches
>> >> >>>>>>>> >>> > for timidity. The suggested patches are 18MB. Can we find a smaller
>> >> >>>>>>>> >>> > set?
>> >> >>>>>>>> >>> > -directories don't appear in the browser
>> >> >>>>>>>> >>> > -there are long pauses in a couple places
>> >> >>>>>>>> >>> >
>> >> >>>>>>>> >>> > On my low end phone I can seemingly play typical games at full speed,
>> >> >>>>>>>> >>> > although only just. Bell of Chaos runs at less than 4 fps though.
>> >> >>>>>>>> >>> >
>> >> >>>>>>>> >>> >
>> >> >>>>>>>> >>> > On 17 May 2013 07:50, Seth Hetu <seth.hetu at gmail.com> wrote:
>> >> >>>>>>>> >>> > > Seems pretty similar to my config.mk. Good to know I'm on the right track!
>> >> >>>>>>>> >>> > > I'll give it another go if I can drum up some motivation later (the sample
>> >> >>>>>>>> >>> > > sdl-android app is strangely giving me an error).
>> >> >>>>>>>> >>> > >
>> >> >>>>>>>> >>> > > -->Seth
>> >> >>>>>>>> >>> > >
>> >> >>>>>>>> >>> > >
>> >> >>>>>>>> >>> > > On Thu, May 16, 2013 at 3:25 PM, Ralph Versteegen <teeemcee at gmail.com>
>> >> >>>>>>>> >>> > > wrote:
>> >> >>>>>>>> >>> > >>
>> >> >>>>>>>> >>> > >> Ah, yes, setting TARGET_ARCH wasn't sufficient. Here is my config.mk.
>> >> >>>>>>>> >>> > >> I am using a Slackware64 14.0 multilib system. I haven't edited
>> >> >>>>>>>> >>> > >> anything else:
>> >> >>>>>>>> >>> > >>
>> >> >>>>>>>> >>> > >> ENABLE_PREFIX=1
>> >> >>>>>>>> >>> > >> CFLAGS := -Wfatal-errors -O2 -I/usr/lib/libffi-3.0.11/include/ -g -m32
>> >> >>>>>>>> >>> > >> TARGET_ARCH=x86
>> >> >>>>>>>> >>> > >> prefix=/home/ralph/local/fbc-0.90
>> >> >>>>>>>> >>> > >> V=1
>> >> >>>>>>>> >>> > >>
>> >> >>>>>>>> >>> > >> Linking with libffi is optional: you can add -DDISABLE_FFI.
>> >> >>>>>>>> >>> > >>
>> >> >>>>>>>> >>> > >> On 17 May 2013 04:10, Seth Hetu <seth.hetu at gmail.com> wrote:
>> >> >>>>>>>> >>> > >> > While compiling this on a 64-bit system, it seems that setting
>> >> >>>>>>>> >>> > >> > TARGET_ARCH
>> >> >>>>>>>> >>> > >> > is not sufficient. In particular:
>> >> >>>>>>>> >>> > >> >     * gcc will freak out regarding assembly functions and "operand type
>> >> >>>>>>>> >>> > >> > mismatch" errors.
>> >> >>>>>>>> >>> > >> >     * gcc won't find libffi (on Ubuntu), as it's in a special
>> >> >>>>>>>> >>> > >> > "i686-linux-gnu" directory inside "/usr/include".
>> >> >>>>>>>> >>> > >> >
>> >> >>>>>>>> >>> > >> > To get around this, I just hacked the makefile, changing:
>> >> >>>>>>>> >>> > >> >
>> >> >>>>>>>> >>> > >> > ALLCFLAGS := -Wall -Werror-implicit-function-declaration
>> >> >>>>>>>> >>> > >> >
>> >> >>>>>>>> >>> > >> > ..to:
>> >> >>>>>>>> >>> > >> > ALLCFLAGS := -Wall -Werror-implicit-function-declaration -m32
>> >> >>>>>>>> >>> > >> > -I/usr/include/i686-linux-gnu
>> >> >>>>>>>> >>> > >> >
>> >> >>>>>>>> >>> > >> > If you got this working on a 64-bit system some other way, let me know
>> >> >>>>>>>> >>> > >> > (I'm
>> >> >>>>>>>> >>> > >> > really bad at makefiles).
>> >> >>>>>>>> >>> > >> >
>> >> >>>>>>>> >>> > >> > -->Seth
>> >> >>>>>>>> >>> > >> >
>> >> >>>>>>>> >>> > >> >
>> >> >>>>>>>> >>> > >> > On Fri, May 10, 2013 at 5:53 PM, Ralph Versteegen <teeemcee at gmail.com>
>> >> >>>>>>>> >>> > >> > wrote:
>> >> >>>>>>>> >>> > >> >>
>> >> >>>>>>>> >>> > >> >> I did some work on the Android port today, and got to the point of
>> >> >>>>>>>> >>> > >> >> being able to compile everything, create an .apk, and install it. It
>> >> >>>>>>>> >>> > >> >> currently crashes almost instantly with only the following error
>> >> >>>>>>>> >>> > >> >> message (an earlier version at least managed to initialise everything
>> >> >>>>>>>> >>> > >> >> except the native code).
>> >> >>>>>>>> >>> > >> >>
>> >> >>>>>>>> >>> > >> >> D/dalvikvm( 9355): Trying to load lib
>> >> >>>>>>>> >>> > >> >> /data/app-lib/com.hamsterrepublic.ohrrpgce.game-1/libapplication.so
>> >> >>>>>>>> >>> > >> >> 0x41f5cdf0
>> >> >>>>>>>> >>> > >> >> I/ActivityManager(  495): Process com.hamsterrepublic.ohrrpgce.game
>> >> >>>>>>>> >>> > >> >> (pid 9355) has died.
>> >> >>>>>>>> >>> > >> >>
>> >> >>>>>>>> >>> > >> >> Instructions are here:
>> >> >>>>>>>> >>> > >> >> http://rpg.hamsterrepublic.com/ohrrpgce/Compiling_for_Android
>> >> >>>>>>>> >>> > >> >>
>> >> >>>>>>>> >>> > >> >> I've automated all the drudgery. Now the hard work remains: debugging,
>> >> >>>>>>>> >>> > >> >> platform and device differences, Android-specific OHR modifications,
>> >> >>>>>>>> >>> > >> >> touch input, and lots of customisations to all the stuff in the SDL
>> >> >>>>>>>> >>> > >> >> port. For example I'm not very happy with the way that emulated
>> >> >>>>>>>> >>> > >> >> keyboard input works. we will want per-game settings without having to
>> >> >>>>>>>> >>> > >> >> recompile.
>> >> >>>>>>>> >>> > >> >>
>> >> >>>>>>>> >>> > >> >> However I'm taking a break for a while. I have too much else to do.
>> >> >>>>>>>> >>> > >> >> _______________________________________________
>> >> >>>>>>>> >>> > >> >> Ohrrpgce mailing list
>> >> >>>>>>>> >>> > >> >> ohrrpgce at lists.motherhamster.org
>> >> >>>>>>>> >>> > >> >> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> >>>>>>>> >>> > >> >
>> >> >>>>>>>> >>> > >> >
>> >> >>>>>>>> >>> > >> >
>> >> >>>>>>>> >>> > >> > _______________________________________________
>> >> >>>>>>>> >>> > >> > Ohrrpgce mailing list
>> >> >>>>>>>> >>> > >> > ohrrpgce at lists.motherhamster.org
>> >> >>>>>>>> >>> > >> > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> >>>>>>>> >>> > >> >
>> >> >>>>>>>> >>> > >> _______________________________________________
>> >> >>>>>>>> >>> > >> Ohrrpgce mailing list
>> >> >>>>>>>> >>> > >> ohrrpgce at lists.motherhamster.org
>> >> >>>>>>>> >>> > >> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> >>>>>>>> >>> > >
>> >> >>>>>>>> >>> > >
>> >> >>>>>>>> >>> > >
>> >> >>>>>>>> >>> > > _______________________________________________
>> >> >>>>>>>> >>> > > Ohrrpgce mailing list
>> >> >>>>>>>> >>> > > ohrrpgce at lists.motherhamster.org
>> >> >>>>>>>> >>> > > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> >>>>>>>> >>> > >
>> >> >>>>>>>> >>> > _______________________________________________
>> >> >>>>>>>> >>> > Ohrrpgce mailing list
>> >> >>>>>>>> >>> > ohrrpgce at lists.motherhamster.org
>> >> >>>>>>>> >>> > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> >>>>>>>> >>> >
>> >> >>>>>>>> >>> _______________________________________________
>> >> >>>>>>>> >>> Ohrrpgce mailing list
>> >> >>>>>>>> >>> ohrrpgce at lists.motherhamster.org
>> >> >>>>>>>> >>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> >>>>>>>> >>>
>> >> >>>>>>>> >> _______________________________________________
>> >> >>>>>>>> >> Ohrrpgce mailing list
>> >> >>>>>>>> >> ohrrpgce at lists.motherhamster.org
>> >> >>>>>>>> >> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> >>>>>>>> > _______________________________________________
>> >> >>>>>>>> > Ohrrpgce mailing list
>> >> >>>>>>>> > ohrrpgce at lists.motherhamster.org
>> >> >>>>>>>> > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> >>>>>>>> _______________________________________________
>> >> >>>>>>>> Ohrrpgce mailing list
>> >> >>>>>>>> ohrrpgce at lists.motherhamster.org
>> >> >>>>>>>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> >>>>>>>>
>> >> >>>>>>> _______________________________________________
>> >> >>>>>>> Ohrrpgce mailing list
>> >> >>>>>>> ohrrpgce at lists.motherhamster.org
>> >> >>>>>>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> >>>> _______________________________________________
>> >> >>>> Ohrrpgce mailing list
>> >> >>>> ohrrpgce at lists.motherhamster.org
>> >> >>>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> >>> _______________________________________________
>> >> >>> Ohrrpgce mailing list
>> >> >>> ohrrpgce at lists.motherhamster.org
>> >> >>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> >> _______________________________________________
>> >> >> Ohrrpgce mailing list
>> >> >> ohrrpgce at lists.motherhamster.org
>> >> >> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> > _______________________________________________
>> >> > Ohrrpgce mailing list
>> >> > ohrrpgce at lists.motherhamster.org
>> >> > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >> _______________________________________________
>> >> Ohrrpgce mailing list
>> >> ohrrpgce at lists.motherhamster.org
>> >> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> >>
>> > _______________________________________________
>> > Ohrrpgce mailing list
>> > ohrrpgce at lists.motherhamster.org
>> > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
>> Test #1: createDocument... Pass
>> Took 123
>>    Test #2: addRootNode... Pass
>> Took 212
>>    Test #3: addSmallInteger... Pass
>> Took 213
>>    Test #4: addLargeInteger... Pass
>> Took 153
>>    Test #5: addSmallNegativeInteger... Pass
>> Took 61
>>    Test #6: addLargeNegativeInteger... Pass
>> Took 61
>>    Test #7: addFloat... Pass
>> Took 61
>>    Test #8: addString... Pass
>> Took 122  sed do eiusmod tempor     ¼   s
>>    Test #9: addBitset... Pass
>> Took 243 lore eu fugiat nulla pa    ¼   s
>>    Test #10: addEmpty... Pass
>> Took 61 s
>>    Test #11: addNested... Pass
>> Took 396
>>    Test #12: helperFunctions... Pass
>> Took 2899
>>    Test #13: bitsetArray... Pass
>> Took 458
>>    Test #14: testNodeByPath... Pass
>> Took 672 stats/stat[0]/max
>>    Test #15: testProvisional... Pass
>> Took 458 ã¥›Ä         @
>>    Test #16: testSetKeyValueNode... Pass
>> Took 488
>>    Test #17: testGetKeyValueNode... Pass
>> Took 1250 testGetKeyValueNode...        ¼   s
>>    Test #18: testNodesIteration... Pass
>> Took 488
>>    Test #19: testSwapNodes... Pass
>> Took 762
>>    Test #20: serializeXML...
>> <?xml version="1.0" encoding="iso-8859-1" ?>
>> <root xmlns:r="http://hamsterrepublic.com/ohrrpgce/RELOAD">
>>       <smallInt>4</smallInt>
>>       <largeInt>63132116636</largeInt>
>>       <smallNegativeInt>-27</smallNegativeInt>
>>       <largeNegativeInt>-395154343918</largeNegativeInt>
>>       <floatingPoint>3745623.044669628</floatingPoint>
>>       <string>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</string>
>>       <bitset r:encoding="base64">AAQ=</bitset>
>>       <empty />
>>       <nestedTop>
>>               <level0>42
>>                       <level1>43
>>                               <level2>44
>>                                       <level3>45
>>                                               <level4>46
>>                                                       <level5>47
>>                                                               <level6>48
>>                                                                       <level7>49</level7>
>>                                                               </level6>
>>                                                       </level5>
>>                                               </level4>
>>                                       </level3>
>>                               </level2>
>>                       </level1>
>>               </level0>
>>       </nestedTop>
>>       <helper attr1="fish">1
>>               <int>12345</int>
>>               <float>1234.5678</float>
>>               <string>1 2 3 4 5 6 7 8 9 0</string>
>>               <null />
>>               <appended>54321</appended>
>>               <appended>43.21</appended>
>>               <appended>A B C D E F G H I J</appended>
>>               <appended />
>>               <r:_ />
>>               <whitespace><r:ws>   white
>>  space </r:ws></whitespace>
>>               <worse_whitespace><r:ws>
>>
>>   </r:ws></worse_whitespace>
>>               <empty_str></empty_str>
>>               <r:_></r:_>
>>               <r:_>1</r:_>
>>               <like_an_int>1</like_an_int>
>>               <binary r:encoding="base64">MTIzAAAjMTIz</binary>
>>               <eatXML><dummy>&</eatXML>
>>       </helper>
>>       <party>
>>               <slot>0</slot>
>>               <slot>0</slot>
>>               <slot>0</slot>
>>               <slot>3
>>                       <stats>
>>                               <stat>0
>>                                       <max>100</max>
>>                                       <cur>95</cur>
>>                               </stat>
>>                               <stat>1</stat>
>>                       </stats>
>>               </slot>
>>       </party>
>>       <was_prov2>
>>               <r:_ />
>>       </was_prov2>
>>       <a_dict>0
>>               <int>23</int>
>>       </a_dict>
>>       <a_dict>1
>>               <int>-999</int>
>>       </a_dict>
>>       <a_dict>2
>>               <int>22</int>
>>       </a_dict>
>>       <dict2>2
>>               <id>22222</id>
>>       </dict2>
>> </root>
>> Pass
>> Took 3051
>>    Test #21: nodeAppendingSpeedTest1... Pass
>> Took 543 ms
>> Test #22: nodeFindingSpeedTest1... Pass
>> Took 232 ms
>> Test #23: setKeyValueSpeedTest1... Pass
>> Took 106 ms
>> Test #24: nodeFindingSpeedTest2... Pass
>> Took 93.8 ms
>> Test #25: nodeAppendingSpeedTest2... Pass
>> Took 415 ms
>> Test #26: nodeFindingSpeedTest3... Pass
>> Took 115 ms
>> Test #27: writeFile... fileisreadable(unittest.rld.tmp) = 0
>> safekill(unittest.rld.tmp) exists = 0
>> fileisreadable(unittest.rld) = -1
>> safekill(unittest.rld) exists = -1
>> fileisreadable(unittest.rld.tmp) = 0
>> safekill(unittest.rld.tmp) exists = 0
>> Pass
>> Took 392 ms
>> Test #28: loadDocumentNoDelay... Pass
>> Took 596 ms
>> Test #29: compareDocumentsNoDelay... Pass
>> Took 829 ms
>> Test #30: freeDocumentNoDelay... Pass
>> Took 177 ms
>> Test #31: loadAndCompareDocumentsDelay... Pass
>> Took 1.65 s
>> Test #32: freeDocumentDelay... Pass
>> Took 185 ms
>> Test #33: cleanup... Pass
>> Took 184 ms
>
>
>> Test #1: emptyInteger... Pass
>> Took 4729
>>    Test #2: emptyString... Pass
>> Took 18.8 ms
>> Test #3: appendInteger... Pass
>> Took 60
>>    Test #4: appendString... Pass
>> Took 61
>>    Test #5: findInsertDeleteInteger... Pass
>> Took 732 , 104   , 103,  03, 104    ¼   s
>>    Test #6: modifyStrings... Pass
>> Took 30 nd 104   , 103,  03,    ¼   s
>>    Test #7: integerResizing... Pass
>> Took 61 ,   -   .   /   0       ¼   s
>>    Test #8: stringResizing... Pass
>> Took 519    -   .   /   0           ¼   s
>>    Test #9: simpleTypeA... Pass
>> Took 30     -   .   /   0       ¼   s
>>    Test #10: appendTypeA... Pass
>> Took 30     -   .   /   0       ¼   s
>>    Test #11: simpleTypeB... Pass
>> Took 0 @: si!   TypeB...    ¼   s
>>    Test #12: appendTypeB... Pass
>> Took 30     -   .   /   0       ¼   s
>>    Test #13: ptrArray... Pass
>> Took 0 @
>>    Test #14: copyEmptyIntegerArray... Pass
>> Took 0 @        ´9
>>    Test #15: copyStringArray... Pass
>> Took 0 @
>>    Test #16: moveStringArray... Pass
>> Took 30 : copyEmptyIntegerAr    ¼   s
>>    Test #17: copyTempStringArray... Pass
>> Took 30 : copyTempStringArra    ¼   s
>>    Test #18: moveTempStringArray... Pass
>> Took 0 @
>>    Test #19: appendToTempArray... Pass
>> Took 0 @=
>> ×£p½*@Ã*ÞÈ< E@    ¼   s
>>    Test #20: stringReverse... Pass
>> Took 61 : moveTempStringArra    ¼   s
>>    Test #21: intReverseSort... Pass
>> Took 21.7 ms
>> Test #22: stringSort... Pass
>> Took 4456
>>    Test #23: intArrayCompatibility... Pass
>> Took 30
>>    Test #24: stringArrayCompatibility... Pass
>> Took 61
>>    Test #25: returnVector... Pass
>> Took 122  3, 4  index1 tP           ¼   s
>>    Test #26: functionalStyle... Pass
>> Took 30
>>    Test #27: intVectorVectorCtors... Pass
>> Took 92 ´9
>>    Test #28: intVectorVectorAppending... Pass
>> Took 122
>>    Test #29: intVectorVectorCompare... Pass
>> Took 30
>>    Test #30: stringVectorVectorVector... Pass
>> Took 184 l(@ll(@
>>    Test #31: VecMap... Pass
>> Took 365 , :[]  $   à!  @           ¼   s
>>    Test #32: PolymorphismTest... Pass
>> Took 611 , :[]  $   à!  P   Z       ¼   s
>>    Test #33: valgrind... Pass
>> Took 0 @*   !   nd...  0    ¼   s
>>    Test #34: testBoundsChecking... Pass
>> Took 29  , :[]  $   à!  P       ¼   s
>>
>
>> _______________________________________________
>> Ohrrpgce mailing list
>> ohrrpgce at lists.motherhamster.org
>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
> _______________________________________________
> Ohrrpgce mailing list
> ohrrpgce at lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org



More information about the Ohrrpgce mailing list