summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2006-03-23 22:15:09 +0000
committerMarcel Holtmann <marcel@holtmann.org>2006-03-23 22:15:09 +0000
commitb357f1d3900bca5575e88fcfc160945c6088608c (patch)
tree9c13d9c72daa6dab919e7ef140a6f6d98f3f5b62 /test
parent6ba87383b2047862686d04db85a4b7e0d1f243ae (diff)
Add options for count and delay
Diffstat (limited to 'test')
-rw-r--r--test/l2test.c24
-rw-r--r--test/rctest.c21
2 files changed, 43 insertions, 2 deletions
diff --git a/test/l2test.c b/test/l2test.c
index 8ec92395..9a23480a 100644
--- a/test/l2test.c
+++ b/test/l2test.c
@@ -76,6 +76,12 @@ static unsigned short psm = 10;
/* Default number of frames to send (-1 = infinite) */
static int num_frames = -1;
+/* Default number of consecutive frames before the delay */
+static int count = 1;
+
+/* Default delay after sending count number of frames */
+static unsigned long delay = 0;
+
static int flowctl = 0;
static int master = 0;
static int auth = 0;
@@ -579,6 +585,9 @@ static void send_mode(int sk)
syslog(LOG_ERR, "Send failed: %s (%d)", strerror(errno), errno);
exit(1);
}
+
+ if (num_frames && delay && !(seq % count))
+ usleep(delay);
}
syslog(LOG_INFO, "Closing channel ...");
@@ -608,6 +617,9 @@ static void senddump_mode(int sk)
syslog(LOG_ERR, "Send failed: %s (%d)", strerror(errno), errno);
exit(1);
}
+
+ if (num_frames && delay && !(seq % count))
+ usleep(delay);
}
dump_mode(sk);
@@ -682,6 +694,8 @@ static void usage(void)
"\t[-I imtu] [-O omtu]\n"
"\t[-N num] send num frames (default = infinite)\n"
"\t[-L seconds] enable SO_LINGER\n"
+ "\t[-C num] send num frames before delay (default = 1)\n"
+ "\t[-D seconds] delay after sending num frames (default = 0)\n"
"\t[-R] reliable mode\n"
"\t[-G] use connectionless channel (datagram)\n"
"\t[-F] enable flow control\n"
@@ -698,7 +712,7 @@ int main(int argc ,char *argv[])
bacpy(&bdaddr, BDADDR_ANY);
- while ((opt=getopt(argc,argv,"rdscuwmnxyb:i:P:I:O:N:L:RGFAESM")) != EOF) {
+ while ((opt=getopt(argc,argv,"rdscuwmnxyb:i:P:I:O:N:L:C:D:RGFAESM")) != EOF) {
switch(opt) {
case 'r':
mode = RECV;
@@ -772,6 +786,14 @@ int main(int argc ,char *argv[])
linger = atoi(optarg);
break;
+ case 'C':
+ count = atoi(optarg);
+ break;
+
+ case 'D':
+ delay = atoi(optarg) * 1000000;
+ break;
+
case 'R':
reliable = 1;
break;
diff --git a/test/rctest.c b/test/rctest.c
index 39ec51b7..ebcc4c07 100644
--- a/test/rctest.c
+++ b/test/rctest.c
@@ -60,6 +60,12 @@ static unsigned char *buf;
static long data_size = 127;
static long num_frames = -1;
+/* Default number of consecutive frames before the delay */
+static int count = 1;
+
+/* Default delay after sending count number of frames */
+static unsigned long delay = 0;
+
/* Default addr and channel */
static bdaddr_t bdaddr;
static uint8_t channel = 10;
@@ -344,6 +350,9 @@ static void send_mode(int sk)
strerror(errno), errno);
exit(1);
}
+
+ if (num_frames && delay && !(seq % count))
+ usleep(delay);
}
syslog(LOG_INFO, "Closing channel ...");
@@ -399,6 +408,8 @@ static void usage(void)
"\t[-b bytes] [-i device] [-P channel]\n"
"\t[-L seconds] enabled SO_LINGER option\n"
"\t[-N num] number of frames to send\n"
+ "\t[-C num] send num frames before delay (default = 1)\n"
+ "\t[-D seconds] delay after sending num frames (default = 0)\n"
"\t[-A] request authentication\n"
"\t[-E] request encryption\n"
"\t[-S] secure connection\n"
@@ -412,7 +423,7 @@ int main(int argc ,char *argv[])
bacpy(&bdaddr, BDADDR_ANY);
- while ((opt=getopt(argc,argv,"rdscuwmnb:i:P:N:MAESL:")) != EOF) {
+ while ((opt=getopt(argc,argv,"rdscuwmnb:i:P:N:MAESL:C:D:")) != EOF) {
switch (opt) {
case 'r':
mode = RECV;
@@ -490,6 +501,14 @@ int main(int argc ,char *argv[])
num_frames = atoi(optarg);
break;
+ case 'C':
+ count = atoi(optarg);
+ break;
+
+ case 'D':
+ delay = atoi(optarg) * 1000000;
+ break;
+
default:
usage();
exit(1);