/[fuse.before_github]/perl/trunk/test/s/mount.t
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /perl/trunk/test/s/mount.t

Parent Directory Parent Directory | Revision Log Revision Log


Revision 10 - (hide annotations)
Sun Mar 20 00:36:05 2005 UTC (19 years ago) by dpavlin
File MIME type: application/x-troff
File size: 624 byte(s)
From: Richard Dawe <rich(at)phekda(dot)gotadsl(dot)co(dot)uk>

Please find attached a patch that allows Fuse.pm's test suite to run as a
non-root user. It will skip all the tests that require root priveleges (giving
away ownership using chown, mknod of character and block devices). The patch
creates a test root and mount point per user.

The patch also uses POSIX::WEXITSTATUS instead of the less portable "$? >> 8"
idiom.

1 mszeredi 4 #!/usr/bin/perl -w
2     use test::helper qw($_point $_loop $_real $_pidfile);
3     use strict;
4     use Test::More tests => 3;
5     ok(!(scalar grep(/ on $_point /,`cat /proc/mounts`)),"already mounted");
6     ok(-f $_loop,"loopback exists");
7    
8     if(!fork()) {
9     #close(STDIN);
10     close(STDOUT);
11     close(STDERR);
12 dpavlin 10 mkdir $_point;
13     mkdir $_real;
14 mszeredi 4 `echo $$ >test/s/mounted.pid`;
15     exec("perl $_loop $_point");
16     exit(1);
17     }
18     select(undef, undef, undef, 0.5);
19     my ($success) = `cat /proc/mounts` =~ / $_point /;
20     ok($success,"mount succeeded");
21     system("rm -rf $_real");
22     unless($success) {
23     kill('INT',`cat $_pidfile`);
24     unlink($_pidfile);
25     } else {
26     mkdir($_real);
27     }

  ViewVC Help
Powered by ViewVC 1.1.26