Added to stabber/expect test
This commit is contained in:
29
expecttest.c
29
expecttest.c
@@ -1,4 +1,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <errno.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <expect.h>
|
#include <expect.h>
|
||||||
#include <stabber.h>
|
#include <stabber.h>
|
||||||
@@ -10,10 +12,24 @@
|
|||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
stbbr_start(5230);
|
stbbr_start(5230);
|
||||||
|
stbbr_for("roster",
|
||||||
|
"<iq id=\"roster\" type=\"result\" to=\"stabber@localhost/profanity\">"
|
||||||
|
"<query xmlns=\"jabber:iq:roster\" ver=\"362\">"
|
||||||
|
"<item jid=\"buddy1@localhost\" subscription=\"both\" name=\"Buddy1\"/>"
|
||||||
|
"<item jid=\"buddy2@localhost\" subscription=\"both\" name=\"Buddy2\"/>"
|
||||||
|
"</query>"
|
||||||
|
"</iq>"
|
||||||
|
);
|
||||||
|
|
||||||
int res = 0;
|
int res = 0;
|
||||||
int fd = exp_spawnl("./profanity");
|
int fd = exp_spawnl("./profanity", NULL);
|
||||||
FILE *fp = fdopen(fd, "r+");
|
FILE *fp = fdopen(fd, "r+");
|
||||||
|
|
||||||
|
if (fp == NULL) {
|
||||||
|
perror(NULL);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
setbuf(fp, (char *)0);
|
setbuf(fp, (char *)0);
|
||||||
|
|
||||||
res = exp_expectl(fd, exp_exact, "Profanity. Type /help for help information.", 10, exp_end);
|
res = exp_expectl(fd, exp_exact, "Profanity. Type /help for help information.", 10, exp_end);
|
||||||
@@ -28,10 +44,19 @@ int main(void)
|
|||||||
assert(res == 12);
|
assert(res == 12);
|
||||||
res = exp_expectl(fd, exp_exact, "stabber@localhost logged in successfully", 13, exp_end);
|
res = exp_expectl(fd, exp_exact, "stabber@localhost logged in successfully", 13, exp_end);
|
||||||
assert(res == 13);
|
assert(res == 13);
|
||||||
|
|
||||||
|
sleep(1);
|
||||||
|
assert(stbbr_verify(
|
||||||
|
"<presence id=\"*\">"
|
||||||
|
"<c hash=\"sha-1\" xmlns=\"http://jabber.org/protocol/caps\" ver=\"*\" node=\"http://www.profanity.im\"/>"
|
||||||
|
"</presence>"
|
||||||
|
));
|
||||||
|
|
||||||
|
stbbr_send();
|
||||||
|
|
||||||
write(fd, QUIT_CMD, strlen(QUIT_CMD));
|
write(fd, QUIT_CMD, strlen(QUIT_CMD));
|
||||||
sleep(1);
|
sleep(1);
|
||||||
|
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("PID: %d\n", exp_pid);
|
printf("PID: %d\n", exp_pid);
|
||||||
|
|||||||
Reference in New Issue
Block a user