File: inode.t

package info (click to toggle)
libfile-slurp-perl 9999.32-2.1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 412 kB
  • sloc: perl: 650; makefile: 39
file content (46 lines) | stat: -rw-r--r-- 888 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
use strict;
use warnings;
use IO::Handle ();

use File::Basename ();
use File::Spec ();
use lib File::Spec->catdir(File::Spec->rel2abs(File::Basename::dirname(__FILE__)), 'lib');
use FileSlurpTest qw(temp_file_path);

use File::Slurp qw(read_file write_file);

use Test::More;
BEGIN {
    if ($^O eq 'MSWin32') {
        plan skip_all => 'skip inode test on windows';
        exit;
    }
}
plan tests => 2;

my $data = <<TEXT;
line 1
more text
TEXT

my $file = temp_file_path();

write_file($file, $data);
my $inode_num = (stat $file)[1];

write_file($file, $data);
my $inode_num2 = (stat $file)[1];

#print "I1 $inode_num I2 $inode_num2\n" ;

is($inode_num, $inode_num2, 'same inode');

write_file($file, {atomic => 1}, $data);
$inode_num2 = (stat $file)[1];

#print "I1 $inode_num I2 $inode_num2\n" ;

isnt($inode_num, $inode_num2, 'different inode');

unlink $file;
unlink "$file.$$";