aboutsummaryrefslogtreecommitdiff
path: root/src/tests (follow)
AgeCommit message (Collapse)Author
2010-05-10Added the new Bu::CacheStoreFiles, it's an uber-simple cache storage system thatMike Buland
maybe would be better to call an example than a fully fledged storage strategy. It just names files based on your keys. It's very slow, and very wasteful, and shouldn't be used long-term in most normal cache systems.
2010-05-10Added the new QueueBuf. It's brilliant, and I've wanted it for a long time.Mike Buland
...I mean brilliant as in cool.
2010-05-04Cache fixes?Mike Buland
2010-05-01Cache fixes.Mike Buland
2010-04-27The Bu::Ito thread class has changed the rules on the run function. It noMike Buland
longer returns anything, that's fine, it's in a class, but it also is protected now. That doesn't really effect child classes much, they can make run public, but I reccomend protected to avoid confusion.
2010-04-23Minor updates to the List class, unchecked corner cases.Mike Buland
The CsvWriter now writes csv. It understands both excel formatting and c-style, which I made up myself (it's just c-style escape sequences). Sha1 is converted to work with the CryptoHash API and it does indeed work.
2010-04-07Corrected a long standing yet seldom witnessed hash bug. It was triggered whenMike Buland
a hashtable was filled, then some items were removed, then enough items were added to trigger a rehash.
2010-03-31Removed the bool cast operator from FBasicString. It turns out it was causingMike Buland
way, way, way more problems than it solved. A number of libbu++ tests were inacurate because of it, there were problems in several other programs, and there may be more that have problems we haven't found yet because of this. This will most likely cause complitaion errors, especially in places we didn't expect, where strings were being stored into or passed as integers and the like. In cases where you were just testing a string, just call the "isSet()" function, which is functionally equivellent to the old bool cast operator.
2010-02-13Added and updated the license info in all the source files, they still saidMike Buland
copyright 2007-2008.
2010-02-12Well, it compiles. I think I may make newline inherit from buffer, I dunno...Mike Buland
2010-02-11Started working on a CSV reader, it's pretty much done, the CSV writer is justMike Buland
a shell, but I may finish it soon, and started work on NewLine, a filter that converts newlines in text streams between the different OS standards. Also added some more helper operators to fbasicstring.
2010-02-10Changed the name of nids to Myriad, I like it, but I'm not getting rid of nidsMike Buland
until I can safely migrate to Myriad.
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