Skip to content

Commit

Permalink
Adapted testsuite to new fstab handling
Browse files Browse the repository at this point in the history
  • Loading branch information
shundhammer committed Jan 2, 2018
1 parent 5e1fc17 commit be0d2e5
Show file tree
Hide file tree
Showing 7 changed files with 220 additions and 44 deletions.
3 changes: 0 additions & 3 deletions src/modules/Nfs.rb
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,6 @@ def read_etc_fstab
# Then libstorage takes care of /etc/fstab.
return if @skip_fstab

# TO DO: Prepend $target to path (maybe running in the inst-sys?)
fstab = EtcFstab.new(@etc_fstab_name)
nfs_entries = fstab.select { |e| e.fs_type.start_with?("nfs") }
@nfs_entries = nfs_entries.map do |entry|
Expand All @@ -316,8 +315,6 @@ def read_etc_fstab
def write_etc_fstab
return if @skip_fstab
backup_etc_fstab

# TO DO: Prepend $target to path (maybe running in the inst-sys?)
fstab = EtcFstab.new(@etc_fstab_name)
merge_entries(fstab)
remove_unknown_shares(fstab)
Expand Down
1 change: 1 addition & 0 deletions testsuite/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ site.exp
# * are test cases
tmp.out*
tmp.err*
tmp.fstab
# harness
config/
run/
47 changes: 41 additions & 6 deletions testsuite/tests/readwrite.out
Original file line number Diff line number Diff line change
@@ -1,28 +1,63 @@
Dump Read
Read .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"reiserfs"], $["file":"/home", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/home", "vfstype":"nfs"], $["file":"/var/spool/mail", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/var/spool/mail", "vfstype":"nfs"], $["file":"/a\\040space", "freq":1, "mntops":"defaults", "passno":3, "spec":"/dev/hda7", "vfstype":"reiserfs"], $["file":"/b\\040space", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/space\\040dir", "vfstype":"nfs"]]
Dump tmp.fstab before:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Read .sysconfig.nfs.NFS4_SUPPORT "yes"
Read .sysconfig.nfs.NFS_SECURITY_GSS "yes"
Read .etc.idmapd_conf.value.General.Domain "localhost"
Return true
Dump tmp.fstab after:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Dump Write OK
Read .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"reiserfs"], $["file":"/home", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/home", "vfstype":"nfs"], $["file":"/var/spool/mail", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/var/spool/mail", "vfstype":"nfs"], $["file":"/a\\040space", "freq":1, "mntops":"defaults", "passno":3, "spec":"/dev/hda7", "vfstype":"reiserfs"], $["file":"/b\\040space", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/space\\040dir", "vfstype":"nfs"]]
Dump tmp.fstab before:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Execute .target.mkdir "/home" true
Execute .target.mkdir "/var/spool/mail" true
Execute .target.mkdir "/b space" true
Execute .target.bash "/bin/cp $ORIG $BACKUP" $["BACKUP":"/etc/fstab.YaST2.save", "ORIG":"/etc/fstab"] 0
Write .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"reiserfs"], $["file":"/a\\040space", "freq":1, "mntops":"defaults", "passno":3, "spec":"/dev/hda7", "vfstype":"reiserfs"], $["file":"/home", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/home", "vfstype":"nfs"], $["file":"/var/spool/mail", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/var/spool/mail", "vfstype":"nfs"], $["file":"/b\\040space", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/space\\040dir", "vfstype":"nfs"]] true
Write .sysconfig.nfs.NFS4_SUPPORT "yes" true
Write .etc.idmapd_conf.value.General.Domain "localhost" true
Write .etc.idmapd_conf nil true
Write .sysconfig.nfs.NFS_SECURITY_GSS "yes" true
Log Cannot start 'portmap' service
Return false
Dump tmp.fstab after:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Dump Write KO
Read .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"reiserfs"], $["file":"/home", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/home", "vfstype":"nfs"], $["file":"/var/spool/mail", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/var/spool/mail", "vfstype":"nfs"], $["file":"/a\\040space", "freq":1, "mntops":"defaults", "passno":3, "spec":"/dev/hda7", "vfstype":"reiserfs"], $["file":"/b\\040space", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/space\\040dir", "vfstype":"nfs"]]
Dump tmp.fstab before:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Execute .target.mkdir "/home" true
Execute .target.mkdir "/var/spool/mail" true
Execute .target.mkdir "/b space" true
Execute .target.bash "/bin/cp $ORIG $BACKUP" $["BACKUP":"/etc/fstab.YaST2.save", "ORIG":"/etc/fstab"] 0
Write .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"reiserfs"], $["file":"/a\\040space", "freq":1, "mntops":"defaults", "passno":3, "spec":"/dev/hda7", "vfstype":"reiserfs"], $["file":"/home", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/home", "vfstype":"nfs"], $["file":"/var/spool/mail", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/var/spool/mail", "vfstype":"nfs"], $["file":"/b\\040space", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/space\\040dir", "vfstype":"nfs"]] false
Log Unable to write to /etc/fstab.
Write .sysconfig.nfs.NFS4_SUPPORT "yes" true
Write .etc.idmapd_conf.value.General.Domain "localhost" true
Write .etc.idmapd_conf nil true
Write .sysconfig.nfs.NFS_SECURITY_GSS "yes" true
Log Cannot start 'portmap' service
Return false
Dump tmp.fstab after:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
19 changes: 15 additions & 4 deletions testsuite/tests/readwrite.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,13 @@
# Authors:
# Martin Vidner <mvidner@suse.cz>
#
# $Id$

require_relative "test_helper.rb"

module Yast
class ReadwriteClient < Client
include TestHelper

def main
# testedfiles: Nfs.ycp Service.ycp Report.ycp Testsuite.ycp

Expand Down Expand Up @@ -117,12 +121,19 @@ def main
}
}

