SPVM-Sys

 view release on metacpan or  search on metacpan

t/lib/SPVM/TestCase/Sys/IO.spvm  view on Meta::CPAN

    
    return 1;
  }

  static method chdir : int () {
    
    my $test_dir_ftest = &TEST_DIR_FTEST;
    
    my $dir = "$test_dir_ftest/dir_empty";
    
    my $status = Sys::IO->chdir($dir);
    
    unless ($status == 0) {
      return 0;
    }
    
    my $cwd = Sys::IO->getcwd(undef, 0);
    unless (Fn->contains($cwd, "dir_empty")) {
      return 0;
    }
    
    {
      eval { Sys::IO->chdir("$dir/not_found.txt"); };
      unless (Fn->contains($@, "not_found.txt")) {
        return 0;
      }
    }
    
    return 1;
  }

  static method chmod : int ($tmp_dir : string) {
    
    my $test_dir_ftest = &TEST_DIR_FTEST;
    
    my $file = "$tmp_dir/foo.txt";
    my $stream = Sys::IO->fopen($file, "w");
    
    unless (Sys->f($file)) {
      return 0;
    }
    
    Sys::IO->fclose($stream);
    
    my $status = Sys::IO->chmod($file, 0755);
    
    unless ($status == 0) {
      return 0;
    }
    
    {
      eval { Sys::IO->chmod("$file/not_found.txt", 0755); };
      unless (Fn->contains($@, "not_found.txt")) {
        return 0;
      }
    }
    
    return 1;
  }

  static method chown : int ($tmp_dir : string) {
    
    my $test_dir_ftest = &TEST_DIR_FTEST;
    
    {
      my $file = "$tmp_dir/foo.txt";
      my $stream = Sys::IO->fopen($file, "w");
      
      unless (Sys->f($file)) {
        return 0;
      }
      
      Sys::IO->fclose($stream);
      
      my $status = Sys::IO->chown($file, -1, -1);
      
      unless ($status == 0) {
        return 0;
      }
      
      {
        eval { Sys::IO->chown("$file/not_found.txt", -1, -1); };
        unless (Fn->contains($@, "not_found.txt")) {
          return 0;
        }
      }
    }
    
    {
      my $file = "$tmp_dir/foo.txt";
      my $stream = Sys::IO->fopen($file, "w");
      
      unless (Sys->f($file)) {
        return 0;
      }
      
      Sys::IO->fclose($stream);
      
      Sys->chown(-1, -1, $file);
      
      {
        eval { Sys->chown(-1, -1, "$file/not_found.txt"); };
        unless (Fn->contains($@, "not_found.txt")) {
          return 0;
        }
      }
    }
    return 1;
  }

  static method symlink : int ($tmp_dir : string) {
    
    my $test_dir_ftest = &TEST_DIR_FTEST;
    
    my $file = "$tmp_dir/foo.txt";
    {
      my $stream = Sys::IO->fopen($file, "wb");
      
      unless ($stream) {
        return 0;
      }
      Sys::IO->fclose($stream);
    }
    
    my $file_symlink = "$tmp_dir/foo_link";
    {
      my $status = Sys::IO->symlink($file, $file_symlink);
      
      unless ($status == 0) {
        return 0;
      }
      
      my $exists_symlink_file = Sys->l($file_symlink);
      unless ($exists_symlink_file) {
        return 0;
      }
    }

    {
      eval { Sys::IO->symlink("$file/not_found.txt", "$file_symlink/not_found_symlink.txt"); };
      unless (Fn->contains($@, "not_found.txt")) {
        return 0;
      }
      unless (Fn->contains($@, "not_found_symlink.txt")) {
        return 0;
      }
    }
    
    return 1;
  }

  static method readlink : int ($tmp_dir : string) {
    
    my $test_dir_ftest = &TEST_DIR_FTEST;
    
    my $file = "$tmp_dir/foo.txt";
    {
      my $stream = Sys::IO->fopen($file, "wb");
      
      unless ($stream) {
        return 0;
      }



( run in 0.569 second using v1.01-cache-2.11-cpan-5511b514fd6 )