]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4/torture: fruit: in test_adouble_conversion() also check stream list and AFPINFO_STREAM
authorRalph Boehme <slow@samba.org>
Fri, 17 Nov 2017 11:57:14 +0000 (12:57 +0100)
committerKarolin Seeger <kseeger@samba.org>
Tue, 5 Dec 2017 09:32:11 +0000 (10:32 +0100)
This reveals that the conversion doesn't work properly with
fruit:metadata=stream.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=13155

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
(backported from commit 7b00b558761b6564928289efcf835e9b9cc86a89)

selftest/knownfail
source4/torture/vfs/fruit.c

index 6e1d0589922d4c1d9e1fe51949f0513dc8dc41d7..b6a9e6d0766b4596afdd27ddc139ee64d51d2e5c 100644 (file)
 ^samba.tests.dcerpc.dnsserver.samba.tests.dcerpc.dnsserver.DnsserverTests.test_rank_none.*
 ^samba.tests.dcerpc.dnsserver.samba.tests.dcerpc.dnsserver.DnsserverTests.test_security_descriptor.*
 ^samba3.vfs.fruit streams_depot.OS X AppleDouble file conversion\(nt4_dc\)
+^samba3.vfs.fruit metadata_stream.OS X AppleDouble file conversion\(nt4_dc\)
index c40eca1aa28f49025ef019dfa1754345db3f12b3..76890ff75e01cfa92237897bb0f29b510fa5dabf 100644 (file)
@@ -1959,6 +1959,13 @@ static bool test_adouble_conversion(struct torture_context *tctx,
        bool ret = true;
        const char *data = "This resource fork intentionally left blank";
        size_t datalen = strlen(data);
+       const char *streams[] = {
+               "::$DATA",
+               AFPINFO_STREAM,
+               AFPRESOURCE_STREAM,
+               ":com.apple.metadata" "\xef\x80\xa2" "_kMDItemUserTags:$DATA",
+               ":foo" "\xef\x80\xa2" "bar:$DATA", /* "foo:bar:$DATA" */
+       };
 
        smb2_deltree(tree, BASEDIR);
 
@@ -1989,12 +1996,21 @@ static bool test_adouble_conversion(struct torture_context *tctx,
        torture_assert_goto(tctx, ret == true, ret, done,
                            "check AFPRESOURCE_STREAM failed\n");
 
+       ret = check_stream(tree, __location__, tctx, mem_ctx,
+                          fname, AFPINFO_STREAM,
+                          0, 60, 16, 8, "TESTSLOW");
+       torture_assert_goto(tctx, ret == true, ret, done,
+                           "check AFPINFO_STREAM failed\n");
+
        ret = check_stream(tree, __location__, tctx, mem_ctx, fname,
                           ":foo" "\xef\x80\xa2" "bar:$DATA", /* "foo:bar:$DATA" */
                           0, 3, 0, 3, "baz");
        torture_assert_goto(tctx, ret == true, ret, done,
                            "check foo:bar stream failed\n");
 
+       ret = check_stream_list(tree, tctx, fname, 5, streams, false);
+       torture_assert_goto(tctx, ret == true, ret, done, "check_stream_list");
+
 done:
        smb2_deltree(tree, BASEDIR);
        talloc_free(mem_ctx);