This failing test on Centos/Fedora platforms has been bugging me: [rhp@app mod_perl-2.0.7]$ ./t/TEST -verbose t/api/server_const.t ... # testing : Apache2::ServerUtil::get_server_banner() # expected: Apache/2.2.15 (Unix) world domination series/2.0 mod_apreq2-20090110/2.8.0 mod_perl/2.0.7 Perl/v5.10.1 # received: Apache/2.2.15 (CentOS) world domination series/2.0 mod_apreq2-20090110/2.8.0 mod_perl/2.0.7 Perl/v5.10.1 not ok 5 # testing : Apache2::ServerUtil::get_server_version() # expected: Apache/2.2.15 (Unix) world domination series/2.0 mod_apreq2-20090110/2.8.0 mod_perl/2.0.7 Perl/v5.10.1 # received: Apache/2.2.15 (CentOS) world domination series/2.0 mod_apreq2-20090110/2.8.0 mod_perl/2.0.7 Perl/v5.10.1 not ok 6 Failed 2/6 subtests
The test code is in here: t/response/TestAPI/server_const.pm # assuming ServerTokens Full (default) the banner equals description ok t_cmp(Apache2::ServerUtil::get_server_banner, $server_descr, 'Apache2::ServerUtil::get_server_banner()'); # version is just an alias for banner ok t_cmp(Apache2::ServerUtil::get_server_version, $server_descr, 'Apache2::ServerUtil::get_server_version()'); The reason this test failure occurs is because the RedHat rpm devs patched the version component code to replace 'Unix' with @VENDOR@, in these cases either Centos or Fedora. But their patch isn't complete - they didn't patch the server description code, so that returns 'Unix' instead of 'Centos'. Thoughts on how to resolve this? I think it's a given that vendors are going to mark this up, so I'd say +1 to just removing these 2 tests. --- httpd-2.2.14/server/core.c.release +++ httpd-2.2.14/server/core.c @@ -2728,6 +2728,7 @@ enum server_token_type { SrvTk_MINIMAL, /* eg: Apache/2.0.41 */ SrvTk_OS, /* eg: Apache/2.0.41 (UNIX) */ SrvTk_FULL, /* eg: Apache/2.0.41 (UNIX) PHP/4.2.2 FooBar/1.2b */ + SrvTk_FULL_RELEASE, /* eg: Apache/2.0.41 (Red Hat) (Release 32.el5) PHP/4.2.2 FooBar/1.2b */ SrvTk_PRODUCT_ONLY /* eg: Apache */ }; static enum server_token_type ap_server_tokens = SrvTk_FULL; @@ -2812,15 +2813,18 @@ static void set_banner(apr_pool_t *pconf else if (ap_server_tokens == SrvTk_MAJOR) { ap_add_version_component(pconf, AP_SERVER_BASEPRODUCT "/" AP_SERVER_MAJORVERSION); } - else { - ap_add_version_component(pconf, AP_SERVER_BASEVERSION " (" PLATFORM ")"); + else if (ap_server_tokens == SrvTk_FULL_RELEASE) { + ap_add_version_component(pconf, AP_SERVER_BASEVERSION " (@VENDOR@) (Release @RELEASE@)"); + } + else { + ap_add_version_component(pconf, AP_SERVER_BASEVERSION " (@VENDOR@)"); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@perl.apache.org For additional commands, e-mail: dev-h...@perl.apache.org