r9575: more automatic cleanup code in winreg test
authorAndrew Tridgell <tridge@samba.org>
Wed, 24 Aug 2005 11:12:16 +0000 (11:12 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:34:30 +0000 (13:34 -0500)
source/torture/rpc/winreg.c

index 798a069558ecb3a3166d8984e1877952255c81c4..404b90a1a9b4d6ecd4f055deeffd82cc555c4697 100644 (file)
@@ -329,8 +329,8 @@ static BOOL test_Cleanup(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
        struct winreg_DeleteKey r;
 
        r.in.handle = handle;
-       init_winreg_String(&r.in.key, key);
 
+       init_winreg_String(&r.in.key, key);
        dcerpc_winreg_DeleteKey(p, mem_ctx, &r);
 
        return True;
@@ -700,6 +700,8 @@ static BOOL test_Open(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, winreg_open_fn
                return False;
        }
 
+       test_Cleanup(p, mem_ctx, &handle, TEST_KEY1);
+       test_Cleanup(p, mem_ctx, &handle, TEST_KEY2);
        test_Cleanup(p, mem_ctx, &handle, TEST_KEY_BASE);
 
        if (!test_CreateKey(p, mem_ctx, &handle, TEST_KEY1, NULL)) {
@@ -730,7 +732,8 @@ static BOOL test_Open(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, winreg_open_fn
                ret = False;
        }
 
-       if (deleted && test_OpenKey(p, mem_ctx, &handle, TEST_KEY1, &newhandle)) {
+       if (created && deleted && 
+           test_OpenKey(p, mem_ctx, &handle, TEST_KEY1, &newhandle)) {
                printf("DeleteKey failed (OpenKey after Delete didn't work)\n");
                ret = False;
        }
@@ -775,6 +778,8 @@ static BOOL test_Open(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, winreg_open_fn
                ret = False;
        }
 
+       test_Cleanup(p, mem_ctx, &handle, TEST_KEY_BASE);
+
        return ret;
 }