You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Danesh Daroui <da...@gmail.com> on 2018/09/02 10:49:46 UTC

Run httpd's testsuite

Hi all,

I would like to be bale to run Apache https's testsuite. I have clones
Apache-Test and configures the project with the given path and then
built the httpd server, but when I execute "make cheek", all tests for
"all.t" are skipped. The logs show that the test scripts runs the
server with some isolated configurations on a specific port but it
apparently cannot find "mod_perl.c" for instance. This is the last
part of the log that I get when I run the test:

waiting 60 seconds for server to start: .
waiting 60 seconds for server to start: ok (waited 0 secs)
server localhost:8529 started
[   info] adding source lib
/home/danesh/open/github/Apache-Test/../Apache-Test/lib to @INC
t/alltest/all.t ................. skipped: testing all.t
t/alltest2/all.t ................ skipped: testing more than one all.t
t/bad_coding.t .................. ok
t/cookies.t ..................... skipped: cannot find module 'CGI',
cannot find module 'CGI::Cookie'
t/import.t ...................... ok
t/log_watch.t ................... ok
t/log_watch_for_broken_lines.t .. ok
t/more/all.t .................... skipped: cannot find module 'mod_perl.c'
t/next_available_port.t ......... ok
t/ping.t ........................ ok
t/redirect.t .................... ok
t/request.t ..................... ok
t/sok.t ......................... ok
All tests successful.
Files=13, Tests=91,  4 wallclock secs ( 0.05 usr  0.01 sys +  2.17
cusr  0.56 csys =  2.79 CPU)
Result: PASS
[warning] server localhost:8529 shutdown

There are also some unit tests under "test" directory that they are
all passed when I run the executable. I would like to know what is the
difference between these two tests? Also I expected the tests that are
triggered with "make check" to be much more extensive than some small
tests that are run quickly. Something like night-run tests! Am I
missing something?

Regards,

Danesh Daroui

Re: Run httpd's testsuite

Posted by Danesh Daroui <da...@gmail.com>.
Hi Daniel,

Thank you for your clarification. I actually configured the server
with --with-modules=reallyall and even --enable-load-all-modules and
executed the tests but the result was same. Same tests didn't ran at
all. The reason that I am a bit surprised with the small number of
tests is that, there can be lots of parameters and conditions that can
be testes. Moreover, performance of the server can also be tested
which is not here as far as I know. This is quite crucial to ensure
when you hack the server or when you intend to write a new patch for
the server to improve or fix a bug.

Regards,

Danesh

On Sun, Sep 2, 2018 at 6:08 PM Daniel Ruggeri <dr...@primary.net> wrote:
>
> Hi, Danesh;
> Actually, that output looks correct for a very limited server configuration. The test suite will detect the configured modules and run tests for only those modules. As you noticed, for example, since mod_perl is not installed in your server, those tests are skipped. If you built the server with all modules (--with-modules=reallyall, if memory serves me correctly), you would see many more tests run. Also, do not be alarmed if the test suite doesn't take a full night to run. That is also normal :-)
> --
> Daniel Ruggeri
>
> On September 2, 2018 5:49:46 AM CDT, Danesh Daroui <da...@gmail.com> wrote:
>>
>> Hi all,
>>
>> I would like to be bale to run Apache https's testsuite. I have clones
>> Apache-Test and configures the project with the given path and then
>> built the httpd server, but when I execute "make cheek", all tests for
>> "all.t" are skipped. The logs show that the test scripts runs the
>> server with some isolated configurations on a specific port but it
>> apparently cannot find "mod_perl.c" for instance. This is the last
>> part of the log that I get when I run the test:
>>
>> waiting 60 seconds for server to start: .
>> waiting 60 seconds for server to start: ok (waited 0 secs)
>> server localhost:8529 started
>> [   info] adding source lib
>> /home/danesh/open/github/Apache-Test/../Apache-Test/lib to @INC
>> t/alltest/all.t ................. skipped: testing all.t
>> t/alltest2/all.t ................ skipped: testing more than one all.t
>> t/bad_coding.t .................. ok
>> t/cookies.t ..................... skipped: cannot find module 'CGI',
>> cannot find module 'CGI::Cookie'
>> t/import.t ...................... ok
>> t/log_watch.t ................... ok
>> t/log_watch_for_broken_lines.t .. ok
>> t/more/all.t .................... skipped: cannot find module 'mod_perl.c'
>> t/next_available_port.t ......... ok
>> t/ping.t ........................ ok
>> t/redirect.t .................... ok
>> t/request.t ..................... ok
>> t/sok.t ......................... ok
>> All tests successful.
>> Files=13, Tests=91,  4 wallclock secs ( 0.05 usr  0.01 sys +  2.17
>> cusr  0.56 csys =  2.79 CPU)
>> Result: PASS
>> [warning] server localhost:8529 shutdown
>>
>> There are also some unit tests under "test" directory that they are
>> all passed when I run the executable. I would like to know what is the
>> difference between these two tests? Also I expected the tests that are
>> triggered with "make check" to be much more extensive than some small
>> tests that are run quickly. Something like night-run tests! Am I
>> missing something?
>>
>> Regards,
>>
>> Danesh Daroui

