mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
tests: Added test for ntfscat_i.
Test is based on file signature, it checks whether the extracted file is the $MFT. Signed-off-by: Matteo Cafasso <noxdafox@gmail.com>
This commit is contained in:
committed by
Richard W.M. Jones
parent
61b0317c12
commit
a7ea3b577f
@@ -66,6 +66,7 @@ SUBDIRS += tests/luks
|
||||
SUBDIRS += tests/md
|
||||
SUBDIRS += tests/selinux
|
||||
SUBDIRS += tests/ntfsclone
|
||||
SUBDIRS += tests/ntfscat
|
||||
SUBDIRS += tests/btrfs
|
||||
SUBDIRS += tests/xfs
|
||||
SUBDIRS += tests/charsets
|
||||
|
||||
@@ -272,6 +272,7 @@ AC_CONFIG_FILES([Makefile
|
||||
tests/nbd/Makefile
|
||||
tests/network/Makefile
|
||||
tests/ntfsclone/Makefile
|
||||
tests/ntfscat/Makefile
|
||||
tests/parallel/Makefile
|
||||
tests/protocol/Makefile
|
||||
tests/qemu/Makefile
|
||||
|
||||
26
tests/ntfscat/Makefile.am
Normal file
26
tests/ntfscat/Makefile.am
Normal file
@@ -0,0 +1,26 @@
|
||||
# libguestfs
|
||||
# Copyright (C) 2016 Red Hat Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
include $(top_srcdir)/subdir-rules.mk
|
||||
|
||||
TESTS = \
|
||||
test-ntfscat.sh
|
||||
|
||||
TESTS_ENVIRONMENT = $(top_builddir)/run --test
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(TESTS)
|
||||
53
tests/ntfscat/test-ntfscat.sh
Executable file
53
tests/ntfscat/test-ntfscat.sh
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash -
|
||||
# libguestfs
|
||||
# Copyright (C) 2016 Red Hat Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
# Test the ntfscat-i command.
|
||||
|
||||
set -e
|
||||
|
||||
if [ -n "$SKIP_TEST_NTFSCAT_SH" ]; then
|
||||
echo "$0: test skipped because environment variable is set."
|
||||
exit 77
|
||||
fi
|
||||
|
||||
rm -f test-mft.bin
|
||||
|
||||
# Skip if ntfs-3g is not supported by the appliance.
|
||||
if ! guestfish add /dev/null : run : available "ntfs3g"; then
|
||||
echo "$0: skipped because ntfs-3g is not supported by the appliance"
|
||||
exit 77
|
||||
fi
|
||||
|
||||
if [ ! -s ../../test-data/phony-guests/windows.img ]; then
|
||||
echo "$0: skipped because windows.img is zero-sized"
|
||||
exit 77
|
||||
fi
|
||||
|
||||
# download Master File Table ($MFT).
|
||||
guestfish --ro -a ../../test-data/phony-guests/windows.img <<EOF
|
||||
run
|
||||
ntfscat-i /dev/sda2 0 test-mft.bin
|
||||
EOF
|
||||
|
||||
# test extracted file is the Master File Table
|
||||
if [ `head -c 5 test-mft.bin` != "FILE0" ]; then
|
||||
echo "$0: wrong file extracted."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -f test-mft.bin
|
||||
Reference in New Issue
Block a user