|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
Intro to dejagnu: Help!Hi all,
I'm searching for a way to test a software I'm developing for some time ago. Since I'm using autotools, seems dejagnu seems the way to go. But I don't know expect and don't have the slightest idea what do to. I've briefly read through the manual but it doesn't really 'teach you'. I don't want to know expect besides scripts to work with dejagnu. I would like someone to tell me where to start or a quick tutorial in it. From what I understand it seems it is easy to test my program. My program is called with some command line arguments and then it output 3 values "yes", "no", "unknown". In fact, this could be done with a bash script but using dejagnu seems more integrated. Given the command line argument (a file), I know the correct output. I just want to check if the program is giving the correct output. Another more technical issue is that my program may or may not use GMP, this is set from within configure by using the --enable-gmp. This changes the program output, what might be before "unknown", can be now "yes" or "no". So I need different testsuites for the program compiled with or without --enable-gmp. Any ideas on how to do this? Thanks in advance, -- Paulo Jorge Matos - pocm at sat inesc-id pt Web: http://sat.inesc-id.pt/~pocm Computer and Software Engineering INESC-ID - SAT Group _______________________________________________ DejaGnu mailing list DejaGnu@... http://lists.gnu.org/mailman/listinfo/dejagnu |
|
|
RE: Intro to dejagnu: Help!Hi, Paulo.
first of all, expect and dejagnu is good at testing interactive project. If the result of yout test cases can be decided by the input and output pair. then it's the right thing for you. other wise you really should look for another tool. secondly. I know it's pretty hard to find expect tutorial on internet. But i think it's easier for you to find some tcl tutorial. expect is based on Tcl. thirdly:) there is a tool in the expect release project, called "autoexpect". try>> $ autoexpect -f testcase1.exp $ run_your_project >>input something >>you got the output here. $ pkill autoexpect after this , you will find a expect script "testcase1.exp" in the directory. use an editor to open it. autoexpect will record the input and output of the current running process. then all you have to do is to do a little modification to use it as one of your case. Finally, a brief into to expect. common used expect way is like this set timeout n; # this is optional, be default n=10 seconds. expect{ -re "pattern1" { send "pass" } -re "pattern2" { send "fail" } timeout { send "time out" } } expect will read the output of the process, if output starts to match pattern1, then pass will be print-out. match pattern2, fail will be print-out. otherwise timeout will be print-out. set timeout -1. then expect will encounter timetout. Hope it could help.:) some expect scripts in dejagnu release packet might also be helpful. Best wishes. >From: "Paulo J. Matos" <pocmatos@...> >Reply-To: pocm@... >To: dejagnu@... >Subject: Intro to dejagnu: Help! >Date: Thu, 8 Jun 2006 14:35:33 +0100 > >Hi all, > >I'm searching for a way to test a software I'm developing for some >time ago. Since I'm using autotools, seems dejagnu seems the way to >go. But I don't know expect and don't have the slightest idea what do >to. I've briefly read through the manual but it doesn't really 'teach >you'. I don't want to know expect besides scripts to work with >dejagnu. I would like someone to tell me where to start or a quick >tutorial in it. From what I understand it seems it is easy to test my >program. >My program is called with some command line arguments and then it >output 3 values "yes", "no", "unknown". In fact, this could be done >with a bash script but using dejagnu seems more integrated. Given the >command line argument (a file), I know the correct output. I just want >to check if the program is giving the correct output. > >Another more technical issue is that my program may or may not use >GMP, this is set from within configure by using the --enable-gmp. This >changes the program output, what might be before "unknown", can be now >"yes" or "no". So I need different testsuites for the program compiled >with or without --enable-gmp. Any ideas on how to do this? > >Thanks in advance, > >-- >Paulo Jorge Matos - pocm at sat inesc-id pt >Web: http://sat.inesc-id.pt/~pocm >Computer and Software Engineering >INESC-ID - SAT Group > > >_______________________________________________ >DejaGnu mailing list >DejaGnu@... >http://lists.gnu.org/mailman/listinfo/dejagnu _______________________________________________ DejaGnu mailing list DejaGnu@... http://lists.gnu.org/mailman/listinfo/dejagnu |
|
|
Re: Intro to dejagnu: Help!Hi Paulo
On Thu, Jun 08, 2006 at 02:35:33PM +0100, Paulo J. Matos wrote: > Another more technical issue is that my program may or may not use > GMP, this is set from within configure by using the > --enable-gmp. This changes the program output, what might be before > "unknown", can be now "yes" or "no". So I need different testsuites > for the program compiled with or without --enable-gmp. Any ideas on > how to do this? I would just write some dejagnu glue that checks if the package was compiled with --enable-gmp and skips the tests that does/does not need GMP. Then use two build trees, one with and one without --enable-gmp and run make check in both. That's one way, at least. Ben _______________________________________________ DejaGnu mailing list DejaGnu@... http://lists.gnu.org/mailman/listinfo/dejagnu |
| Free embeddable forum powered by Nabble | Forum Help |