Whamcloud - gitweb
Branch b1_4
[fs/lustre-release.git] / libsysio / tests / test_symlink.pl
diff --git a/libsysio/tests/test_symlink.pl b/libsysio/tests/test_symlink.pl
deleted file mode 100755 (executable)
index 23d5185..0000000
+++ /dev/null
@@ -1,247 +0,0 @@
-#!/usr/bin/perl -w
-
-#
-# symlink test: Verify that symbolic links work
-#
-
-use IPC::Open2;
-
-use strict;
-use FindBin;
-use lib "$FindBin::Bin";
-use helper;
-
-sub usage
-{
-  print "Usage: ./test_symlink.pl [-alpha] <src> <dest>: Create a symlink from src to dest\n";
-  exit(-1);
-}
-
-sub clean_exit
-{
-  my ($cmdfh, $outfh, $exit_num, $exit_str) = @_;
-
-  print STDOUT "$exit_str";
-
-  # Free buffers
-  my $cmdstr =  'FREE $srcbuf'."\n";
-
-  print $cmdfh $cmdstr;
-
-  my $res = <$outfh>;
-  chop($res);
-  if ($res ne "0000 ") {
-    print STDOUT "ERROR! Failed to free srcbuf (code $res)\n";
-  }
-
-  $cmdstr =  'FREE $destbuf'."\n";
-
-  print $cmdfh $cmdstr;
-
-  $res = <$outfh>;
-  chop($res);
-  if ($res ne "0000 ") {
-    print STDOUT "ERROR! Failed to free destbuf (code $res)\n";
-  }
-
-  print $cmdfh "exit\n";
-  close $outfh;
-
-  # Give test_driver time to finish
-  sleep 0.000001;
-
-  exit $exit_num;
-}
-
-sub process_cmd
-{
-  my ($src, $dest, $is_alpha) = @_;
-  
-  # Get tests directory
-  my $testdir = $FindBin::Bin;
-
-  eval {
-      if ($is_alpha == 0) {
-         open2(\*OUTFILE, \*CMDFILE, "$testdir/test_driver --np");
-      } else {
-         open2(\*OUTFILE, \*CMDFILE, "yod -quiet -sz 1 $testdir/test_driver --np");
-      }
-  };
-
-  if ($@) {
-    if ($@ =~ /^open2/) {
-      warn "open2 failed: $!\n$@\n";
-      return;
-    }
-    die;
-
-  }
-
-  my $outfh = \*OUTFILE;
-  my $cmdfh = \*CMDFILE;
-
-  if ($is_alpha == 0) {
-    helper::send_cmd($cmdfh, $outfh, "init", "CALL init\n");
-  }
-  
-  # Get the filesize of src
-  my $size = -s $src;
-  my $bufsize;
-
-  if ( $size > 1024) { # Arbitrary limit
-    $bufsize = 1024;
-  } else {
-    $bufsize = $size;
-  }
-
-  # Create the symbolic link from src to dest
-  my $cmdstr = "CALL symlink $src $dest\n";
-  helper::send_cmd($cmdfh, $outfh, "open", $cmdstr);
-
-  helper::verify_cmd($cmdfh, $outfh, "symlink");
-
-  # Open src 
-  $cmdstr = '$src = CALL open '."$src O_RDONLY\n";
-  helper::send_cmd($cmdfh, $outfh, "open", $cmdstr);
-
-  # Open dest 
-  $cmdstr = '$dest = CALL open '."$dest O_RDONLY\n";
-  helper::send_cmd($cmdfh, $outfh, "open", $cmdstr);
-  
-  my $res = helper::verify_cmd($cmdfh, $outfh, "open $dest");
-
-  # Allocate buffer for src
-  $cmdstr = '$srcbuf = ALLOC '."$bufsize\n";
-  helper::send_cmd($cmdfh, $outfh, "ALLOC", $cmdstr);
-
-  # Allocate buffer for dest
-  $cmdstr = '$destbuf = ALLOC '."$bufsize\n";
-  helper::send_cmd($cmdfh, $outfh, "ALLOC", $cmdstr);
-
-
-  # Read size bytes from src and dest, then compare them and verify they
-  # are the same
-  $cmdstr = 'CALL read $src $srcbuf '."$bufsize\n";
-  helper::send_cmd($cmdfh, $outfh, "read $src", $cmdstr);
-    
-  $res = helper::verify_cmd($cmdfh, $outfh, "read $src");
-  my $readb = oct($res);
-
-  # Now read $readb from dest
-  $cmdstr = 'CALL read $dest $destbuf '."$readb\n";
-  helper::send_cmd($cmdfh, $outfh, "read $dest", $cmdstr);
-    
-  $res = helper::verify_cmd($cmdfh, $outfh, "read $dest");
-
-  my $errstr;
-  if ($readb != oct($res)) {
-      $errstr = "ERROR!  Read $readb bytes from src but only $res bytes from dest\n";
-      clean_exit($cmdfh, $outfh, 1, $errstr);
-  }
-
-  # Compare the two buffers
-  $cmdstr = 'CALL cmpstr $srcbuf $destbuf'."\n";
-  helper::send_cmd($cmdfh, $outfh, "cmpstr", $cmdstr);
-
-  # Verify that it returned an error
-  $cmdstr = 'PRINT $$';
-  $cmdstr .= "\n";
-  helper::send_cmd($cmdfh, $outfh, "PRINT", $cmdstr);  
-
-  $res = <$outfh>;
-  chop($res);
-
-  $res = helper::verify_cmd($cmdfh, $outfh, "cmpstr");
-  $res = oct($res);
-  if ($res != 0) {
-      $errstr = "ERROR! Buffers from $src and $dest do not match\n";
-      clean_exit($cmdfh, $outfh, 1, $errstr);
-  }
-
-  # Clean up
-  $cmdstr = 'CALL close $src'."\n";
-  helper::send_cmd($cmdfh, $outfh, "close", $cmdstr);
-  $cmdstr = 'CALL close $dest'."\n";
-  helper::send_cmd($cmdfh, $outfh, "close", $cmdstr);
-
- # Clear out destbuf
-  $cmdstr = 'CALL clear $destbuf'."\n";
-  helper::send_cmd($cmdfh, $outfh, "CLEAR", $cmdstr);
-
-  # Now remove the symbolic link and make sure everything stays the same
-  
-  # Remove the link (this assumes the link is not in incore)
-  $cmdstr = "CALL unlink $dest\n";
-  helper::send_cmd($cmdfh, $outfh, "unlink", $cmdstr);
-  helper::verify_cmd($cmdfh, $outfh, "unlink");
-
-  # Attempt to open the symbolic link.  This should return an error
-  $cmdstr = 'CALL open '."$dest O_RDONLY\n";
-  helper::send_cmd($cmdfh, $outfh, "open", $cmdstr);
-  
-  # Verify that it returned an error
-  $cmdstr = 'PRINT $$';
-  $cmdstr .= "\n";
-  helper::send_cmd($cmdfh, $outfh, "PRINT", $cmdstr);  
-
-  $res = <$outfh>;
-  chop($res);
-
-  if ($res ne "0xffffffff") {
-      $errstr = "ERROR! Open on $dest succeeded (should have failed)\n";
-      clean_exit($cmdfh, $outfh, 1, $errstr);
-  }
-
-  # Now read from the src again and make sure it matches the original
-
-  # Open src 
-  $cmdstr = '$src2 = CALL open '."$src O_RDONLY\n";
-  helper::send_cmd($cmdfh, $outfh, "open", $cmdstr);
-  helper::verify_cmd($cmdfh, $outfh, "open $src(2)");
-
-  $cmdstr = 'CALL read $src2 $destbuf '."$readb\n";
-  helper::send_cmd($cmdfh, $outfh, "read $src(2)", $cmdstr);
-    
-  $res = helper::verify_cmd($cmdfh, $outfh, "read $src(2)");
-
-  if ($readb != oct($res)) {
-      $errstr = "ERROR!  Read $readb bytes from src originally but now only $res bytes\n";
-      clean_exit($cmdfh, $outfh, 1, $errstr);
-  }
-
-  # Compare the two buffers
-  $cmdstr = 'CALL cmpstr $srcbuf $destbuf'."\n";
-  helper::send_cmd($cmdfh, $outfh, "cmpstr", $cmdstr);
-  $res = helper::verify_cmd($cmdfh, $outfh, "cmpstr");
-  $res = oct($res);
-  if ($res != 0) {
-      $errstr = "ERROR! Original buffers from $src and new buf do not match\n";
-      clean_exit($cmdfh, $outfh, 1, $errstr);
-  }
-
-  # Clean up
-  $cmdstr = 'CALL close $src2'."\n";
-  helper::send_cmd($cmdfh, $outfh, "close", $cmdstr);
-
-  clean_exit($cmdfh, $outfh, 0, "Symlink test successful\n");
-  exit 0;
-}
-
-my $currarg = 0;
-my $is_alpha = 0;
-
-if (@ARGV < 2) {
-  usage;
-} elsif (@ARGV > 2 ) {
-  if ($ARGV[$currarg++] eq "-alpha") {
-    $is_alpha = 1;
-  }
-}
-
-my $src = $ARGV[$currarg++];
-my $dest = $ARGV[$currarg];
-
-process_cmd($src, $dest, $is_alpha);
-
-
-exit 0;