That actually doesn't work:
RSpec::Expectations::ExpectationNotMetError: expected: #<Crichton::Descriptor::Resource:0x101185efe0d219c7 DRDs >
     got: #<Crichton::Descriptor::Resource:0x-116f3151118312a1 DRDs > (using ==)
Diff:
@@ -1,2 +1,2 @@
-#<Crichton::Descriptor::Resource:0x101185efe0d219c7 DRDs >
+#<Crichton::Descriptor::Resource:0x-116f3151118312a1 DRDs >

The objects are not the same. Register_single returns the cooked descriptor.