aboutsummaryrefslogtreecommitdiff
path: root/src/tests (follow)
AgeCommit message (Collapse)Author
2009-01-27Hey, I think that'll fix some things valgrind was bitching about. ApparentlyMike Buland
BitString is...not so good...I may have to rewrite big chunks.
2009-01-23Fixed a peculiar formula residue bug...eeew, formula residue. Also added aMike Buland
clear function to Bu::Stack
2009-01-20Awesome changes to the formula class! It actually does proper reduction forMike Buland
unary operators now, such as negate and not, and it now handles functions. Functions are actually implemented as unary operators at the moment, so they'll only act on a single value, no commas :-P, but it would probably be pretty easy to make it work on longer call lists. Although I do think that this will work for pretty much all cases out there.
2009-01-19This should fix the problem of never knowing if your sockets are closed. NowMike Buland
Bu::Socket::read will throw an exception if the socket has been closed. Also, you'll get an exception at object creation if the socket could connect to a computer, but not the given port.
2009-01-16Ok...we'll try this change up of the cache system. It now takes two pointers,Mike Buland
one to a Calc and one to a Store. It takes ownership of the two objects, and deletes them when it gets cleaned up.
2009-01-11A new feature has been added to Bu::Server. It's going to be trickier toMike Buland
implement in Bu::ItoServer, but I'll get to it. Basically you can trigger a "tick" any time you want and it will propegate as an onTick event to all active clients. You can also have these generated automatically everytime the system passes through a polling cycle. In this case, you should never ever write data to the socket every tick. It will cause your program to go bursurk.
2008-12-20All of the basic, core workings of the Cache are complete, and tested. EvenMike Buland
added some more tests and whatnot. A lot happened, but I can't remember everything. Also, Bu::File reports errors in more error cases.
2008-12-03Alright, the caching system now passes the basic CRUD tests with arbitraryMike Buland
keytypes. It doesn't yet use the stackable CacheStore concept, but the code is all in place to make it easy to switch to. There also needs to be some more accounting code in place, so that we can actually use the Schedulers, whatever they happen to be called in the future. A whacky side note, it turns out that we totally need to ensure an object is loaded from the cache in order to delete it, we can't ensure that any references to other objects that are in the cache will be loaded otherwise.
2008-12-01Wow, that's a lot of changes. You can use anything as a key now, as long as itMike Buland
can be hashed. And we're about to test actually loading and saving persistant cache items. Fun.
2008-12-01Woo! Very nearly there cache-wise, I'm about to change the name of the handler,Mike Buland
do a few more tests, and hopefully get something loading/saving.
2008-11-10Ok, the cache-id officiation is being delegated to the CacheHandlers, this isMike Buland
just fine, since they can do it any way they want. The Congo CacheHandlers will all have to be specialized versions of the generic ones, but they'll use all the general functionality, just make up IDs differently. It'll rock.
2008-10-09More cache development. I'm going to have to switch from template functions toMike Buland
functors. I like template functions a little more, but functors can be at least as fast. It won't be much of a change.
2008-10-08Ok...corrected a problem with new block allocation in nids, and it no longerMike Buland
goes into an infinite loop while doing certain kinds of read. Also, it zeros out new blocks to make things easier to cope with in the hex editor, it'll probably also compress better. I also fixed Bu::MemBuf so that you can now write to arbitrary places mid-stream.
2008-10-02Ok...now Bu::File doesn't set stupid permissions when it creates a new file...Mike Buland
2008-10-01This commit is sure to break things. This should be a very, very minor change.Mike Buland
What changed API-Wise: - I deleted a constructor in Bu::File that shouldn't have been used anyway. - I changed it from using fopen style mode strings to using libbu++ style mode flags. Check the docs for the complete list, but basically instead of "wb" you do Bu::File::Write, and so on, you can or any of the libbu++ flags together. There is no binary/text mode, it just writes whatever you tell it to verbatim (binary mode). Lots of extras are supported. Nothing else should have changed (except now the file stream is unbuffered, like all the other streams). Sorry if this breaks anything, if it's too annoying, use the last revision for a while longer.
2008-10-01Ok, NIDS is getting better and better, and I went ahead and cleaned up someMike Buland
exception related code that's been annoying me. You should no longer have to include any exception header explicitly for normal operations, every class that has it's own exception to throw defines it in it's own headers. This may break some code that uses libbu++, but it's an easy fix, just delete the include for exceptions.h. Sometime soon I would also like to move from Bu::ExceptionBase to Bu::Exception, but that will affect a lot more code than this change did.
2008-09-24Ok, now all the warnings are gone (except for those coming from nids, but that'sMike Buland
ok, nids is still in flux, they'll be gone soon).
2008-09-15Wooo! It compiles again! The nids streams are almost ready.Mike Buland
2008-09-15Whoa! Loads of NIDS work. It actually compiles, runs, and I'm optimizing theMike Buland
hell out of it. Good times, everyone. This is a major chunk for congo, and the new optimizations should be good.
2008-06-07This is a testing version. Nothing should be broken, but I won't gurantee it.Mike Buland
I wouldn't update to this just yet, if you have problems, back off a rev. I'm trying to update the code to work on both 32bit, and 64bit systems, and hopefully anything else that comes along. Currently some of the archive code is broken, testing must be done on both archetectures.
2008-04-28Apparently there were a number of things that weren't strict ISO C++, the newMike Buland
version of gcc complained about them, none of these changes will break backward compatibility, so I fixed them. I added more docs too, it seems.
2008-03-20This is a preliminary test of my new server simplification subclass, don't useMike Buland
it yet, the name will change. I really, really, really want the name to change.
2008-02-19Oops. I made the Bu::Heap API look like a stack, not a queue, that's beenMike Buland
fixed, and the Bu::ItoHeap is working and tested. Note that when multiple items have the same sort order, they will come out in random order.
2008-02-19I believe this will do the trick. The Bu::Heap class now uses the appropriateMike Buland
allocators for all work, every data type used in a Bu::Heap must support the equals operator and <= or >=, or you need to write your own comparison functor. The heap works as both a min-heap and max-heap, just change out the functor used for camparison, kinda' cool. The print function I'll leave in for a little while, but not in the long run, it just prints a dot graph to stdout. Next up, the Ito version.
2008-02-19Bu::Heap is a real class, it works great, except it doesn't grow right now.Mike Buland
I'm thinking the heap should add one layer to the binary tree each time it grows, which means double+1 each time. The Bu::ItoHeap will be implemented as soon as the rest of Bu::Heap is done. Also, I finally added bu/util.h which is mainly handy template functions like Bu::swap, Bu::min, Bu::max, and Bu::mid. A few more may be added.
2008-02-07Just updated the copyright date.Mike Buland
2007-12-12Corrected some issues with the new trace system. It's now working fine. ↵Mike Buland
It's backword compatible, and the new features are a lot of fun. Since it uses template functions you can add any new variable types to be formatted.
2007-12-12Added the new TRACE test.Mike Buland
2007-12-11Fixed the bu directory, now the code should compile and be usable evenMike Buland
installed. That was odd. Anyway, also set props on the bu, unit, and test directories so that the contents won't be listed on svn status.
2007-12-03Just added the MiniMacro test, it could actually be a unit test without a lot ofMike Buland
effort.
2007-11-30Added some helpers to fstring, and fixed a bug in Bu::Process, it wasn't closingMike Buland
the pipes properly, resulting in the child process going defunct and not dying, it also wasn't buffering properly, it now collects as much data as it can before returning from a read operation.
2007-11-23Added the Process stream class, this will allow us to do some really cool stuffMike Buland
coming up...it's just like popen only cool and managed, and streamey.
2007-11-15Final changes moving to the actually liscense-ified version, plus I fixed aMike Buland
compile error I introduced last commit.
2007-11-15Added liscense info at the front of many, many files. Debating the old files.Mike Buland
2007-11-09Fixed a silly bug in the taf system that interpreted the */ at the end of aMike Buland
comment block as a tag...oops.
2007-11-08Bu::FString now has the functions format, formatAppend, and formatPrepend, allMike Buland
of which use printf style formatting and accept the same parameters as printf.
2007-10-20Made the logger use a uint32_t for it's mask, no more negative confusion. AlsoMike Buland
brought back the formula class with some cool twists, and added a basic stack class, very cute, fast, and little.
2007-10-20Just marked Bu::FString::c_str as deprecated, don't use it, it'll go away later.Mike Buland
2007-10-14Fixed an interesting ideosyncacy in Bu::Hash in a safe way, I should try to doMike Buland
this with the Bu::Archive next. Basically, there's one generic template function that will convert anything that can safely cast to a uint32_t and that supports direct comparisson, and doesn't have it's own override already to be a Hash key, such as char, uint8_t, uint64_t, etc. The Telnet protocol handler does everything I need it too for now, next up for it is escape sequence handling, it would be nice to make this general too, by using the termcap database or something, but there is an ANSI/ISO standard now, I may just go ahead and use that. Also, it looks like it'd be pretty easy to make the canonical mode editing functions be pluggable to facilitate different types of editing, but that can be done down the road as well.
2007-10-03Nothing about function. I added a bunch of docs and re-arranged a bunch ofMike Buland
the existing docs. Taking advantage of some of the cooler extra features of doxygen I've started writing extra how-to pages covering working with sections of the library. Also, I started grouping the classes by function so they show up on the Modules page together, very cute.
2007-09-11Everything seems to work with the new Bu::ItoServer class, it operates very,Mike Buland
very similarly to the Bu::Server class, except that every incoming connection gets it's own thread. This functionality may have to be tuned later, to allow for maintaining a pool of connections as an option, but this is fine for now.
2007-08-26Corrected a bug in the Bu::TafReader, it was getting confused when a stray colonMike Buland
(common in web addresses) was put in the middle of a property list, now it doesn't get confused, it just complains bitterly and refuses to work.
2007-07-18Incorporated a patch contributed by Brandon CS Sanders that allows libbu++ toMike Buland
compile under OSX. So far, no problems with anything else, it looks like build and nango both build without problems, libbu++ is truly becoming a full cross- platform toolkit.
2007-07-11I guess I fixed some list stuff...Mike Buland
2007-07-10Fixed the atom, it wasn't copying from other atoms properly.David
2007-07-09The new logHexDump function seems to work just fine.Mike Buland
2007-07-03Ah, that explains much, I did the big reorg -> trunk move and forgot to commitMike Buland
some things, so here they are, after being manually copied.
2007-06-29The plugger was dying on a HashException it should have caught, and the LoggerMike Buland
now allows you to include extra printf formatting in your fields just like the docs say you can.
2007-06-27The taf system is new and improved. The writer works, we added C++ styleMike Buland
comment blocks, and it retains the order of all nodes.
2007-06-26Fixed a minor bug in FString, and added the Logger and a test...it's cool, andMike Buland
a decent replacement for multilog now that we use runit.