2023-02-27 17:51:34

by Mirsad Todorovac

[permalink] [raw]
Subject: selftests/gpio: gpio-sim.sh: BUG: test FAILED due to recent change in sh source

Hi,

The gpio-sim.sh test appears to FAIL in a wrong way due to missing initialisation
of shell variables:

$ sudo gpio-sim.sh
.
.
.
4. Simulated GPIO chips are functional
4.1. Values can be read from sysfs
4.2. Bias settings work correctly
cat: /sys/devices/platform/gpio-sim.0/gpiochip18/sim_gpio0/value: No such file or directory
./gpio-sim.sh: line 393: test: =: unary operator expected
bias setting does not work
GPIO gpio-sim test FAIL
$

This patch fixed the issue:

diff --git a/tools/testing/selftests/gpio/gpio-sim.sh b/tools/testing/selftests/gpio/gpio-sim.sh
index 9f539d454ee4..fa2ce2b9dd5f 100755
--- a/tools/testing/selftests/gpio/gpio-sim.sh
+++ b/tools/testing/selftests/gpio/gpio-sim.sh
@@ -389,6 +389,9 @@ create_chip chip
create_bank chip bank
set_num_lines chip bank 8
enable_chip chip
+DEVNAME=`configfs_dev_name chip`
+CHIPNAME=`configfs_chip_name chip bank`
+SYSFS_PATH="/sys/devices/platform/$DEVNAME/$CHIPNAME/sim_gpio0/value"
$BASE_DIR/gpio-mockup-cdev -b pull-up /dev/`configfs_chip_name chip bank` 0
test `cat $SYSFS_PATH` = "1" || fail "bias setting does not work"
remove_chip chip

... after which the test passed:

4. Simulated GPIO chips are functional
4.1. Values can be read from sysfs
4.2. Bias settings work correctly
GPIO gpio-sim test PASS

Which I believe proves that the bug was in the script and not in the gpio-sim driver.
Or I am doing something very wrong, but I got the above error on AlmaLinux 8.7
on my Lenovo desktop box with the 6.2+ latest pull Linux kernel:

[marvin@pc-mtodorov linux_torvalds]$ uname -rms
Linux 6.2.0-mglru-kmlk-andy-09238-gd2980d8d8265 x86_64

Regards,
Mirsad

--
Mirsad Goran Todorovac
Sistem inženjer
Grafički fakultet | Akademija likovnih umjetnosti
Sveučilište u Zagrebu

System engineer
Faculty of Graphic Arts | Academy of Fine Arts
University of Zagreb, Republic of Croatia


2023-04-11 13:39:47

by Andy Shevchenko

[permalink] [raw]
Subject: Re: selftests/gpio: gpio-sim.sh: BUG: test FAILED due to recent change in sh source

On Mon, Feb 27, 2023 at 06:51:09PM +0100, Mirsad Todorovac wrote:
> Hi,
>
> The gpio-sim.sh test appears to FAIL in a wrong way due to missing initialisation
> of shell variables:
>
> $ sudo gpio-sim.sh
> .
> .
> .
> 4. Simulated GPIO chips are functional
> 4.1. Values can be read from sysfs
> 4.2. Bias settings work correctly
> cat: /sys/devices/platform/gpio-sim.0/gpiochip18/sim_gpio0/value: No such file or directory
> ./gpio-sim.sh: line 393: test: =: unary operator expected
> bias setting does not work
> GPIO gpio-sim test FAIL
> $
>
> This patch fixed the issue:
>
> diff --git a/tools/testing/selftests/gpio/gpio-sim.sh b/tools/testing/selftests/gpio/gpio-sim.sh
> index 9f539d454ee4..fa2ce2b9dd5f 100755
> --- a/tools/testing/selftests/gpio/gpio-sim.sh
> +++ b/tools/testing/selftests/gpio/gpio-sim.sh
> @@ -389,6 +389,9 @@ create_chip chip
> create_bank chip bank
> set_num_lines chip bank 8
> enable_chip chip
> +DEVNAME=`configfs_dev_name chip`
> +CHIPNAME=`configfs_chip_name chip bank`
> +SYSFS_PATH="/sys/devices/platform/$DEVNAME/$CHIPNAME/sim_gpio0/value"
> $BASE_DIR/gpio-mockup-cdev -b pull-up /dev/`configfs_chip_name chip bank` 0
> test `cat $SYSFS_PATH` = "1" || fail "bias setting does not work"
> remove_chip chip
>
> ... after which the test passed:
>
> 4. Simulated GPIO chips are functional
> 4.1. Values can be read from sysfs
> 4.2. Bias settings work correctly
> GPIO gpio-sim test PASS
>
> Which I believe proves that the bug was in the script and not in the gpio-sim driver.

I agree with the analysis. Bart, seems to me that it might be the case, but
I want to amend the fix a bit.

--
With Best Regards,
Andy Shevchenko