Re: Run httpd's testsuite

Posted by Daniel Ruggeri <dr...@primary.net>.
Hi, Danesh;
   Actually, that output looks correct for a very limited server configuration. The test suite will detect the configured modules and run tests for only those modules. As you noticed, for example, since mod_perl is not installed in your server, those tests are skipped. If you built the server with all modules (--with-modules=reallyall, if memory serves me correctly), you would see many more tests run. Also, do not be alarmed if the test suite doesn't take a full night to run. That is also normal :-)
-- 
Daniel Ruggeri

On September 2, 2018 5:49:46 AM CDT, Danesh Daroui <da...@gmail.com> wrote:
>Hi all,
>
>I would like to be bale to run Apache https's testsuite. I have clones
>Apache-Test and configures the project with the given path and then
>built the httpd server, but when I execute "make cheek", all tests for
>"all.t" are skipped. The logs show that the test scripts runs the
>server with some isolated configurations on a specific port but it
>apparently cannot find "mod_perl.c" for instance. This is the last
>part of the log that I get when I run the test:
>
>waiting 60 seconds for server to start: .
>waiting 60 seconds for server to start: ok (waited 0 secs)
>server localhost:8529 started
>[   info] adding source lib
>/home/danesh/open/github/Apache-Test/../Apache-Test/lib to @INC
>t/alltest/all.t ................. skipped: testing all.t
>t/alltest2/all.t ................ skipped: testing more than one all.t
>t/bad_coding.t .................. ok
>t/cookies.t ..................... skipped: cannot find module 'CGI',
>cannot find module 'CGI::Cookie'
>t/import.t ...................... ok
>t/log_watch.t ................... ok
>t/log_watch_for_broken_lines.t .. ok
>t/more/all.t .................... skipped: cannot find module
>'mod_perl.c'
>t/next_available_port.t ......... ok
>t/ping.t ........................ ok
>t/redirect.t .................... ok
>t/request.t ..................... ok
>t/sok.t ......................... ok
>All tests successful.
>Files=13, Tests=91,  4 wallclock secs ( 0.05 usr  0.01 sys +  2.17
>cusr  0.56 csys =  2.79 CPU)
>Result: PASS
>[warning] server localhost:8529 shutdown
>
>There are also some unit tests under "test" directory that they are
>all passed when I run the executable. I would like to know what is the
>difference between these two tests? Also I expected the tests that are
>triggered with "make check" to be much more extensive than some small
>tests that are run quickly. Something like night-run tests! Am I
>missing something?
>
>Regards,
>
>Danesh Daroui

Re: Run httpd's testsuite

