From 7d855c3116ec9ddab9adde96b568681930d9855b Mon Sep 17 00:00:00 2001 From: "kay.sievers@vrfy.org" Date: Fri, 16 Apr 2004 23:58:05 -0700 Subject: [PATCH] udevd test script Thanks to Yin, Hu , who made a nice perl script to test the expected behavior of the udevd sequence number handling. The test sends different SEQNUM sequences to udevd, while analyzing the reordering and timeout handling of udevd. --- test/udevd-test/udev-log-amplify.pl | 87 +++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 test/udevd-test/udev-log-amplify.pl (limited to 'test/udevd-test/udev-log-amplify.pl') diff --git a/test/udevd-test/udev-log-amplify.pl b/test/udevd-test/udev-log-amplify.pl new file mode 100644 index 0000000000..c2d4723974 --- /dev/null +++ b/test/udevd-test/udev-log-amplify.pl @@ -0,0 +1,87 @@ +#!/usr/bin/perl -w +# +# udev-log-amplify +# +# Copyright (C) Intel Corp, 2004 +# +# Author: Yin Hu +# +# This is a script for replacing udev binary during udevsend/udevd testing. +# It first amplifies the execution time ( sleep 5 ) and then logs the event +# information sent by udved in order that test script udevd-test.pl can +# analyze whether udved execute as we expected. +# You should not execute this script directly because it will be invoked by +# udevd automatically. +# +# Before you run your test please modify $log_file to designate where the udev +# log file should be placed, in fact, the default value is ok. +# +# +# 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 version 2 of the License. +# +# 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., +# 675 Mass Ave, Cambridge, MA 02139, USA. +# + +use warnings; +use strict; + +# modifiable settings +my $udev_exe_time = 5; +my $log_file = "/tmp/udev_log.txt"; + +# global variables +my $devpath; +my $action; +my $subsystem; + +# common functions +sub getDate { + # Get current date/time + # If we want GTM time, simply pass GMT as first argument to this function. + + my $format = @_; + my $date; + + if( $format =~ /GMT/i ) { + $date = gmtime() . " GMT"; + } else { + $date = localtime(); + } + return $date; +} + +# main program +if ($ARGV[0]) { + $subsystem = $ARGV[0]; + $devpath = $ENV{DEVPATH}; + $action = $ENV{ACTION}; + + # Get current system date + my $time = getDate(); + + # Logging + if (open(LOGF, ">>$log_file")) { + print LOGF "$devpath,$action,$subsystem,$time\n"; + } else { + print "File open failed. \n"; + exit 1; + } + close(LOGF); + + # Amplify the execution time of udev + sleep 5; + + exit 0; +} else { + print "Too less argument count.\n"; + exit 1; +} -- cgit v1.2.3-54-g00ecf