summaryrefslogtreecommitdiff
path: root/src/tests (follow)
AgeCommit message (Collapse)Author
2010-01-25The order of key, object in all of the cache related systems has beed fixed,Mike Buland
key just belongs first, that's all there is to it.
2010-01-15Documented more of MiniCron, and added some cool new help features to OptParser.Mike Buland
2010-01-14Created the minicron system. This is a cute little cron like implementationMike Buland
that allows a program to signal slots on a schedule, possibly a dynamic schedule.
2010-01-07Added a new class, RegEx, it does extended regular expressions for now, more toMike Buland
come.
2009-12-21Ok, Process has been updated. You now must specify flags as the first parameterMike Buland
of both constructors, this allows you to control which streams to bind to. To preserve the old behaviour, simply put Bu::Process::StdOut before your old first parameters.
2009-12-18Ok...sweet, the OptParser now supports everything the old one did, but in muchMike Buland
less code, and it does everything with more style and panache, also fewer bugs.
2009-12-18Wow, cool, Bu::Formatter can read all the basic types now, (int, float, bool,Mike Buland
char, etc.) and OptParser totally works. I have one last change to make to it, which is using the return value of signal type options to determine weather or not the option took a parameter at all, especially in the case of short options.
2009-12-18The OptParser still needs help banners and more helper functions, but otherwise,Mike Buland
it's done. It works great, and provides much flexibility and usefulness. It now relies on the input side of the Formatter class, which at the moment supports reading strings...not real useful yet... Next up, adding readers for numbers and such, then it'll be mostly complete. Also, fixed a bug when copying uninitialized signal objects.
2009-12-16Signals is even safer and works even better. Also, OptParser is nearly done.Mike Buland
Now I just have to come up with a way to modify data that you already have, that sure was a nice feature of the old one, even if it was implemented in a silly way.
2009-12-16The new signal/slots system is in place, and works from 0-5 parameters rightMike Buland
now, I'll probably add more later on... I've also started on the replacement for ParamProc, OptParser. It should do everything that ParamProc did, only with less code, and much better.
2009-12-10Process is working much better, it actually follows the guidelines for most ofMike Buland
it's functions now, such as isEos and whotnot, although it won't work in non- blocking mode yet, and I'm still trying to figure out a good way to have it deal with both stdout and stderr.
2009-12-06I corrected a peculiar heap corner case that caused an infinite loop.Mike Buland
2009-11-18Hey, fixed the problems in heap. It should now work properly no matter what theMike Buland
data or order etc.
2009-11-12I've started my campaign to clean up all of the header files in libbu++ as farMike Buland
as includes go. This required a little bit of reworking as far as archive goes, but I've been planning on changing it aronud for a bit anyway. The final result here is that you may need to add some more includes in your own code, libbu++ doesn't include as many random things you didn't ask for anymore, most of these seem to be bu/hash.h, unistd.h, and time.h. Also, any Archive functions and operators should use ArchiveBase when they can instead of Archive, archivebase.h is a much lighterweight include that will be used everywhere in core that it can be, there are a few classes that actually want a specific archiver to be used, they will use it (such as the nids storage class). So far, except for adding header files, nothing has changed in functionality, and no other code changes should be required, although the above mentioned archive changeover is reccomended.
2009-10-16Although this looks like a load of code changes, this represents no functionalMike Buland
change to the Taf system. Really all that's happened is I've broken out the core taf data types into seperate files, and gone ahead and created a helpful new header file ("taf.h") that will include the entire taf system, including the reader and writer for you. This means that a lot of programs will start complaining, but fortunately, there's an easy solution, if it complains about taf, make sure to include taf.h at the top, instead of other taf files and you'll be set. The next set of changes will add lots of helpers to the taf system and change the reader to read non-const structures, i.e. I'll actually add editing support to created taf structures.
2009-09-25New Bu::Variant class. Store anything in it, get it out again, find out it'sMike Buland
type. It's really just that easy. More info, docs, and tweaks to come.
2009-09-10Hey, minor updates to the formatter and a unit test, nothing important.Mike Buland
2009-08-31Added a getDaysInMonth function, it'll live in util.{cpp,h} until I create anMike Buland
actual Date class.
2009-08-21Added loads of debugging to sharedcore, we're sure it's to blame, but not asMike Buland
much anymore, for the fishtrax issues, maybe.
2009-08-14Massive freaking changes!!!Mike Buland
Bu:;SharedCore actually is in and works, it's well tested and there are no known memory leaks or violations as of now. It's been applied to Bu::List and Bu::FBasicString so far. This means that everything using Bu::List and Bu::FBasicString will be much, much faster and use considerably less memory. I still have plans to apply this to Hash and maybe a couple of other core classes.
2009-08-14A good start on a speed test framework.Mike Buland
2009-08-13Ok, shared core looks good, and I added a unit test for Bu::List to check a fewMike Buland
basics. It works, so now I'm going to apply SharedCore to Bu::List and see how bad it is. Also, I got rid of all the warnings and things that showed up during compilation, they were all silly anyway. Finally, mkunit.sh is much cooler. Hard to believe it's a shell script, it now also adds proper #line directives to the cpp output so if there is an error or warning g++ will give you the right line number in your .unit file, not the resultant cpp file.
2009-08-09Really, just a lot of documenting.Mike Buland
2009-08-04***IMPORTANT*** The function Bu::Md5::getResult no longer returns a hex string,Mike Buland
it returns the raw binary string that makes up the md5 sum, this matches the original goal of the API and makes the whole system more general and transportable. I have added a handy helper function named getHexResult that will return the same classic hex md5 string we're used to, change anything in your code that uses getResult to getHexResult now. I've also added a handy function to the CryptoHash to write the result to a stream, writeResult. I've fixed some more things in the formatter, and added a cryptPass function that works very much like the system crypt function, md5 and base64. If I knew more about the glibc implementation I could probably make them compatible. For now there are some subtle differences in the formatting and the salting algorithm, also the output mantains it's base64 trailer (==) wheras the system function chops those off. There's also another helper that will only work on linux for now, that only takes the password, and generates a salt for you using urandom.
2009-07-31I switched the Bu::Stream::isEOS function to be named Bu::Stream::isEos, andMike Buland
also made sure the copyright is at the top of all the files, it's been too long. Anyway, this may effect some code, but not much, and it's an easy enough fix.
2009-07-31Wow, Bu::Base64 had a bug about premature end of stream / not base64 data, nowMike Buland
it throws exceptions. It'll still try to process bad data for a while though. Also, it turns out that Bu::File never reported EOS, now it does, appropriately. I'm about to change Bu::Stream::isEOS to be Bu::Stream::isEos, this is your warning.
2009-07-30I think I fixed a bug in Bu::Base64, we'll see what happens.Mike Buland
2009-07-30Bu::Buffer actually works, and works really well. I dig it. Bu::BZip2 nowMike Buland
follows the new filter guidelines, where read and write report the amount of data consumed, not the amount processed. I.e. when writing, it reports how much of your incoming data it used, not how many bytes it wrote on the other end.
2009-07-29Base64, now more clever with fewer options.Mike Buland
2009-06-30Bu::Client now gives you the option to add additional filters to the filterMike Buland
chain on the base stream, which for the moment is a socket. I also demonstrate this in the new rot13 test, with a rot13 filter, and a simple echo protocol.
2009-06-18Added a new enum value to Bu::File, Bu::File::WriteNew which combines Write,Mike Buland
Truncate, and Create, the flags used most commonly when writing a new file. Also added the Bu::Base64 filter class, it does base64 encoding and decoding, it may need a couple more interfaces added, but for the most part, it's solid.
2009-06-02Updates to the cgi system, and I'm putting the general CGI related stuff likeMike Buland
encoding and decoding and uri encoded splitting etc in one class.
2009-04-10Added some new goodness to the fbasicstring, fixing some inconsistancies andMike Buland
adding some more helpers. Hopefully this won't affect anything, but if it complains about any functions not working the way they used to, see if they're returning an int or an iterator. I made several functions handle iterators instead of ints, the int versions have an "Idx" suffix added now. I'm trying to switch entirely to iterators to reduce flattening and increase performance and stability. Also...something must have changed in the cache code...
2009-04-06Ok, I rearranged some things, we have a tools dir now, those build by default.Mike Buland
Also I added a bunch of classes that I've been tinkering with that are almost ready for use, so I figured I may as well throw them in here.
2009-02-24Woot, the cache system now supports intellegent sync'ing. It will ask the cacheMike Buland
about each object that it has and weather or not to sync it. This will probably be made optional in the future.
2009-02-24Whoa, lots of updates. Md5 is more general, nids, cache, cachestore, andMike Buland
cachestorenids all support synchronizing now. Url is pretty much done.
2009-02-19We have the new Bu::CryptoHash base class and Bu::Md5 is here and readyMike Buland
to rock. sha1 is still only a shell, I dunno if/when I'm going to implement that one. So far Bu::Md5 is 100% compatible with md5sum in all tests performed so far, in fact the test program's output is compatible with md5sum in every way (and it's so cute and little too!) Oh, minor update for stdstream and the formatter, they can handle more handy types now.
2009-02-11Hey, formatter, awesome, and look at that...I'm adding uuid support.Mike Buland
2009-02-10Hey, got the formatter working, that's something. I really like it so far,Mike Buland
lets see how nice we can really make it.
2009-02-08So many updates. I recommend using the new FString iterators instead of directMike Buland
indexing. It is now many times faster, and requires less overhead. Also, more stuff iterator related in every class. More on that later.
2009-01-28The nids tool now has a re-write and cleanup option, it can also change theMike Buland
block size. Isn't that nifty?
2009-01-27Nids is even better, all fixed, no problems. And you can define you're ownMike Buland
creator functions for the cache store...soon, you'll also be able to define you're own loader/writer functions, but the default will still work exactly like this. I also did more work on nidstool, I think I may actually have to create a tools dir that will just compile some executables for the libbu++ root, because this thing is handy. You can get info on the system, trace streams' blocks, and I'm working on an analysis function that will help you figure out how to optomize your nids files. Plus, it'll have a function soon for re-writing a nids stream, which will let you change the block size, defragment, and remove unused blocks.
2009-01-27Corrected some larger read/write issues in corner cases that I hit suprisinglyMike Buland
often within nids. There's still a problem somewhere, but I'll find it. Also, even after having the file class canRead and canWrite functions work properly, and using them before trying to write to a nids to update info, we never ever write anything, so something is still wrong there. For now, all utilities that open a nids stream read-only will crash when it closes. Pretty minor really.
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.