Posted by Jim Jagielski <ji...@jaguNET.com>.
The test framework itself is under:

    https://svn.apache.org/viewvc/httpd/test/framework/trunk/

and is run using:

    t/TEST

> On Sep 3, 2018, at 3:34 AM, Danesh Daroui <da...@gmail.com> wrote:
> 
> Hi Jim!
> 
> Thanks for the tip, but how can I do that? Following the make file
> when "make check" is executed would be an option?
> 
> Regards,
> 
> Danesh
> 
> On Sun, Sep 2, 2018 at 9:25 PM Jim Jagielski <ji...@jagunet.com> wrote:
>> 
>> FWIW, I've never run 'make check' but always run the test suite explicitly.
>> 
>>> On Sep 2, 2018, at 6:49 AM, Danesh Daroui <da...@gmail.com> wrote:
>>> 
>>> Hi all,
>>> 
>>> I would like to be bale to run Apache https's testsuite. I have clones
>>> Apache-Test and configures the project with the given path and then
>>> built the httpd server, but when I execute "make cheek", all tests for
>>> "all.t" are skipped. The logs show that the test scripts runs the
>>> server with some isolated configurations on a specific port but it
>>> apparently cannot find "mod_perl.c" for instance. This is the last
>>> part of the log that I get when I run the test:
>>> 
>>> waiting 60 seconds for server to start: .
>>> waiting 60 seconds for server to start: ok (waited 0 secs)
>>> server localhost:8529 started
>>> [   info] adding source lib
>>> /home/danesh/open/github/Apache-Test/../Apache-Test/lib to @INC
>>> t/alltest/all.t ................. skipped: testing all.t
>>> t/alltest2/all.t ................ skipped: testing more than one all.t
>>> t/bad_coding.t .................. ok
>>> t/cookies.t ..................... skipped: cannot find module 'CGI',
>>> cannot find module 'CGI::Cookie'
>>> t/import.t ...................... ok
>>> t/log_watch.t ................... ok
>>> t/log_watch_for_broken_lines.t .. ok
>>> t/more/all.t .................... skipped: cannot find module 'mod_perl.c'
>>> t/next_available_port.t ......... ok
>>> t/ping.t ........................ ok
>>> t/redirect.t .................... ok
>>> t/request.t ..................... ok
>>> t/sok.t ......................... ok
>>> All tests successful.
>>> Files=13, Tests=91,  4 wallclock secs ( 0.05 usr  0.01 sys +  2.17
>>> cusr  0.56 csys =  2.79 CPU)
>>> Result: PASS
>>> [warning] server localhost:8529 shutdown
>>> 
>>> There are also some unit tests under "test" directory that they are
>>> all passed when I run the executable. I would like to know what is the
>>> difference between these two tests? Also I expected the tests that are
>>> triggered with "make check" to be much more extensive than some small
>>> tests that are run quickly. Something like night-run tests! Am I
>>> missing something?
>>> 
>>> Regards,
>>> 
>>> Danesh Daroui
>> 


Re: Run httpd's testsuite

Posted by Danesh Daroui <da...@gmail.com>.
Hi Jim!

Thanks for the tip, but how can I do that? Following the make file
when "make check" is executed would be an option?

Regards,

Danesh

