Commit Graph

1422 Commits

Author SHA1 Message Date
Karel Zak 492a5c70b4 Merge branch 'xfs-v5' of https://github.com/mator/util-linux
* 'xfs-v5' of https://github.com/mator/util-linux:
  tests: Add test for current version (v5) of XFS filesystem
2019-09-06 10:33:45 +02:00
Karel Zak 91099dea35 tests: update sfdisk wipe output
- stderr is used for the warning (like in fdisk)

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-09-05 16:46:14 +02:00
Anatoly Pugachev 037bc610e5 tests: Add test for current version (v5) of XFS filesystem
Old xfs.img cannot be used with current version (5.0) of xfsprogs, so create
a new version of xfs-v5.img.

Since I wasn't able to find logs on how was created old xfs.img, saving
create log with this commit message:

$ fallocate -l 16M xfs-v5.img
$ mkfs.xfs -L test-xfs-v5 xfs-v5.img
$ ./blkid -p -o udev xfs-v5.img | sort -V > tests/expected/blkid/low-probe-xfs-v5
$ xz -c xfs-v5.img > tests/ts/blkid/images-fs/xfs-v5.img.xz

Signed-off-by: Anatoly Pugachev <matorola@gmail.com>
2019-09-03 19:08:22 +03:00
Karel Zak e7d318a9dd tests: (blkid) update regression tests (due to BLOCK_SIZE)
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-09-02 12:57:11 +02:00
Karel Zak 50c77b6afe tests: (colcrt) use env to set locale
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-30 20:46:58 +02:00
Karel Zak e3803ff869 tests: (getopt) remove unwanted paths from error output
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-30 20:46:44 +02:00
Karel Zak eb61e95f1c tests: remove unbuffered ts_run feature
It's unnecessary as stdout and stderr are split in the tests.

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-30 16:30:35 +02:00
Karel Zak 18c1f9e643 tests: add remaining stderr outputs
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-30 16:10:01 +02:00
Karel Zak cbf858aa08 tests: split stdout and stderr
* add $TS_ERRLOG for script stderr output
* add optional $TS_EXPECTED_ERR which points to expected/*/*.err

This change allows to keep track about stderr output from our commands
(already found bug in sfdisk...).

We do not have to depend on fragile stdout vs. stderr order (due to
different buffering semantic in different libc, etc.).

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-30 15:50:07 +02:00
Patrick Steinhardt 59a46f36b6 tests: use env and support both unbuffer/stdbuf
Triggered by commit f612c4c67 (tests: fix --unbuffered mode with
ASAN, 2019-08-27), which says:

    Well, this patch sucks. It would be nice to have things in
    the way how it has been original expected by Patrick's patch,
    but ...

So this commit here effectively reverts it and instead tries to
improve the shortcomings of the original patch. First, it uses
env(1) to set ASAN_OPTIONS instead of directly adding it to the
args array to fix execution of "${args[@]}" "$@".

Second, it now supports both unbuffer(1) and stdbuf(1). The
latter uses LD_PRELOAD tricks, which doesn't play nicely with
ASAN, so it will not be used if ASAN has been requested. It's
still valuable to have support for both, as many more systems
will have stdbuf(1) from coreutils installed but not unbuffer(1)
from expect.

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-28 08:56:24 +02:00
Karel Zak 71210f5bab tests: don't show diff for TS_KNOWN_FAIL
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-27 14:38:21 +02:00
Karel Zak 751fae0d96 tests: improve unbuffer check
* remove obsolete stdbuf check

* check for unbuffer command in ts_run() than skip all test

Reported-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-27 14:28:11 +02:00
Patrick Steinhardt 2ede7ec214 tests: (fdisk) avoid hardcoding of errno string
The test fdisk/oddinput hardcodes strings returned by strerror(3P) for
both the errors ENOENT and ENOTTY. As these strings are unportable,
convert the tests to use the test_strerror helper instead to convert
them with sed(1).

Signed-off-by: Patrick Steinhardt <ps@pks.im>
2019-08-27 14:25:32 +02:00
Karel Zak f612c4c674 tests: fix --unbuffered mode with ASAN
Unfortunately, ASAN is pretty sensitive to LD_PRELOAD, but stdbuf from
coreutils is based on LD_PRELOAD. So, I have replaced stdbuf with
unbuffer (from expect pkg).

The another problem is "${args[@]}" "$@" which does not work as expected.

Well, this patch sucks. It would be nice to have things in the way
how it has been original expected by Patrick's patch, but ...

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-27 13:02:38 +02:00
Patrick Steinhardt eebc9e4dc2 tests: (col) avoid hardcoding of errno string
The col/multibyte test has a hardcoded error string as part of its
expected output that is returned by glibc's strerror(3P) function. Even
though many of these strings are the same across libc implementations,
they are not standardiced and some are certainly different. One example
is the string for EILSEQ on musl libc.

To fix this, we introduce a new test helper "test_strerror". The helper
can be invoked with an error code like "EILSEQ", which will cause it to
print out the the respective error message for that code. Note that
"test_strerror" cannot act on the error's value (e.g. 84 for EILSEQ), as
these aren't standardized either. Instead, we thus need to have an array
of the error's string representation ("EILSEQ") to its respective error
code (the define EILSEQ). The array can trivially be extended as
required, thus it is only sparsely populated with EILSEQ right now.

To fix the col/multibyte test, we introduce a call to sed(1) to replace
the strerror(3P) message from EILSEQ with "EILSEQ". Furthermore, as
we're running tests with the POSIX locale by default which treats all
bytes as valid multibyte sequences, we have to change to the C.UTF-8
locale instead to actually get an error.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
2019-08-27 09:37:01 +02:00
Patrick Steinhardt 6ef9a9e184 tests: (column) use actually invalid multibytes to test encoding
If reading an invalid multibyte sequence, column(1) will encode the byte
as "\x<hex>" instead. The tests try to verify that by piping "£" into
column(1). As the tests run with LC_ALL=POSIX by default, though, libc
implementations strictly adhering to the POSIX standard will treat all
characters as valid multibyte characters. As a consequence, no EILSEQ is
raised by mbtowc(3P) and the character is not encoded as hex, breaking
the test.

Fix this by setting LC_ALL=C.UTF-8. As "£" is a valid UTF-8 character,
we also change the test to use a proper illegal multibyte sequence.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
2019-08-27 09:36:50 +02:00
Patrick Steinhardt 5718f8d96b tests: (colcrt) fix reliance on EILSEQ in POSIX locale
The input file "crash1" in the colcrt/regressions test contains the
illegal byte sequence "\x94\x7e". While "\x7e" is '~', "\x94" is not a
valid character. Thus, the test assumes that getwc(3P) will return
`WEOF` and set `errno=EILSEQ`, causing colcrt(1) to abort reading the
stream and thus not print the trailing '~'.

This assumption holds just fine for glibc as it will dutifully report
EILSEQ, but musl libc will happily read the complete stream without
complaining about the illegal character. But in fact, as tests run with
LC_ALL=POSIX by default, glibc's behaviour is wrong while musl is right.
Quoting mbrtowc(3P) from POSIX.1-2017:

    [EILSEQ] An invalid character sequence is detected. In the POSIX locale an
             [EILSEQ] error cannot occur since all byte values are valid
             characters.

Fix the issue by running the colcrt tests with C.UTF8 locale.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
2019-08-27 09:36:38 +02:00
Patrick Steinhardt 8892f94c57 tests: (libfdisk) remove reliance on buffer behaviour of standard streams
The tests in libfdisk/mkpart-full all rely on the buffering behaviour of
standard output and standard error streams, most importantly that stderr
is non-buffering and stdout is buffering. This doesn't hold on all libc
implementations when redirecting to a file, breaking the test suite on
such platforms.

Use `ts_run --unbuffered` to stop buffering of the standard output
stream to fix this.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
2019-08-27 09:36:26 +02:00
Patrick Steinhardt 801d689e47 tests: remove reliance on buffer behaviour of stderr/stdout streams
In the test cases "rename::exit_codes" and "rename::exit_codes", we rely
on the flushing behaviour of stderr and stdout streams relative to each
other. Streams in glibc will not flush on newlines if stdout is pointing
to a non-TTY file descriptor, but relying on this is fragile and may
break on systems with a different behaviour like musl libc.

Fix this by introducing a new parameter "--unbuffered" to `ts_run`. If
this parameter is passed and stdbuf(1) from coreutils is available, then
it will use it to disable buffering of standard output completely. Like
this, we can selectively run tests with this if ordering of messages
from stdout and stderr is being checked.

Signed-off-by: Patrick Steinhardt <ps@pks.im>

x
2019-08-27 09:36:05 +02:00
Karel Zak 5200aa99d2 partx: document -d vs. --nr and fix test
The commit ab025087f9 has disabled error
message, but unfortunately it keeps wrong return code. This has been fixed
by commit 53ae7d60cf.

This commit add hit about it to docs and fix regression test too.

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-21 13:42:22 +02:00
Karel Zak 424b66c514 tests: Skip fdisk/mbr-nondos-mode on Sparc as unsupported
The test has been originally designed as usable on sparc, but now we
use it for many features which are MBR specific.

Reported-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Co-Author: Anatoly Pugachev <matorola@gmail.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-19 14:30:35 +02:00
Karel Zak c60231a744 tests: update fdisk output
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-08 14:20:05 +02:00
Karel Zak 11aaedf574 tests: use subtests for mountpoint(1)
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-08-07 11:45:57 +02:00
Sami Kerola 6d56251220
mountpoint: add --nofollow option
The no follow option will allow user to distinct mount points from symbolic
links pointing to them.  Arguably this is pretty pedantic option, mounting a
device or bind mount to a directory via symlink does not have or cause any
issues.

Addresses: https://github.com/karelzak/util-linux/issues/832
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2019-08-02 19:39:05 +01:00
Yousong Zhou 325bfd53e8 column: fix outputing empty column at the end of line
The following commands manifests the problem.  In old versions before
commit 4762ae9d60 ("column: use libsmartcols for --table"), both of them
should output with 2 "|"

	echo '||'  | column -o '|' -s '|' -t
	echo '|| ' | column -o '|' -s '|' -t

Fixes: 4762ae9d60 ("column: use libsmartcols for --table")
Signed-off-by: Yousong Zhou <zhouyousong@yunionyun.com>
Reviewed-by: Sami Kerola <kerolasa@iki.fi>
2019-07-29 10:33:58 +02:00
Karel Zak 7ea0907364 tests: (fdisk) update padding in output
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-07-23 16:35:20 +02:00
Karel Zak fc970a0947 tests: (libsmartcols) add padding tests
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-07-23 16:26:48 +02:00
Karel Zak 94dbb32273 libsmartcols: cleanup and extend padding functionality
LIBSMARTCOLS_DEBUG_PADDING=on in the next examples forces libsmartcols
print '.' as a padding char. See line "ffff" in the exmaples.

* default output is to fill all except last cell

	$ LIBSMARTCOLS_DEBUG_PADDING=on ./sample-scols-fromfile --nlines 10  --width 80 --column tests/ts/libsmartcols/files/col-name --column tests/ts/libsmartcols/files/col-number --column tests/ts/libsmartcols/files/col-string --column tests/ts/libsmartcols/files/col-string tests/ts/libsmartcols/files/data-string tests/ts/libsmartcols/files/data-number tests/ts/libsmartcols/files/data-string-empty tests/ts/libsmartcols/files/data-string-empty 2> /dev/null
	NAME.. ......NUM STRINGS STRINGS
	aaaa.. ........0 aaaa... aaaa
	bbb... ......100 bbb.... bbb
	ccccc. .......21 ccccc.. ccccc
	dddddd ........3 dddddd. dddddd
	ee.... ......411 ee..... ee
	ffff.. .....5111 .......
	gggggg 678993321 gggggg. gggggg
	hhh... ..7666666 hhh.... hhh

* scols_table_enable_minout() minimizes output for tailing empty cells, example:

	$ LIBSMARTCOLS_DEBUG_PADDING=on ./sample-scols-fromfile --nlines 10 --minout  --width 80 --column tests/ts/libsmartcols/files/col-name --column tests/ts/libsmartcols/files/col-number --column tests/ts/libsmartcols/files/col-string --column tests/ts/libsmartcols/files/col-string tests/ts/libsmartcols/files/data-string tests/ts/libsmartcols/files/data-number tests/ts/libsmartcols/files/data-string-empty tests/ts/libsmartcols/files/data-string-empty 2> /dev/null
	NAME.. ......NUM STRINGS STRINGS
	aaaa.. ........0 aaaa... aaaa
	bbb... ......100 bbb.... bbb
	ccccc. .......21 ccccc.. ccccc
	dddddd ........3 dddddd. dddddd
	ee.... ......411 ee..... ee
	ffff.. .....5111
	gggggg 678993321 gggggg. gggggg
	hhh... ..7666666 hhh.... hhh

* cleanup up scols_table_enable_maxout() use, example:

	$ LIBSMARTCOLS_DEBUG_PADDING=on ./sample-scols-fromfile --nlines 10 --maxout  --width 80 --column tests/ts/libsmartcols/files/col-name --column tests/ts/libsmartcols/files/col-number --column tests/ts/libsmartcols/files/col-string --column tests/ts/libsmartcols/files/col-string tests/ts/libsmartcols/files/data-string tests/ts/libsmartcols/files/data-number tests/ts/libsmartcols/files/data-string-empty tests/ts/libsmartcols/files/data-string-empty 2> /dev/null
	NAME.............. ..................NUM STRINGS............ STRINGS............
	aaaa.............. ....................0 aaaa............... aaaa...............
	bbb............... ..................100 bbb................ bbb................
	ccccc............. ...................21 ccccc.............. ccccc..............
	dddddd............ ....................3 dddddd............. dddddd.............
	ee................ ..................411 ee................. ee.................
	ffff.............. .................5111 ................... ...................
	gggggg............ ............678993321 gggggg............. gggggg.............
	hhh............... ..............7666666 hhh................ hhh................

Note that we cannot make scols_table_enable_minout() default because
for example "column --table" is pretty commonly used with non-blank
columns separator and in this case all cells has to be filled.

	$ echo -e "aa,b,ccc\na,,\naaa,bbb,ccc" |  column --table --separator ',' --output-separator '|'
	aa |b  |ccc
	a  |   |
	aaa|bbb|ccc

Addresses: https://github.com/karelzak/util-linux/issues/826
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-07-23 16:24:42 +02:00
Karel Zak 8ebecc18e8 tests: (libmount) make X-* and x-* more robust
Addresses: https://github.com/karelzak/util-linux/issues/818
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-07-15 12:46:11 +02:00
Karel Zak d06ffd28d4 tests: update build-sys output
It seems, no more libgcc_s...

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-06-14 12:06:58 +02:00
Karel Zak bb272bb85e tests: add asan build-sys test
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-05-29 13:22:01 +02:00
Sami Kerola 23df051030
lscpu: fix floating point exception
As the title tells this change indeed fixes floating point exception, but
post processing as value overwrite feels a wrong.  Possibly something in
input is making cpu set count to go wrong, but I could not get my head
around what could it be.  Anyway avoiding division by zero seems better than
crashing so lets do this atleast for now.

Caused-by: e5f721132e
Addresses: https://github.com/karelzak/util-linux/issues/788
Reported-by: Lars Wendler <polynomial-c@gentoo.org>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2019-05-18 18:43:08 +01:00
Sami Kerola 30d5ceeda8
lscpu: remove extra space from field key name
The extra space was more obvious in json output.  But as the expected test
output displays also the standard output can be effected by this change.

    $ lscpu --json | jq '.lscpu | .[].field' | grep ': '
    "L1d cache: "
    "L1i cache: "
    "L2 cache: "
    "L3 cache: "
    "Vulnerability L1tf: "
    "Vulnerability Mds: "
    "Vulnerability Meltdown: "
    "Vulnerability Spec store bypass: "
    "Vulnerability Spectre v1: "
    "Vulnerability Spectre v2: "

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2019-05-16 22:04:03 +01:00
Sami Kerola b94acada9e
lscpu: move trailing null after removing characters from a string
From the test input string ':' characters are removed:

    cat x86_64-epyc_7451/sys/devices/system/cpu/vulnerabilities/spectre_v2
    Mitigation: Full AMD retpoline, IBPB: conditional, STIBP: disabled, RSB filling

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2019-05-16 11:45:47 +01:00
Karel Zak df8434230b tests: build-sys update
* libblkid does not depend on libuuid anymore
* libncurses depends on libdl due to

  $ ncursesw6-config --libs
  -lncursesw -ltinfo -ldl

* new command hardlink (with dependence on libpcre2-8
* hwclock needs librt

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-04-29 14:47:19 +02:00
Karel Zak 0b17c997c0 tests: auto-enable ASAN option if necessary
Let's detect ASAN LDFLAGS in top level Makefile to make sure we call
tests with --memcheck-asan if build-system has been configured with
--enable-asan.

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-04-24 12:24:15 +02:00
Karel Zak 19bc8ef897 tests: fix TS_ENABLE_ASAN usage
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-04-17 10:38:50 +02:00
Karel Zak 2da48ba3cc tests: use TS_ENABLE_ASAN in tests to detect ASAN
It seems better to not use any random ASAN variable.

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-04-17 10:10:46 +02:00
Karel Zak 1271e63c49 tests: ignore errors with enabled ASAN in python bindings
temporary solution... as it ends with
	undefined symbol: __asan_option_detect_stack_use_after_return

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-04-15 12:58:48 +02:00
Karel Zak 8b2464ae2a tests: update lscpu due to 'Vulnerability' fields
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-04-11 13:55:51 +02:00
Karel Zak 5b13d6a1c9 tests: add /mnt/test/foo^Mbar to mountinfo tests
Addresses: https://github.com/karelzak/util-linux/issues/780
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-04-08 15:22:27 +02:00
Karel Zak 0e86bc8406 lscpu: add --caches
$ lscpu -C
NAME ONE-SIZE ALL-SIZE WAYS TYPE        LEVEL
L3         8M       8M   16 Unified         3
L2       256K       1M    8 Unified         2
L1i       32K     128K    8 Instruction     1
L1d       32K     128K    8 Data            1

The patch also updates extra caches (s390) output in lsblk summary to
be compatible with output about normal caches.

Addresses: https://github.com/karelzak/util-linux/issues/663
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-03-19 14:11:20 +01:00
Karel Zak 1b4b184cc8 tests: update lscpu output
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-03-19 13:56:26 +01:00
Karel Zak 16ca05511b lscpu: add 'Frequency boost'
Show turbo boost status on platforms where is available a file
/sys/devices/system/cpu/cpufreq/boost.

Addresses: https://github.com/karelzak/util-linux/issues/755
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-03-15 13:37:51 +01:00
Karel Zak 2648be66d2 tests: add missing ts_check_test_command call
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-03-05 13:56:33 +01:00
Karel Zak 7c90efa384 tests: add --noskip-commands
The default is SKIP missing commands on --use-system-commands, but
with --noskip-commands the test will FAIL.

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-03-05 11:06:41 +01:00
Karel Zak bb872a239c tests: add missing TS_CMD_UMOUNT check
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-03-04 17:32:03 +01:00
Karel Zak 2fadcded53 tests: (kill) do not use shell build-in
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-03-04 17:28:15 +01:00
Karel Zak 43b4a4d3c7 tests: add --use-system-commands
This change allows to use commands from $PATH rather than from
$top_builddir. There two basic use cases:

* check differences between installed and git version
  run.sh --use-system-command --show-diff

* check system binaries by upstream tests (for example tests from
  src.rpm package)

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-03-04 17:14:12 +01:00
Karel Zak 19e00ec9e9 tests: add missing ts_check_test_command calls
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-03-04 16:42:30 +01:00
Karel Zak 3cd5e33b5c Merge branch 'evelu-epyc' of https://github.com/ErwanAliasr1/util-linux
* 'evelu-epyc' of https://github.com/ErwanAliasr1/util-linux:
  test: Adding AMD EPYC 7451 24-Core Processor
2019-03-04 11:46:16 +01:00
Karel Zak 09fc947089 tests: make sure TS_HELPER_MBSENCODE compiled
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-03-01 15:04:54 +01:00
Karel Zak 777c159353 tests: use subtests in fdisk/mbr-nondos-mode
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-02-27 12:22:33 +01:00
Karel Zak ca614ef8c7 tests: add fdisk (dos) first sector dialog test
The test verifies that the "First sector" dialog offers relevant range
in the begin of the device if the end of the device is already used.

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-02-27 12:03:28 +01:00
Erwan Velu b24c7d585d test: Adding AMD EPYC 7451 24-Core Processor
This cpu is massively numa and have interesting cache organization.
This will be useful to test & implement issue #663

Signed-off-by: Erwan Velu <e.velu@criteo.com>
2019-02-27 10:16:27 +01:00
Karel Zak 911e694528 libmount: add mnt_table_{find,insert,move}_fs()
Add functions to insert FS into table to specified position and to
move FS between two tables.

Co-Author: Tim Hildering <hilderingt@posteo.net>
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-02-21 13:49:39 +01:00
Karel Zak f920f73d83 tests: update fdisk outputs
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-02-12 14:22:49 +01:00
Karel Zak 3b9dc305ee tests: (hardlink) update noregex
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-02-11 14:53:51 +01:00
Karel Zak 5c8f6fce22 tests: (hardlink) update summary output
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-02-11 10:37:42 +01:00
Karel Zak 117f4d8bf4 Merge branch 'hardlink' of https://github.com/rudimeier/util-linux into hardlink
* 'hardlink' of https://github.com/rudimeier/util-linux: (25 commits)
  hardlink: add first simple tests
  hardlink: util-linux usage
  hardlink: fix compiler warnings
  hardlink: style indentations and license header
  hardlink: enable build with and without pcre2
  fixes for the fixes
  temporal fix before re-patch (updates from Fedora repo)
  Update hardlink.1
  Fixed version number, added changelog about Todd Lewis' patch
  exclude files via pcre
  Fixed 32 bit build with gcc7 (RH Bugzilla ID 1422989)
  spec file reflects the atomic hardlinking patch; removed cleaning buildroot (redundant); update FSF address at .c source file
  Revert "spec file reflects the atomic hardlinking patch; removed cleaning buildroot (redundant); current FSF address at .c source file"
  spec file reflects the atomic hardlinking patch; removed cleaning buildroot (redundant); current FSF address at .c source file
  Mention -f option in the man page
  do not allow to hardlink files across filesystems by default (#786719) (use -f option to override)
  fix possible buffer overflows, integer overflows, update man page
  fix URL and remove mmap() (#676962, #672917)
  - update docs to describe highest verbosity -vv option (#210816) - use dist Resolves: 210816
  mostly spec cleanup
  ...
2019-02-06 13:55:20 +01:00
Karel Zak cc06250f11 col: improve error message, update regression test
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-02-05 18:07:26 +01:00
Kenneth Van Alstyne 36b0530e12 Removed BlueStore VERSION information as it is gibberish 2018-12-17 20:21:32 -06:00
Kenneth Van Alstyne c011711ad6 Updated BlueStore expected result 2018-12-17 12:07:14 -06:00
Kenneth Van Alstyne 6032c9f1f8 Added BlueStore test image 2018-12-17 11:05:24 -06:00
Karel Zak 9e07672bb9 tests: check for tar and {b,g}zip
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-12-11 11:44:48 +01:00
Karel Zak 0d79f5805f tests: make lsns-netnsid portable
It seems ip(8) link-show command does not provide link-netnsid in all
cases (versions ?). Let's try to use "ip netns list-id" as fallback.

This commit also add possibility to debug the script by $LOG variable.

Signed-off-by: Karel Zak <kzak@redhat.com>
2018-11-30 12:24:15 +01:00
Karel Zak 7174b93dfd tests: enlarge backing file for fstab-btrfs
It seems the new limit for Btrfs is 47MiB.

Signed-off-by: Karel Zak <kzak@redhat.com>
2018-11-30 12:22:48 +01:00
Roland Kammerer 627a0efa75 tests: add test images for drbd v08/v09
This adds DRBD meta data images for DRBD versions 8 and 9, as well as
the according expected output.

Signed-off-by: Roland Kammerer <roland.kammerer@linbit.com>
2018-11-29 10:35:25 +01:00
Ruediger Meier bd0be5e02a hardlink: add first simple tests
The test still fails without pcre2 and may also make problems on
exotic file systems.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-11-15 21:26:14 +01:00
Thomas Deutschmann 8f93c8c71d
tests: run oids test only when uuidgen tool was built
oids test did not check if uuidgen was available.

oids test was also calling uuidgen from PATH which could result
in wrong results if uuidgen from a previous util-linux installation
was used.

With this commit we will check if uuidgen was built and make sure
that we only call the uuidgen binary we just built. If uuidgen is
not available we will skip this test.
2018-11-11 02:18:25 +01:00
Karel Zak 99c92a4820 tests: add choom to build-sys test
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-09-24 11:37:13 +02:00
Karel Zak a1b463d94a tests: update sfdisk resize
due to 2f35c1ead6

Signed-off-by: Karel Zak <kzak@redhat.com>
2018-09-17 16:22:14 +02:00
Karel Zak 7edaf221d6 test: update UUID v5 tests
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-08-31 12:48:46 +02:00
Karel Zak 1e3bc261d0 tests: update fdisk output
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-08-30 15:24:41 +02:00
Karel Zak 11159cca21 tests: add column --table-empty-lines test
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-08-23 13:41:05 +02:00
Karel Zak f2538b6a86 tests: add cal --span tests
Addresses: https://github.com/karelzak/util-linux/issues/677
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-08-07 11:06:13 +02:00
Karel Zak 549281cb87 tests: check for test_cal
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-08-07 10:59:06 +02:00
Karel Zak c6789d37ea tests: update lscpu tests
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-08-01 12:09:09 +02:00
Karel Zak d68588b0c6 tests: update fdisk dialogs
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-07-31 15:20:55 +02:00
Karel Zak 690fa00b6c tests: add mountinfo with empty source
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-07-10 14:04:09 +02:00
Karel Zak 91d28f5986 tests: add simple LVM lsblk dump
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-06-21 13:19:28 +02:00
Karel Zak d6d24dda29 tests: add simple ATA and NVME lsblk dump
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-06-21 13:19:28 +02:00
Karel Zak 314adce668 tests: add lsblk test script
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-06-21 13:19:28 +02:00
Karel Zak 8ab664a77e tests: add simple & stupid script to generate lsblk /sys and /proc dump
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-06-21 13:19:28 +02:00
Karel Zak 641af90dce tests: add empty column test
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-06-04 15:27:54 +02:00
Sami Kerola 4520caa11e tests: move stderr redirection out from test expression
Fix shellcheck error.

if ! [ "$paraller_jobs" -ge 0 2>/dev/null ]; then
^-- SC1009: The mentioned parser error was in this if expression.
     ^-- SC1073: Couldn't parse this test expression.
                              ^-- SC1072: Expected test to end here (don't
                                  wrap commands in []/[[]]). Fix any
                                  mentioned problems and try again.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2018-05-28 13:36:38 +02:00
Pali Rohár 4c837d4ffe libblkid: udf: Fix reporting UDF 2.60 revision
According to the UDF 2.60 specification, the Minimum UDF Read Revision
value shall be at most #0250 for all media with a UDF 2.60 file system.

So in this case use Minimum UDF Write Revision as ID_FS_VERSION to
distinguish between UDF 2.50 and UDF 2.60 discs.

This commit also adds a testing Blu-Ray Recordable image with UDF revision
2.60 created by Nero which really sets Minimum UDF Read Revision to 2.50.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
2018-05-25 17:52:31 +02:00
Karel Zak aa4e132f57 tests: update script done messages
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-05-14 13:54:41 +02:00
Karel Zak 400c1c574b tests: update script headers
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-05-14 12:57:39 +02:00
Karel Zak 4dfdb1b143 tests: remove debug stuff from ts/script/options
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-05-14 11:56:46 +02:00
Fred Mora aefe989338 script: add the -o/--output-limit option. Fix race test.
When script is used on a host with a relatively small free disk space, it
is sometimes desirable to limit the size of the captured output. This
can now be enforced with the --output-limit option.

The --output-limit option lets the user specify a maximum size. The program
uses the size parsing from strutils and thus supports the usual
multiplicative suffixes (kiB, KB, MiB, MB, etc.). After the specified
number of bytes have been written to the output file, the script program
will terminate the child process.

Due to buffering, the size of the output file might exceed the specified
limit. This limit also does not include the start and done messages.

The race test was throwing an error dur to a variable being "" in some cases.
Quoting the variable in the equal test took care of that test.

[kzak@redhat.com: - use done() to stop script
                  - count also timing file
                  - remove unnamed member initialization in ctl struct
                  - add to bash-completion]

Signed-off-by: Fred Mora <fmora@datto.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-05-14 11:32:23 +02:00
Karel Zak 6156e12972 tests: update sfdisk JSON output
References: d881b77331
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-04-06 13:39:35 +02:00
Karel Zak 704f9ba6e6 lsmem: improve JSON output
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-04-05 12:14:46 +02:00
Karel Zak a40c12837f tests: update JSON outputs
It does not contains extra space after ":" separator anymore.

Signed-off-by: Karel Zak <kzak@redhat.com>
2018-04-04 14:22:04 +02:00
Karel Zak 5c25aca67a tests: remove namei(1) failed lstat test
The strerror() output is is nothing stable and may be different on
another systems. It would be possible to use sed(1) to unify the
output, but it seems overkill in this case.

Signed-off-by: Karel Zak <kzak@redhat.com>
2018-03-27 14:21:46 +02:00
Karel Zak 04060bc3f1 Merge branch 'master' of https://github.com/pali/util-linux
* 'master' of https://github.com/pali/util-linux:
  tests: Add tests for FAT32 labels
  blkid: Encode any field which starts with LABEL in same way as LABEL field
  libblkid: vfat: Change parsing label in special cases
2018-03-27 12:54:53 +02:00
Karel Zak dfffcf0cd3 tests: update column(1) space-separator test
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-03-27 11:52:54 +02:00
Karel Zak 651c5d428c column: fix leading space characters bug
The bug has been introduced during column(1) rewrite. The function
read_input() need to skip leading space only temporary to detect empty
lines, but the rest of the code has to use the original buffer (line).
I've tried to fix one of the symptoms by 5c7b67fbbf
(alter), but this solution is unnecessary and too complex.

Changes:

* don't ignore leading space
* remove unnecessary stuff introduced by 5c7b67fbbf
* fix regression test with incorrect separator

Addresses: https://github.com/karelzak/util-linux/issues/575
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1560283
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-03-27 10:55:27 +02:00
Karel Zak 51684b312e tests: use libtool to execute with valgrind
The libtool based build system uses scripts rather than real binaries
in $top_builddir. It's necessary to use libtool --mode=execute to call
valgrind for the real binary (from .libs/).

Signed-off-by: Karel Zak <kzak@redhat.com>
2018-03-21 12:23:22 +01:00
Karel Zak 5a2b7739b0 tests: update lsmem
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-03-20 19:06:22 +01:00
Karel Zak 6ffdfda846 tests: add /proc/swaps libmount parser test
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-03-20 13:34:31 +01:00
Ruediger Meier 9ca02cf52d tests: consolidate ts_device_has UUID or LABEL
Regarding parallel root checks ...

 - fix: add a few missing "udevadm settle" where we are using LABELs or UUIDs

 - introduce ts_udevadm_settle():
    * Still trivial implementation. The idea is to use it in future for all
      tests instead of directly calling "udevadm settle". So we could add debug
      messages, wait for specific events, add code for non-udev systems or even
      use "udevadm --{start,stop}-exec-queue" to be really sure what we are
      doing and why using udevadm at all.
    * The currently unused args may be used in future and show the code reader
      already now why we are calling "udevadm settle" at all.
    * So far this patch only affects swapon/, mount/, libmount/ tests, and is
      only about UUIDs and LABELs, but may be continued later for "partitions",
      "md devices", whatever.
    * We are calling ts_udevadm_settle() right *before* we need a LABEL or
      UUID, not just *after* we created one. This may be a bit better for
      speed and shows the code reader which command would fail without settle.

 - function ts_device_has_uuid() is unused now, we trust blkid(1). Renamed to
   ts_is_uuid() in case we would need it again.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-19 11:46:11 +01:00
Ruediger Meier ec182d8b9d tests: fix grep expressions for devices
ts_is_mounted "/dev/loop1" returned true if /dev/loop17 was
mounted. A very annoying source of sporadic failures since
many years. This issue became more visible since running the
checks in parallel, which increases the probability to get
bigger loop device numbers.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-19 11:46:11 +01:00
Ruediger Meier 07b1ea7c44 tests: handle xargs errors and invalid args
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-19 11:46:11 +01:00
Ruediger Meier a2db0b1aae tests: add ipcslimits lock
These two tests conflict. Interestingly, this is our first lock for
a non-root check.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-09 09:57:23 +01:00
Ruediger Meier c16590f2ee tests: fix losetup race
Also avoid some "no-reentrant" tests.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-09 09:57:23 +01:00
Ruediger Meier 539b0b09ea tests: re-introduce bash 3 compatibility (OSX)
Bash 4 is now almost 10 years old and it seemed to be fine in 613a337e
to use associative arrays. Unfortunately OSX will probably never update
to 4 because of GPLv3. We don't want to lose our travis OSX build and
use plain arrays again.

BTW remove that "informative warnings" about unlocked resources. They
were only silent so far because of a bug. Any system where scsi_debug
is broken would print a lot of these warnings. This also tells us that
we could even stop calling ts_unlock() explicitly. Just exiting the
tests would be good enough.

Note that currently flock(1) is not available on our OSX build anyways.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-08 12:04:44 +01:00
Ruediger Meier 5917d17f0d travis: use parallel root checks
Also improve CPU count detection for tests.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-07 20:49:25 +01:00
Ruediger Meier 55a680c17f tests: dont't timeout flock
The only situation where we would block endless is if another parallel test
has the lock and hangs for another reason. This means that the other test
would still keep hanging even if we timeout here. The user would have to
interrupt the other test or the whole test-suite anyways.

Note that we would certainly run into any timeout when using --parallel=200,
so that all scsi tests start the same time.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-07 19:12:54 +01:00
Ruediger Meier b0d9114a61 tests: don't use unlocked resources
The test-suite did not survive when flock timeouts after 30s because
then ts_cleanup_on_exit() may use resources (e.g. rmmod scsi_debug)
while not having the lock.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-07 19:11:36 +01:00
Ruediger Meier 613a337ed4 tests: don't lock fd 1 (stdout), don't use /proc/$$/fd
On debian-kfreebsd we've locked stdout which messed up our test logs. Using
/proc/*/fd/ is not portable. Even ts_init's test for "/proc/self/fd"
does not help because /proc/*/fd behaves strange here:

  $ ls -l  /proc/$$/fd
  lr--r--r-- 1 rudi user 0 Mar  6 23:11 /proc/2194/fd -> unknown
  $ file /proc/$$/fd
  /proc/2194/fd: broken symbolic link to `unknown'
  ## wtf?
  $ test -d /proc/$$/fd; echo $?
  0
  $ ls -l  /proc/$$/fd/
  ls: cannot access /proc/2194/fd/: No such file or directory
  ## but
  $ ls -l  /proc/self/fd/
  total 0
  cr-xr-xr-x 1 root root 0, 3 Mar  6 19:39 0
  cr-xr-xr-x 1 root root 0, 4 Mar  6 19:39 1
  cr-xr-xr-x 1 root root 0, 5 Mar  6 19:39 2
  cr-xr-xr-x 1 root root 0, 6 Mar  6 19:39 3

This is how this patch changes the test output:

[...]
         blkid: partitions probing: [06] sgi                  ... OK
         blkid: partitions probing: [07] sun                  ... OK
         blkid: partitions probing                            ... OK (all 7 sub-tests PASSED)
-ls: cannot access /proc/66215/fd/: No such file or directory
+        blkid: mbr-wholedisk                                 ... SKIPPED (missing scsi_debug module (dry-run))
         blkid: MD raid0 (whole-disks)                        ... SKIPPED (losetup not found)
         blkid: MD raid1 (last partition)                     ... SKIPPED (missing in PATH: mdadm)
         blkid: MD raid1 (whole-disks)                        ... SKIPPED (losetup not found)
@@ -343,11 +343,11 @@
         dmesg: facilities                                    ... SKIPPED (test_dmesg not found)
         dmesg: indentation                                   ... SKIPPED (test_dmesg not found)
         eject: umount                                        ... SKIPPED (eject not found)
-ls: cannot access /proc/69561/fd/: No such file or directory
-ls: cannot access /proc/69609/fd/: No such file or directory
+        fdisk: align 512/4K                                  ... SKIPPED (missing scsi_debug module (dry-run))
+        fdisk: align 512/4K +alignment_offset                ... SKIPPED (missing scsi_debug module (dry-run))
         fdisk: align 512/4K +MD                              ... SKIPPED (missing in PATH: mdadm)
         fdisk: align 512/512                                 ... SKIPPED (losetup not found)
[...]

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-07 18:41:04 +01:00
Ruediger Meier aa00f7441d tests: add wierd sleep for libmount/context
I still don't understand why this helps to fix these tests on my system.
udevadm settle had no positive effect. Adding the sleeps before
"is_mounted" also didn't fixed that, that's amazing!?

Below the test log, very often seen on my system since a long time:

-------------------- util-linux regression tests --------------------

                    For development purpose only.
                 Don't execute on production system!

       kernel: 4.4.104-39-default

     libmount: context: [01] mount-by-devname                ... OK
     libmount: context: [02] umount-by-devname               ... OK
     libmount: context: [03] mount-by-label                  ... OK
     libmount: context: [04] umount-by-mountpoint            ... OK
     libmount: context: [05] mount-by-uuid                   ... FAILED (libmount/context-mount-by-uuid)
     libmount: context: [06] mount-flags                     ... FAILED (libmount/context-mount-flags)
     libmount: context: [07] mount-loopdev                   ... OK
     libmount: context: [08] x-mount.mkdir                   ... OK
     libmount: context: [09] X-mount.mkdir                   ... OK
     libmount: context                                       ... FAILED (2 from 9 sub-tests)

---------------------------------------------------------------------
  1 tests of 17 FAILED
---------------------------------------------------------------------

rudi@zappa:~/devel/util-linux/build> cat tests/diff/libmount/context-mount-by-uuid
--- /home/rudi/devel/util-linux/tests/expected/libmount/context-mount-by-uuid   2017-07-03 12:20:24.144845538 +0200
+++ /home/rudi/devel/util-linux/build/tests/output/libmount/context-mount-by-uuid       2018-01-24 00:42:18.549444408 +0100
@@ -1,2 +1,3 @@
 successfully mounted
-successfully umounted
+failed to umount
+FAILED [rc=16]/dev/sdb1 still mounted

rudi@zappa:~/devel/util-linux/build> cat tests/diff/libmount/context-mount-flags
--- /home/rudi/devel/util-linux/tests/expected/libmount/context-mount-flags     2017-07-03 12:20:24.148845497 +0200
+++ /home/rudi/devel/util-linux/build/tests/output/libmount/context-mount-flags 2018-01-24 00:42:18.725442931 +0100
@@ -1,5 +1,5 @@
+test_mount_context: failed to mount: Device or resource busy
+FAILED [rc=16]rw,relatime
 successfully mounted
-ro,nosuid,noexec
-successfully mounted
-rw,nosuid,noexec
+rw,relatime
 successfully umounted

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-07 18:36:17 +01:00
Ruediger Meier 80ea6e24f3 tests: add some more udevadm settle
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-07 18:36:11 +01:00
Ruediger Meier eb10dbc159 uuidd: don't truncate long socket paths
This was the error
  uuidd: couldn't bind unix socket /var/tmp/portage/sys-apps/util-linux-2.31.1/work/util-linux-2.31.1-abi_x86_64.amd64/tests/output/uuid/uuiddkOcTUuoZ7kaP3: Address already in use

because the socket path was truncated to 108 chars which was luckily
an existing directory.

Now we abort early with "uuidd: socket name too long: ... "

Reported-by: Thomas Deutschmann <whissi@gentoo.org>
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-07 11:50:05 +01:00
Ruediger Meier 7eb1320bf7 tests: use pgrep instead of ps --ppid ...
The usage looks a bit cleaner, and I guess that pgrep(1) is available
on the same machines where "ps --ppid" would work (procps-ng).

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-02-16 11:20:42 +01:00
Ruediger Meier 73afd3f8e8 misc: fix typos using codespell
Some more funny typos, please review carefully.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-02-16 11:12:52 +01:00
Ruediger Meier 497a261ada tests: add udevadm settle to sfdisk/resize
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-02-15 21:32:15 +01:00
Karel Zak 3289bd6eef tests: update build-sys tests
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-02-13 10:42:44 +01:00
Karel Zak 1800de76ba tests: column(1) test for space-char separator
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-02-12 14:19:47 +01:00
Karel Zak f2c3c3a14f tests: column(1) test non-space separator at begin of line
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-02-12 14:14:50 +01:00
Karel Zak 73f617ca63 tests: add mpool blkid test image
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-02-05 11:58:09 +01:00
Karel Zak f3932a6bb5 tests: rewrite cal(1) bigyear test
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-02-02 10:31:24 +01:00
Karel Zak 22db7b5132 tests: use TS_HELPER_CAL
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-02-02 10:16:27 +01:00
Karel Zak 7895231321 tests: update setarch test
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-02-01 16:53:45 +01:00
Karel Zak 9a84ecc0d8 Merge branch 'libblkid-atari' of https://github.com/yontalcar/util-linux
* 'libblkid-atari' of https://github.com/yontalcar/util-linux:
  libblkid: atari - reject devices with blocksize != 512
  libblkid: atari - don't add duplicate entries
  libblkid: atari - test if any partition fits disk size
  tests: added missing expected outputs for partx (atari)
  libblkid: atari - fix bad variable name
  tests: added test for libblkid atari pt
  libblkid: Support for Atari partitioning scheme
2018-01-31 11:08:06 +01:00
Karel Zak 900d77e419 tests: update cal(1) tests
* remove extra space after year output
	f066c107ce

* don't print blank space behind last char on row
	8315a2ff15

* print just specified number of month for -1, -3 and -n
        2bcf8f7934

Signed-off-by: Karel Zak <kzak@redhat.com>
2018-01-30 16:19:14 +01:00
Ruediger Meier 839203c00e tests: fix fincore/count KNOWN_FAIL
It has to be set after calling ts_init.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-01-24 12:53:35 +01:00
root 20432749c1 tests: suppress warning for old sync(1)
Old sync(1) prints a warning which looks ugly among our
test output: "sync: ignoring all arguments"

Seen on travis, Ubuntu <= 14.04 (Trusty).

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-01-24 12:53:35 +01:00
Ruediger Meier c990f94cbc tests: rewrite fsck-bad-header
Fix test for systems with pagesize != 4096
Loop over many combinations of sizes, endianness and blocksizes.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-01-24 12:53:33 +01:00
Ruediger Meier 2374b1ab75 fsck.cramfs: fix crash when superblock size is too small
This hopefully fixes the original problem addressed by the reverted
patch 7cb962c7.

The bug was introduced by myself in
    f991dbd3 "fsck.cramfs: allow smaller superblock sizes"

CC: Tobias Stoeckmann <tobias@stoeckmann.org>
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-01-24 12:53:31 +01:00
Vaclav Dolezal 8273ef25fa tests: added missing expected outputs for partx (atari)
Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
2018-01-24 12:20:11 +01:00
Vaclav Dolezal 8326045ace tests: added test for libblkid atari pt
Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
2018-01-23 17:02:41 +01:00
Karel Zak c0b340bc99 tests: use subtests for weeknum cal(1) tests
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-01-22 17:09:25 +01:00
Karel Zak 940b55ac4b tests: use subtests for weekarg cal(1) tests
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-01-22 16:55:07 +01:00
Karel Zak 1b1f6f2511 test: use subtests for jan1753 cal(1) test
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-01-22 16:54:06 +01:00
Karel Zak 5b9138d952 tests: merge year cal(1) tests
* merge tests
* use subtests for cal(1) calls

Signed-off-by: Karel Zak <kzak@redhat.com>
2018-01-22 16:01:14 +01:00
Karel Zak b0636cc11a tests: merge 1m and 3m cal(1) tests
* merge tests
* use subtests for cal(1) calls

Signed-off-by: Karel Zak <kzak@redhat.com>
2018-01-22 16:01:06 +01:00
Karel Zak a88564a061 tests: merge sep1752 cal(1) tests
* merge tests
* use subtests for cal(1) calls

Signed-off-by: Karel Zak <kzak@redhat.com>
2018-01-22 16:00:39 +01:00
Karel Zak 5c8324fb88 tests: use subtests for sep1752w test
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-01-22 15:01:05 +01:00
Karel Zak c24a4de605 tests: simplify cal(1) sep1752w test
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-01-22 14:44:40 +01:00
Karel Zak fbb94f5790 tests: add cal(1) --week=40 1752
Signed-off-by: Karel Zak <kzak@redhat.com>
2018-01-22 14:26:39 +01:00
Riku Voipio 744d62ee0c lscpu: Decode ARM CPUs
Since the kernel developers have refused to make /proc/cpuinfo user
understandable, implement mapping in userspace. lscpu is available for
most users via util-linux, so store the information here.

Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
2018-01-19 17:14:19 +02:00
Karel Zak 88e5d289d5 tests: mark fincore/count as KNOWN_FAIL
The test (or our expectations about Direct-IO) seems not robust
enough. I guess this is not fincore problem.

Signed-off-by: Karel Zak <kzak@redhat.com>
2018-01-17 14:52:17 +01:00
Vaclav Dolezal fb178a04af tests: mark mbsencode as KNOWN_FAIL
Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
2018-01-11 14:19:23 +01:00
Vaclav Dolezal 8326119ad1 tests: mbsencode - test for HAVE_WIDECHAR
Test only safe-ascii as it should behave in the same way.

Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
2018-01-11 11:11:31 +01:00
Vaclav Dolezal 910a879f3d tests: mbsencode - removed emoji, added control unicode character
Emojis are apparently too recent to be reliably recognised as printable
on test machines.

Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
2018-01-11 10:38:43 +01:00
Vaclav Dolezal cad13ba344 tests: add tests for encode functions from lib/mbsalign.c
Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
2018-01-10 17:40:53 +01:00
Karel Zak 03700127a7 tests: don't use mount.<type> helpers in mount-by-pattern tests
The test behavior is fragile if depends on external helpers. Let's
keep it based on mount(2) only. The test will be faster too.

Note that "mount -t <pattern>" does not behaviour as expected with
helpers. We need to try another helper if the current one ends with
status=1 (waitpid()). Now it returns status from the first helper.

Reported-by: Ruediger Meier <sweet_f_a@gmx.de>
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-12-19 13:51:12 +01:00
Karel Zak 68452bb568 tests: update libsmartcols/title
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-12-13 12:57:22 +01:00
Karel Zak 42dea85c5a lib/md5: use ul_/UL_ prefix
The symbols names are too generic.

Addresses: https://github.com/karelzak/util-linux/issues/548
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-12-12 12:06:15 +01:00
Karel Zak b4db227582 test_sha1: update helper
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-12-12 11:38:17 +01:00
Karel Zak 44d753407d tests: unlocks on failed ts_scsi_debug_init
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-12-07 15:08:29 +01:00
Karel Zak 9212134d53 tests: don't call tests with races in --parallel
Some of the tests have a race by design (=wanted).

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-12-07 14:41:49 +01:00
Karel Zak 7acd4b463a tests: support multiple locks
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-12-07 14:41:08 +01:00
Karel Zak f1254fae6d tests: add mdadm locks
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-12-07 12:31:41 +01:00
Sweet Tea Dorminy 6418cba457 libblkid: Add VDO superblock information into blkid
[kzak@redhat.com: - add tests/expected/blkid/low-probe-vdo
                  - enlarge the image (must be > 1024)]

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-12-07 12:11:32 +01:00
Karel Zak e140506af3 tests: use flock to modify fstab
Note that for btrfs test we need to use low-level ts_fstab_addline,
because we add multiple lines there.

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-12-06 15:55:09 +01:00
Karel Zak 9deb8c7dfd tests: add lock on shared resources (e.g. scsi_debug)
The patch enables flock for scsi_debug to avoid collision between
tests. The patch also adds ./run.sh --nolocks to disable this feature.

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-12-06 14:21:38 +01:00
Sami Kerola 378d58abb1 rename: use access(3) to check if a file exists
This is more lightweight than calling stat(3).  In same go add a regression
test to ensure changes like this will not break --no-overwrite option.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2017-12-04 13:04:12 +01:00
Karel Zak 57358f50f3 tests: check for HAVE_LINUX_NET_NAMESPACE_H
* use one cleanup function
* check if kernel headers support net namespace
* enable netnsid test

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-28 13:19:20 +01:00
Karel Zak 68433f1e31 tests: add set-x to lsns test
.. just to see why does it fail on Travis.

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-28 12:00:58 +01:00
Karel Zak 29f966a57b tests: better lsns report on fail
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-28 11:17:18 +01:00
Karel Zak c3487d5955 tests: make lsns test more robust
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-28 10:58:37 +01:00
Karel Zak 5a0d3030ca tests: fix lsns perms
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-27 17:33:28 +01:00
Masatake YAMATO 94d4ccd7a2 lsns: add a case for testing nsfs column
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2017-11-27 15:54:57 +01:00
Masatake YAMATO 5d075a7828 lsns: add a case for testing netnsid column
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2017-11-27 15:54:54 +01:00
Pali Rohár 6687cfded9 tests: Add tests for FAT32 labels
These FAT32 images were generated for FAT label test suite in October 2017.
Now blkid reports same FAT32 label as MS-DOS 6, 7 and Windows 98, XP, 10.

For more information about test result see email:
https://www.spinics.net/lists/kernel/msg2640891.html

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
2017-11-25 12:49:27 +01:00
Karel Zak 07b447d473 tests: allow to use memory checks for libsmartcols
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-23 15:24:36 +01:00
Karel Zak b97cc9a829 build-sys: add --enable-asan and --memcheck-asan for tests
The command ./configure --enable-asan adds -fsanitize=address
to the compiler command line. In the regression tests leaks detection
is disabled by default. You have to use --memcheck-asan on test
command line to enable.

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-23 14:59:05 +01:00
Karel Zak d3f58f8aee tests: rename --memcheck to --memcheck-valgrind
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-23 14:03:23 +01:00
Karel Zak 02ae505fd4 tests: rename ts_valgrind to ts_run
Let's make our tests more generic, so we can later hide more stuff
into ts_run call.

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-23 13:44:53 +01:00
Karel Zak afeb646550 tests: update columns test due to dda229c7b2
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-22 17:16:21 +01:00
Pali Rohár 3999e62a72 libblkid: udf: Fix parsing UDF revision
UDF revision is stored as decimal number in hexadecimal format.
E.g. number 0x0150 is revision 1.50, number 0x0201 is revision 2.01.

Apparently all UDF test images have number which has same representation in
decimal and hexadecimal format, so problem was not detected.

This patch adds new test image with UDF revision 1.50. Internally number is
stored as 0x0150. In decimal format it is (incorrectly) 1.80, but in
hexadecimal correct 1.50.

$ dd if=/dev/zero of=udf-hdd-mkudffs-1.3-8.img bs=1M count=10
$ mkudffs -r 0x150 -b 512 udf-hdd-mkudffs-1.3-8.img

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
2017-11-20 18:16:59 +01:00
Pali Rohár 2f6184ca2c tests: Add UDF cd image created by mkudfiso 20100208
$ mkudfiso -v "Volume Label" . | tail -n +2 > udf-cd-mkudfiso-20100208.img

mkudfiso 20100208 creates UDF images without valid LVID (and LVIDIU), so it
is a good candidate for testing fallback code for ID_FS_VERSION.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
2017-11-16 19:45:16 +01:00
Karel Zak 7ee921edbe tests: GPT device resize test
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-14 15:40:09 +01:00
Karel Zak e1b5a57f43 Merge branch '170925' of github.com:jwpi/util-linux
* '170925' of github.com:jwpi/util-linux:
  tests: adjust for ISO timezone colon use
  lib/timeutils: add common ISO timestamp masks
  lib/timeutils: add get_gmtoff()
  lib/timeutils: ISO_8601_BUFSIZ too small
  hwclock: add iso-8601 overflow check
2017-11-13 16:25:21 +01:00
Karel Zak cfcbf7526a Merge branch 'udf' of https://github.com/pali/util-linux
* 'udf' of https://github.com/pali/util-linux:
  test: Add UDF hdd image with final block size 4096 created by Linux mkudffs 1.3
  libblkid: udf: Optimize and fix probing when block size > 2048 bytes
2017-11-13 12:32:03 +01:00
Pali Rohár 99777b8d11 test: Add UDF hdd image with final block size 4096 created by Linux mkudffs 1.3
$ dd if=/dev/zero of=udf-hdd-mkudffs-1.3-7.img bs=1M count=10
$ mkudffs -l Label512 -b 512 udf-hdd-mkudffs-1.3-7.img
$ mkudffs -l Label4096 -b 4096 udf-hdd-mkudffs-1.3-7.img

Image file was first formatted with block size 512 and then reformatted
with block size 4096. Volume Recognition Sequence was overwritten and every
Volume Structure Descriptor is now 4096 bytes long. Trying to read second
VSD as 2048 bytes long will fail because 4069 bytes long VSD is padded with
zeros. To verify that image file was properly detected, it should have
label "Label4096" and not "Label512".
2017-11-12 22:05:15 +01:00
J William Piggott 948e8d4349 tests: adjust for ISO timezone colon use
Fix several tests broken by adding a timezone colon in the
timeutils ISO format functions.

Signed-off-by: J William Piggott <elseifthen@gmx.com>
2017-11-12 09:08:43 -05:00
Pali Rohár e526f50391 libblkid: vfat: Fix reading labels which starts with byte 0x05
When FAT directory entry has leading byte 0x05 it is interpreted as byte
0xE5. This is how FAT stores file name which starts with byte 0xE5 as
leading byte in 0xE5 in FAT directory entry means that file slot is empty.

Fixes: #533
2017-11-09 19:03:34 +01:00
Karel Zak b412e860b5 tests: update default lsmem output
The commit 96cbe362c0 forces lsmem to
follow output column for split policy.

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-03 19:19:21 +01:00
Karel Zak bf9c4948f1 tests: add fsck.cramfs bad-header test
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-11-02 14:25:05 +01:00
Milan Broz 9ffd0bd661 tests: add LUKS test images
Testing image contains only the first 4k sector, so it is not valid,
but for blkid it should be enough.

Signed-off-by: Milan Broz <gmazyland@gmail.com>
2017-10-24 12:44:53 +02:00
Karel Zak c774252a46 tests: update lsmem
* add --split

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-10-20 14:33:47 +02:00
Gerald Schaefer 0a4320f5e7 tests/lsmem: update lsmem test with ZONES column
The existing s390 and x86_64 dumps already contain the valid_zones sysfs
attribute, so just add a new "lsmem -o +ZONES" test command and update
the expected results.

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
2017-10-20 12:37:04 +02:00
Karel Zak d6ff49896f tests: update build-sys tests
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-09-19 13:59:17 +02:00
Philip Prindeville c6f1ec68a8 uuidgen: add support for hash-based UUIDs
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2017-09-05 11:56:24 +02:00
Philip Prindeville b443c1779e misc: replace magic number 37 with UUID_STR_LEN
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2017-09-05 11:49:21 +02:00
Philip Prindeville 0047626887 libuuid: add support for hash-based UUIDs
Adding V3 and V5 UUIDs per RFC-4122.

[kzak@redhat.com: - fix symbols file]

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-09-05 11:26:39 +02:00
Karel Zak 58d57ae2d8 tests: update sfdisk wipe test
Now command wipefs returns results in the order how superblocks has
been detected on the device.

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-09-01 10:42:51 +02:00
Karel Zak c1154128db fdisk: fix readline interaction with signals
The high-level readline API is crazy to use with signals. Fortunately
the library provides low-level rl_callback_* API. In this case we can
use poll() to wait for input and control all signals, etc.

This patch also a little changes fdisk behavior on CTRL+C and CTRL+D.
The signals does not kill fdisk, but forces fdisk to return to the
main menu, if already in the main menu then exit. If the disk layout
has been modified than ask "Do you really want to exit...".

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-08-24 15:48:46 +02:00
Karel Zak 6a2c5b572c Merge branch 'blkid-ubi' 2017-08-07 10:00:34 +02:00
Sami Kerola 8cfbd35048
uuidparse: nil uuid have all bits set to zero
The nil UUID is special form of UUID that is specified to have all 128 bits
set to zero.

Reference: https://tools.ietf.org/html/rfc4122#section-4.1.7
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2017-08-05 09:58:25 +01:00
Karel Zak 1266fcf9cf libblkid: mark UBI as RAID
UBI is volume manager rather than filesystem. Note that libblkid has
optimized RAIDs probing (don't search for another filesystems is RAID
detected). We also don't search for RAIDs on very small devices, but
this optimization is ignored for UBI char devices (size=1byte).

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-08-03 15:31:54 +02:00
Rafał Miłecki a6b1ec864a libblkid: add support for UBI superblock
UBI is a volume management system that can be used on a raw flash
partition for providing multiple logical volumes. Detecting UBI
superblock may be useful for tools wanting to simplify or automate
attaching UBI.

Please note it's not directly related to the ubifs support which is just
a filesystem working on top of UBI volume.

In other words: UBI can be used on MTD partition (e.g. /dev/mtdblock0)
while ubifs can be used on UBI volume (e.g. /dev/ubi0_0).

This patch adds simple code reading UBI version and unique number and
setting it in the blkid_probe.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-08-03 14:11:21 +02:00
Karel Zak dd3b72b3e9 libfdisk: add --nopartno to mkpart sample
* disable dialogs for the mkpart sample
* add --nopartno use-case to force libfdisk to use default partno(s)
* add test for this feature

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-08-01 13:51:27 +02:00
Karel Zak 2d9d3ee294 tests: check sfdisk resize on unsorted offsets
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-07-19 15:34:35 +02:00
Karel Zak ea36907965 libfdisk: support default partno in mkpart-fullspec sample
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-07-19 12:19:38 +02:00
Karel Zak 8d7370e01c tests: remove UUIDs with time overflow from uuidparse
The time_t used by timeval is "long", it means too small on 32-bits
archs to hold large numbers.

Reported-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-07-18 10:01:22 +02:00
Karel Zak 98025dea79 test: update PMBR hex dumps
The commit 8ffa3b651d has fixed PMBR
CHS addresses initialization to be more close to UEFI standard.

-000001c0  01 00 ee fe ff ff 01 00  00 00 ff 8f 01 00 00 00
+000001c0  02 00 ee ff ff ff 01 00  00 00 ff 8f 01 00 00 00

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-07-17 11:36:28 +02:00