~ubuntu-branches/ubuntu/jaunty/libfilesys-smbclient-perl/jaunty

« back to all changes in this revision

Viewing changes to t/01base.t

  • Committer: Bazaar Package Importer
  • Author(s): Gunnar Wolf
  • Date: 2003-12-19 11:50:50 UTC
  • Revision ID: james.westby@ubuntu.com-20031219115050-s9adj54r0xmquuhh
Tags: upstream-1.5
ImportĀ upstreamĀ versionĀ 1.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/perl -w
 
2
 
 
3
use Test::More;
 
4
use Filesys::SmbClient;
 
5
use strict;
 
6
use diagnostics;
 
7
 
 
8
plan tests=>18;
 
9
 
 
10
my $loaded = 1;
 
11
ok($loaded,"Load module");
 
12
 
 
13
my $buffer = "A test of write call\n";
 
14
my $buffer2 = "buffer of 1234\n";
 
15
 
 
16
SKIP: {
 
17
  skip "No server defined for test at perl Makefile.PL", 17 if (!-e ".c");
 
18
if (-e ".c") {
 
19
  use POSIX;
 
20
  my $ok = 0;
 
21
  open(F,".c") || die "Can't read .c\n";
 
22
  my $l = <F>; chomp($l); 
 
23
  my @l = split(/\t/, $l);
 
24
  my %param = 
 
25
    (
 
26
     username  => $l[3],
 
27
     password  => $l[4],
 
28
     workgroup => $l[2],
 
29
     debug     =>  0
 
30
    );
 
31
  my $smb = new Filesys::SmbClient(%param);
 
32
  my $server = "smb://$l[0]/$l[1]";
 
33
 
 
34
  # Create a directory
 
35
  ok($smb->mkdir("$server/toto",'0666'),"Create directory")
 
36
    or diag("With $!");
 
37
 
 
38
  # Create a existent directory
 
39
  ok(!$smb->mkdir("$server/toto",'0666'),"Create existent directory");
 
40
 
 
41
  # Write a file
 
42
  my $fd = $smb->open(">$server/toto/test",0666);
 
43
  if ($fd) {
 
44
    $ok = 1 if ($smb->write($fd,$buffer));
 
45
  }
 
46
  $smb->close($fd);
 
47
  ok($ok,"Create file");
 
48
  $ok=0;
 
49
 
 
50
  # Rename a file
 
51
  ok($smb->rename("$server/toto/test","$server/toto/tata"),"Rename file")
 
52
    or diag("With $!");
 
53
 
 
54
  # Stat a file
 
55
  my @tab = $smb->stat("$server/toto/tata");
 
56
  ok($#tab != 0,"Stat file ") or diag("With $!");
 
57
 
 
58
  # Stat a non-existent file
 
59
  @tab = $smb->stat("smb://jupiter/soft/lala");
 
60
  ok($#tab == 0,"Stat non-existent file") or diag("With $!");
 
61
 
 
62
  # Read a file
 
63
  my $buf;
 
64
  $fd = $smb->open("$server/toto/tata",'0666');
 
65
  while (defined(my $l= $smb->read($fd,50))) {$buf.=$l; }
 
66
  if (!$buf) { ok(0, "Read file"); }
 
67
  else {
 
68
    ok(length($buf) == length($buffer),"Read file")
 
69
      or diag("read ",length($buf)," bytes)");
 
70
  }
 
71
  $smb->close($fd);
 
72
 
 
73
  # Directory
 
74
  # Read a directory
 
75
  $fd = $smb->opendir("$server/toto"); 
 
76
  my @a;
 
77
  if ($fd) {    
 
78
    foreach my $n ($smb->readdir($fd)) {push(@a,$n);}
 
79
    $ok = 1 if ($#a==2);
 
80
    $smb->close($fd);
 
81
  }
 
82
  ok($ok,"Read short directory"); $ok=0;
 
83
 
 
84
  # Read long info on a directory
 
85
  undef @a;
 
86
  $fd = $smb->opendir("$server/toto");
 
87
  if ($fd) {    
 
88
    while (my $f = $smb->readdir_struct($fd)) { push(@a,$f); }
 
89
    $ok = 1 if ($#a==2);
 
90
    $smb->close($fd);
 
91
  }
 
92
  ok($ok,"Read long directory");
 
93
 
 
94
  # Unlink a file
 
95
  ok($smb->unlink("$server/toto/tata"),"Unlink file")
 
96
    or diag("With $!");
 
97
 
 
98
  # Unlink a non-existent file
 
99
  ok(!$smb->unlink("$server/toto/tatarr"),"Unlink non-existent file");
 
100
 
 
101
  ok($smb->mkdir("$server/toto/tate",'0666'),"Create directory")
 
102
    or diag("With $!");
 
103
 
 
104
  ok($smb->mkdir("$server/toto/tate/titi",'0666'),"Create directory")
 
105
    or diag("With $!");
 
106
 
 
107
  ok($smb->rmdir_recurse("$server/toto/tate",'0666'),
 
108
     "Rmdir entire directory") or diag("With $!");
 
109
 
 
110
  # Erase this directory
 
111
  ok($smb->rmdir("$server/toto/"),"Rm directory") or diag("With $!");
 
112
 
 
113
  # Erase non-existent directory
 
114
  ok(!$smb->rmdir("$server/totoarr/"),"Rm non-existent directory");
 
115
 
 
116
  # Rename a non-existent file
 
117
  ok(!$smb->rename("$server/toto/testrr","$server/toto/tata"),
 
118
     "Rename non-existent file");
 
119
 
 
120
  print "There is a .c file in this directory with info about your params \n",
 
121
        "for you SMB server test. Think to remove it if you have finish \n",
 
122
          "with test.\n\n";
 
123
}
 
124
}