On Sun, Sep 2, 2018 at 9:25 PM Jim Jagielski <ji...@jagunet.com> wrote:
>
> FWIW, I've never run 'make check' but always run the test suite explicitly.
>
> > On Sep 2, 2018, at 6:49 AM, Danesh Daroui <da...@gmail.com> wrote:
> >
> > Hi all,
> >
> > I would like to be bale to run Apache https's testsuite. I have clones
> > Apache-Test and configures the project with the given path and then
> > built the httpd server, but when I execute "make cheek", all tests for
> > "all.t" are skipped. The logs show that the test scripts runs the
> > server with some isolated configurations on a specific port but it
> > apparently cannot find "mod_perl.c" for instance. This is the last
> > part of the log that I get when I run the test:
> >
> > waiting 60 seconds for server to start: .
> > waiting 60 seconds for server to start: ok (waited 0 secs)
> > server localhost:8529 started
> > [   info] adding source lib
> > /home/danesh/open/github/Apache-Test/../Apache-Test/lib to @INC
> > t/alltest/all.t ................. skipped: testing all.t
> > t/alltest2/all.t ................ skipped: testing more than one all.t
> > t/bad_coding.t .................. ok
> > t/cookies.t ..................... skipped: cannot find module 'CGI',
> > cannot find module 'CGI::Cookie'
> > t/import.t ...................... ok
> > t/log_watch.t ................... ok
> > t/log_watch_for_broken_lines.t .. ok
> > t/more/all.t .................... skipped: cannot find module 'mod_perl.c'
> > t/next_available_port.t ......... ok
> > t/ping.t ........................ ok
> > t/redirect.t .................... ok
> > t/request.t ..................... ok
> > t/sok.t ......................... ok
> > All tests successful.
> > Files=13, Tests=91,  4 wallclock secs ( 0.05 usr  0.01 sys +  2.17
> > cusr  0.56 csys =  2.79 CPU)
> > Result: PASS
> > [warning] server localhost:8529 shutdown
> >
> > There are also some unit tests under "test" directory that they are
> > all passed when I run the executable. I would like to know what is the
> > difference between these two tests? Also I expected the tests that are
> > triggered with "make check" to be much more extensive than some small
> > tests that are run quickly. Something like night-run tests! Am I
> > missing something?
> >
> > Regards,
> >
> > Danesh Daroui
>

Re: Run httpd's testsuite

Posted by Jim Jagielski <ji...@jaguNET.com>.
FWIW, I've never run 'make check' but always run the test suite explicitly. 

> On Sep 2, 2018, at 6:49 AM, Danesh Daroui <da...@gmail.com> wrote:
> 
> Hi all,
> 
> I would like to be bale to run Apache https's testsuite. I have clones
> Apache-Test and configures the project with the given path and then
> built the httpd server, but when I execute "make cheek", all tests for
> "all.t" are skipped. The logs show that the test scripts runs the
> server with some isolated configurations on a specific port but it
> apparently cannot find "mod_perl.c" for instance. This is the last
> part of the log that I get when I run the test:
> 
> waiting 60 seconds for server to start: .
> waiting 60 seconds for server to start: ok (waited 0 secs)
> server localhost:8529 started
> [   info] adding source lib
> /home/danesh/open/github/Apache-Test/../Apache-Test/lib to @INC
> t/alltest/all.t ................. skipped: testing all.t
> t/alltest2/all.t ................ skipped: testing more than one all.t
> t/bad_coding.t .................. ok
> t/cookies.t ..................... skipped: cannot find module 'CGI',
> cannot find module 'CGI::Cookie'
> t/import.t ...................... ok
> t/log_watch.t ................... ok
> t/log_watch_for_broken_lines.t .. ok
> t/more/all.t .................... skipped: cannot find module 'mod_perl.c'
> t/next_available_port.t ......... ok
> t/ping.t ........................ ok
> t/redirect.t .................... ok
> t/request.t ..................... ok
> t/sok.t ......................... ok
> All tests successful.
> Files=13, Tests=91,  4 wallclock secs ( 0.05 usr  0.01 sys +  2.17
> cusr  0.56 csys =  2.79 CPU)
> Result: PASS
> [warning] server localhost:8529 shutdown
> 
> There are also some unit tests under "test" directory that they are
> all passed when I run the executable. I would like to know what is the
> difference between these two tests? Also I expected the tests that are
> triggered with "make check" to be much more extensive than some small
> tests that are run quickly. Something like night-run tests! Am I
> missing something?
> 
> Regards,
> 
> Danesh Daroui