Index: /branches/eam_branches/ipp-20191011/Nebulous/t/53_client_cull.t
===================================================================
--- /branches/eam_branches/ipp-20191011/Nebulous/t/53_client_cull.t	(revision 41045)
+++ /branches/eam_branches/ipp-20191011/Nebulous/t/53_client_cull.t	(revision 41046)
@@ -10,5 +10,5 @@
 use Apache::Test qw( -withtestmore );
 
-plan tests => 15;
+plan tests => 18;
 
 use lib qw( ./t ./lib );
@@ -21,5 +21,4 @@
 
 Test::Nebulous->setup;
-
 {
     # key
@@ -37,5 +36,4 @@
 
 Test::Nebulous->setup;
-
 {
     # key, $volume
@@ -43,11 +41,42 @@
         proxy => "http://$hostport/nebulous",
     );
-    $neb->create("foo");
-    $neb->replicate("foo", "node01");
-
-    my $uri = $neb->cull("foo", "node01");
+    $neb->create("foo", "node01");
+    $neb->replicate("foo", "node02");
+    
+    my $uri = $neb->cull("foo", "node02");
 
     ok($uri, "good cull");
     ok(! -e _get_file_path($uri), "file exists");
+}
+
+Test::Nebulous->setup;
+{
+    # key, $volume
+    my $neb = Nebulous::Client->new(
+        proxy => "http://$hostport/nebulous",
+    );
+    $neb->create("foo", "node01");
+    $neb->replicate("foo", "node02");
+
+    # cull with soft volume should succeed even if node does not have instance
+    my $uri = $neb->cull("foo", "node03");
+
+    ok($uri, "good cull");
+    ok(! -e _get_file_path($uri), "file exists");
+}
+
+Test::Nebulous->setup;
+{
+    # key, $volume
+    my $neb = Nebulous::Client->new(
+        proxy => "http://$hostport/nebulous",
+    );
+    $neb->create("foo", "node01");
+    $neb->replicate("foo", "node02");
+
+    # cull with hard volume should not succeed if node does not have instance
+    my $uri = $neb->cull("foo", "~node03");
+
+    is($uri, undef, "nothing to cull on this node");
 }
 
@@ -112,5 +141,7 @@
         proxy => "http://$hostport/nebulous",
     );
-    $neb->cull();
+    my $uri = $neb->cull();
+
+    is ($uri, undef, "no params given to cull");
 };
 like( $@, qr/1 - 3 were expected/, "no params" );
@@ -122,5 +153,7 @@
         proxy => "http://$hostport/nebulous",
     );
-    $neb->cull( 1, 2, 3, 4 );
+    my $uri = $neb->cull( 1, 2, 3, 4 );
+
+    is ($uri, undef, "no params given to cull");
 };
 like( $@, qr/1 - 3 were expected/, "too many params" );
