On Thu, Apr 25, 2013 at 1:17 AM, Loic Dachary <loic@xxxxxxxxxxx> wrote: > Hi, > > In the context of the implementation of > > http://wiki.ceph.com/01Planning/02Blueprints/Dumpling/Erasure_encoding_as_a_storage_backend > > I'm preparing tests to assert that the modifications that will be made to the existing PG and ReplicatedPG will not introduce regressions. Unless I'm mistaken, there are no unit tests or functional tests for PG or ReplicatedPG at the moment. I thought that it might be useful to add an abstract OSD class from which OSD is derived, to allow a test to derive from it to implement synthetic behavior. > > > I gave it a try and it passes make check successfully. It is a little hairy because I commented out the code instead of removing it to help with rebasing. > > https://github.com/dachary/ceph/commit/a9eb690a3537c3f844b47e76cde048b084e314eb > > I'll now try to use it to implement some tests for ReplicatedPG. > > I would very much appreciate if someone has an advice on the best way to proceed. Even if it's to say : "you're crazy, don't go there ! you're wasting your time, there is a much simpler way !" ;-) What's your plot here? The OSD is fairly large to be doing unit tests on (although it's not insensible) — but if we want to form a new PG it might be best to start out by making abstract PG implementations. That'll be a bit easier since I believe I they only access the OSDService now, and not the OSD proper. -Greg Software Engineer #42 @ http://inktank.com | http://ceph.com -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html