* [v2][libgpiod][PATCH 1/1] gpio-tools-test.bats: modify delays in toggle test
@ 2023-06-05 19:00 joe.slater
2023-06-05 20:03 ` andy.shevchenko
0 siblings, 1 reply; 3+ messages in thread
From: joe.slater @ 2023-06-05 19:00 UTC (permalink / raw)
To: linux-gpio; +Cc: joe.slater, randy.macleod
From: Joe Slater <joe.slater@windriver.com>
The test "gpioset: toggle (continuous)" uses fixed delays to test
toggling values. This is not reliable, so we switch to looking
for transitions from one value to another.
We wait for a transition up to 1.5 seconds.
Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
tools/gpio-tools-test.bats | 26 ++++++++++++++++++++------
1 file changed, 20 insertions(+), 6 deletions(-)
diff --git a/tools/gpio-tools-test.bats b/tools/gpio-tools-test.bats
index c83ca7d..f7a0e38 100755
--- a/tools/gpio-tools-test.bats
+++ b/tools/gpio-tools-test.bats
@@ -141,6 +141,20 @@ gpiosim_check_value() {
[ "$VAL" = "$EXPECTED" ]
}
+gpiosim_wait_value() {
+ local OFFSET=$2
+ local EXPECTED=$3
+ local DEVNAME=${GPIOSIM_DEV_NAME[$1]}
+ local CHIPNAME=${GPIOSIM_CHIP_NAME[$1]}
+ local PORT=$GPIOSIM_SYSFS/$DEVNAME/$CHIPNAME/sim_gpio$OFFSET/value
+
+ for i in {1..15} ; do
+ [ "$(<$PORT)" = "$EXPECTED" ] && return
+ sleep 0.1
+ done
+ return 1
+}
+
gpiosim_cleanup() {
for CHIP in ${!GPIOSIM_CHIP_NAME[@]}
do
@@ -154,7 +168,7 @@ gpiosim_cleanup() {
ls $BANKPATH/line* > /dev/null 2>&1
if [ "$?" = "0" ]
then
- for LINE in $(find $BANKPATH/ | grep -E "line[0-9]+$")
+ for LINE in $(find $BANKPATH/ | egrep "line[0-9]+$")
do
test -e $LINE/hog && rmdir $LINE/hog
rmdir $LINE
@@ -1567,15 +1581,15 @@ request_release_line() {
gpiosim_check_value sim0 4 0
gpiosim_check_value sim0 7 0
- sleep 1
-
- gpiosim_check_value sim0 1 0
+ # sleeping fixed amounts can be unreliable, so we
+ # sync to the toggles
+ #
+ gpiosim_wait_value sim0 1 0
gpiosim_check_value sim0 4 1
gpiosim_check_value sim0 7 1
- sleep 1
- gpiosim_check_value sim0 1 1
+ gpiosim_wait_value sim0 1 1
gpiosim_check_value sim0 4 0
gpiosim_check_value sim0 7 0
}
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [v2][libgpiod][PATCH 1/1] gpio-tools-test.bats: modify delays in toggle test
2023-06-05 19:00 [v2][libgpiod][PATCH 1/1] gpio-tools-test.bats: modify delays in toggle test joe.slater
@ 2023-06-05 20:03 ` andy.shevchenko
2023-06-05 20:42 ` Slater, Joseph
0 siblings, 1 reply; 3+ messages in thread
From: andy.shevchenko @ 2023-06-05 20:03 UTC (permalink / raw)
To: joe.slater; +Cc: linux-gpio, randy.macleod
Mon, Jun 05, 2023 at 12:00:51PM -0700, joe.slater@windriver.com kirjoitti:
> From: Joe Slater <joe.slater@windriver.com>
>
> The test "gpioset: toggle (continuous)" uses fixed delays to test
> toggling values. This is not reliable, so we switch to looking
> for transitions from one value to another.
>
> We wait for a transition up to 1.5 seconds.
...
> +gpiosim_wait_value() {
> + local OFFSET=$2
> + local EXPECTED=$3
> + local DEVNAME=${GPIOSIM_DEV_NAME[$1]}
> + local CHIPNAME=${GPIOSIM_CHIP_NAME[$1]}
> + local PORT=$GPIOSIM_SYSFS/$DEVNAME/$CHIPNAME/sim_gpio$OFFSET/value
> +
> + for i in {1..15} ; do
Do you need space before semicolon?
> + [ "$(<$PORT)" = "$EXPECTED" ] && return
> + sleep 0.1
> + done
> + return 1
> +}
...
> - for LINE in $(find $BANKPATH/ | grep -E "line[0-9]+$")
> + for LINE in $(find $BANKPATH/ | egrep "line[0-9]+$")
Seems stray change.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 3+ messages in thread* RE: [v2][libgpiod][PATCH 1/1] gpio-tools-test.bats: modify delays in toggle test
2023-06-05 20:03 ` andy.shevchenko
@ 2023-06-05 20:42 ` Slater, Joseph
0 siblings, 0 replies; 3+ messages in thread
From: Slater, Joseph @ 2023-06-05 20:42 UTC (permalink / raw)
To: andy.shevchenko@gmail.com; +Cc: linux-gpio@vger.kernel.org, MacLeod, Randy
> -----Original Message-----
> From: andy.shevchenko@gmail.com <andy.shevchenko@gmail.com>
> Sent: Monday, June 5, 2023 1:04 PM
> To: Slater, Joseph <joe.slater@windriver.com>
> Cc: linux-gpio@vger.kernel.org; MacLeod, Randy
> <Randy.MacLeod@windriver.com>
> Subject: Re: [v2][libgpiod][PATCH 1/1] gpio-tools-test.bats: modify delays in
> toggle test
>
> Mon, Jun 05, 2023 at 12:00:51PM -0700, joe.slater@windriver.com kirjoitti:
> > From: Joe Slater <joe.slater@windriver.com>
> >
> > The test "gpioset: toggle (continuous)" uses fixed delays to test
> > toggling values. This is not reliable, so we switch to looking for
> > transitions from one value to another.
> >
> > We wait for a transition up to 1.5 seconds.
>
> ...
>
> > +gpiosim_wait_value() {
> > + local OFFSET=$2
> > + local EXPECTED=$3
> > + local DEVNAME=${GPIOSIM_DEV_NAME[$1]}
> > + local CHIPNAME=${GPIOSIM_CHIP_NAME[$1]}
> > + local
> PORT=$GPIOSIM_SYSFS/$DEVNAME/$CHIPNAME/sim_gpio$OFFSET/value
> > +
> > + for i in {1..15} ; do
>
> Do you need space before semicolon?
>
> > + [ "$(<$PORT)" = "$EXPECTED" ] && return
> > + sleep 0.1
> > + done
> > + return 1
> > +}
>
> ...
>
> > - for LINE in $(find $BANKPATH/ | grep -E "line[0-9]+$")
> > + for LINE in $(find $BANKPATH/ | egrep "line[0-9]+$")
>
> Seems stray change.
[Slater, Joseph]
The extra space is not necessary. I removed it. Putting egrep back was a mistake. I'll send a V3 in a few minutes.
Joe
>
> --
> With Best Regards,
> Andy Shevchenko
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-06-05 20:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-05 19:00 [v2][libgpiod][PATCH 1/1] gpio-tools-test.bats: modify delays in toggle test joe.slater
2023-06-05 20:03 ` andy.shevchenko
2023-06-05 20:42 ` Slater, Joseph
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.