# Change fstab name for test environment
Nfs.etc_fstab_name = FSTAB_NAME

# Using run_test from test_helper.rb to set up a temporary fstab before
# and dump it after each test
DUMP("Read")
TEST(->() { Nfs.Read }, [@READ, @WRITE, @EXECUTE], nil)
run_test(->() { Nfs.Read }, [@READ, @WRITE, @EXECUTE], nil)

DUMP("Write OK")
TEST(->() { Nfs.Write }, [@READ, @WRITE, @EXECUTE], nil)
run_test(->() { Nfs.Write }, [@READ, @WRITE, @EXECUTE], nil)

DUMP("Write KO")
TEST(->() { Nfs.Write }, [@READ, @WRITE_KO, @EXECUTE], nil)
run_test(->() { Nfs.Write }, [@READ, @WRITE_KO, @EXECUTE], nil)

nil
end
Expand Down
76 changes: 64 additions & 12 deletions testsuite/tests/readwrite2.out
Original file line number Diff line number Diff line change
@@ -1,76 +1,128 @@
Dump
Dump Read - nfs is in use & running
Dump
Read .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"reiserfs"], $["file":"/home", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/home", "vfstype":"nfs"], $["file":"/var/spool/mail", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/var/spool/mail", "vfstype":"nfs"], $["file":"/a\\040space", "freq":1, "mntops":"defaults", "passno":3, "spec":"/dev/hda7", "vfstype":"reiserfs"], $["file":"/b\\040space", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/space\\040dir", "vfstype":"nfs"]]
Dump tmp.fstab before:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Read .sysconfig.nfs.NFS4_SUPPORT "no"
Read .sysconfig.nfs.NFS_SECURITY_GSS "no"
Read .etc.idmapd_conf.value.General.Domain "localhost"
Return true
Dump tmp.fstab after:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Dump
Dump Write - nfs is in use - start services
Dump
Read .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"reiserfs"], $["file":"/home", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/home", "vfstype":"nfs"], $["file":"/var/spool/mail", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/var/spool/mail", "vfstype":"nfs"], $["file":"/a\\040space", "freq":1, "mntops":"defaults", "passno":3, "spec":"/dev/hda7", "vfstype":"reiserfs"], $["file":"/b\\040space", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/space\\040dir", "vfstype":"nfs"]]
Dump tmp.fstab before:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Execute .target.mkdir "/home" true
Execute .target.mkdir "/var/spool/mail" true
Execute .target.mkdir "/b space" true
Execute .target.bash "/bin/cp $ORIG $BACKUP" $["BACKUP":"/etc/fstab.YaST2.save", "ORIG":"/etc/fstab"] 0
Write .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"reiserfs"], $["file":"/a\\040space", "freq":1, "mntops":"defaults", "passno":3, "spec":"/dev/hda7", "vfstype":"reiserfs"], $["file":"/home", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/home", "vfstype":"nfs"], $["file":"/var/spool/mail", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/var/spool/mail", "vfstype":"nfs"], $["file":"/b\\040space", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/space\\040dir", "vfstype":"nfs"]] true
Write .sysconfig.nfs.NFS4_SUPPORT "no" true
Write .sysconfig.nfs.NFS_SECURITY_GSS "no" true
Log Cannot start 'portmap' service
Return false
Dump tmp.fstab after:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Dump
Dump Read - nfs is in use & stopped
Dump
Read .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"reiserfs"], $["file":"/home", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/home", "vfstype":"nfs"], $["file":"/var/spool/mail", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/var/spool/mail", "vfstype":"nfs"], $["file":"/a\\040space", "freq":1, "mntops":"defaults", "passno":3, "spec":"/dev/hda7", "vfstype":"reiserfs"], $["file":"/b\\040space", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/space\\040dir", "vfstype":"nfs"]]
Dump tmp.fstab before:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Read .sysconfig.nfs.NFS4_SUPPORT "no"
Read .sysconfig.nfs.NFS_SECURITY_GSS "no"
Read .etc.idmapd_conf.value.General.Domain "localhost"
Return true
Dump tmp.fstab after:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Dump
Dump Write - nfs is in use - so, start services
Dump
Read .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"reiserfs"], $["file":"/home", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/home", "vfstype":"nfs"], $["file":"/var/spool/mail", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/var/spool/mail", "vfstype":"nfs"], $["file":"/a\\040space", "freq":1, "mntops":"defaults", "passno":3, "spec":"/dev/hda7", "vfstype":"reiserfs"], $["file":"/b\\040space", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/space\\040dir", "vfstype":"nfs"]]
Dump tmp.fstab before:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Execute .target.mkdir "/home" true
Execute .target.mkdir "/var/spool/mail" true
Execute .target.mkdir "/b space" true
Execute .target.bash "/bin/cp $ORIG $BACKUP" $["BACKUP":"/etc/fstab.YaST2.save", "ORIG":"/etc/fstab"] 0
Write .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"reiserfs"], $["file":"/a\\040space", "freq":1, "mntops":"defaults", "passno":3, "spec":"/dev/hda7", "vfstype":"reiserfs"], $["file":"/home", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/home", "vfstype":"nfs"], $["file":"/var/spool/mail", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/var/spool/mail", "vfstype":"nfs"], $["file":"/b\\040space", "freq":0, "mntops":"defaults", "passno":0, "spec":"foo.bar.com:/space\\040dir", "vfstype":"nfs"]] true
Write .sysconfig.nfs.NFS4_SUPPORT "no" true
Write .sysconfig.nfs.NFS_SECURITY_GSS "no" true
Log Cannot start 'portmap' service
Return false
Dump tmp.fstab after:
File /dev/hda6 / reiserfs defaults 1 2
File foo.bar.com:/home /home nfs defaults 0 0
File foo.bar.com:/var/spool/mail /var/spool/mail nfs defaults 0 0
File /dev/hda7 /a\040space reiserfs defaults 1 3
File foo.bar.com:/space\040dir /b\040space nfs defaults 0 0
Dump
Dump Read - nfs not used & running
Dump
Read .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"ext3"]]
Dump tmp.fstab before:
File /dev/hda6 / ext3 defaults 1 2
Read .sysconfig.nfs.NFS4_SUPPORT "no"
Read .sysconfig.nfs.NFS_SECURITY_GSS "no"
Read .etc.idmapd_conf.value.General.Domain "localhost"
Return true
Dump tmp.fstab after:
File /dev/hda6 / ext3 defaults 1 2
Dump
Dump Write - nfs not used - so, stopping services
Dump
Read .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"ext3"]]
Dump tmp.fstab before:
File /dev/hda6 / ext3 defaults 1 2
Execute .target.bash "/bin/cp $ORIG $BACKUP" $["BACKUP":"/etc/fstab.YaST2.save", "ORIG":"/etc/fstab"] 0
Write .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"ext3"]] true
Write .sysconfig.nfs.NFS4_SUPPORT "no" true
Write .sysconfig.nfs.NFS_SECURITY_GSS "no" true
Return true
Dump tmp.fstab after:
File /dev/hda6 / ext3 defaults 1 2
Dump
Dump Read - nfs not used & services are stopped
Dump
Read .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"ext3"]]
Dump tmp.fstab before:
File /dev/hda6 / ext3 defaults 1 2
Read .sysconfig.nfs.NFS4_SUPPORT "no"
Read .sysconfig.nfs.NFS_SECURITY_GSS "no"
Read .etc.idmapd_conf.value.General.Domain "localhost"
Return true
Dump tmp.fstab after:
File /dev/hda6 / ext3 defaults 1 2
Dump
Dump Write - nfs not used; leave services stopped
Dump
Read .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"ext3"]]
Dump tmp.fstab before:
File /dev/hda6 / ext3 defaults 1 2
Execute .target.bash "/bin/cp $ORIG $BACKUP" $["BACKUP":"/etc/fstab.YaST2.save", "ORIG":"/etc/fstab"] 0
Write .etc.fstab [$["file":"/", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/hda6", "vfstype":"ext3"]] true
Write .sysconfig.nfs.NFS4_SUPPORT "no" true
Write .sysconfig.nfs.NFS_SECURITY_GSS "no" true
Return true
Dump tmp.fstab after:
File /dev/hda6 / ext3 defaults 1 2

0 comments on commit be0d2e5

Please sign in to comment.