]> sourceware.org Git - lvm2.git/commit
tests: fix wrong pos with CONFIG_PRINTK_CALLER
authorZdenek Kabelac <zkabelac@redhat.com>
Mon, 3 Jun 2024 11:41:06 +0000 (13:41 +0200)
committerZdenek Kabelac <zkabelac@redhat.com>
Mon, 3 Jun 2024 13:30:05 +0000 (15:30 +0200)
commitfe68fb052566ca4958743af1f1d95b890ae4f893
tree2175453a700f997ef0892ca511e5b7a897ce83f9
parent3a9689652d9297b81c94964388bae9f8191b88a5
tests: fix wrong pos with CONFIG_PRINTK_CALLER

SUSE kernels distribution enables CONFIG_PRINTK_CALLER by default.

One line of cat /dev/kmsg is like:

6,904,9506214456,-,caller=T24012;loop8: detected capacity change from 0
to 354304

If CONFIG_PRINTK_CALLER is off:

6,721,53563833,-;loop0: detected capacity change from 0 to 354304

',caller=T24012' is the redundant part needed to be handled.
Otherwise pos will be lager than buf size causing sz underflowed.
Then constructor of std::string will throw a exception to break
tests:
$ make  check_local  T=shell/000-basic.sh
VERBOSE=0 ./lib/runner \
        --testdir . --outdir results \
        --flavours ndev-vanilla --only shell/000-basic.sh --skip @

running 1 tests
running: [ndev-vanilla] shell/000-basic.sh
            0:00.000Exception: basic_string::_M_create
make[1]: *** [Makefile:148: check_local] Error 1
make[1]: Leaving directory '/root/lvm2/test'
make: *** [Makefile:89: check_local] Error 2

Fix it with strchr for ';' as delimiter to get pos.

Reported-by: Su Yue <glass.su@suse.com>
test/lib/brick-shelltest.h
This page took 0.042993 seconds and 5 git commands to generate.