selftest: Create a share with %D %U and %G substituion
authorAndreas Schneider <asn@samba.org>
Sun, 25 Sep 2016 16:42:17 +0000 (18:42 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Fri, 7 Oct 2016 10:09:09 +0000 (12:09 +0200)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
selftest/target/Samba3.pm

index d0dcdf1b7e1cf2376dfe17dba511142952e1d1f2..3746d53bcc4fb59d031246fbbbd14d7069558a00 100755 (executable)
@@ -370,6 +370,9 @@ sub setup_admember($$$$)
 {
        my ($self, $prefix, $dcvars) = @_;
 
+       my $prefix_abs = abs_path($prefix);
+       my @dirs = ();
+
        # If we didn't build with ADS, pretend this env was never available
        if (not $self->have_ads()) {
                return "UNKNOWN";
@@ -377,11 +380,30 @@ sub setup_admember($$$$)
 
        print "PROVISIONING S3 AD MEMBER...";
 
+       mkdir($prefix_abs, 0777);
+
+       my $share_dir="$prefix_abs/share";
+       push(@dirs, $share_dir);
+
+       my $substitution_path = "$share_dir/D_SAMBADOMAIN";
+       push(@dirs, $substitution_path);
+
+       $substitution_path = "$share_dir/D_SAMBADOMAIN/U_alice";
+       push(@dirs, $substitution_path);
+
+       $substitution_path = "$share_dir/D_SAMBADOMAIN/U_alice/G_domain users";
+       push(@dirs, $substitution_path);
+
        my $member_options = "
        security = ads
         workgroup = $dcvars->{DOMAIN}
         realm = $dcvars->{REALM}
         netbios aliases = foo bar
+
+[subDUG]
+       path = $share_dir/D_%D/U_%U/G_%G
+       writeable = yes
+
 ";
 
        my $ret = $self->provision($prefix,
@@ -393,12 +415,13 @@ sub setup_admember($$$$)
 
        $ret or return undef;
 
+       mkdir($_, 0777) foreach(@dirs);
+
        close(USERMAP);
        $ret->{DOMAIN} = $dcvars->{DOMAIN};
        $ret->{REALM} = $dcvars->{REALM};
 
        my $ctx;
-       my $prefix_abs = abs_path($prefix);
        $ctx = {};
        $ctx->{krb5_conf} = "$prefix_abs/lib/krb5.conf";
        $ctx->{domain} = $dcvars->{DOMAIN};