You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by el...@apache.org on 2015/07/28 20:52:14 UTC
svn commit: r1693140 - in /httpd/test/framework/trunk:
c-modules/test_session/ t/htdocs/modules/session/ t/modules/
Author: elu
Date: Tue Jul 28 18:52:13 2015
New Revision: 1693140
URL: http://svn.apache.org/r1693140
Log:
Add tests for mod_session
Submitted by: Paul Spangler <pa...@ni.com>
Reviewed by: elu
Added:
httpd/test/framework/trunk/c-modules/test_session/
httpd/test/framework/trunk/c-modules/test_session/Makefile (with props)
httpd/test/framework/trunk/c-modules/test_session/mod_test_session.c (with props)
httpd/test/framework/trunk/c-modules/test_session/mod_test_session.slo
httpd/test/framework/trunk/t/htdocs/modules/session/
httpd/test/framework/trunk/t/htdocs/modules/session/env.shtml
httpd/test/framework/trunk/t/modules/session.t
Added: httpd/test/framework/trunk/c-modules/test_session/Makefile
URL: http://svn.apache.org/viewvc/httpd/test/framework/trunk/c-modules/test_session/Makefile?rev=1693140&view=auto
==============================================================================
--- httpd/test/framework/trunk/c-modules/test_session/Makefile (added)
+++ httpd/test/framework/trunk/c-modules/test_session/Makefile Tue Jul 28 18:52:13 2015
@@ -0,0 +1,21 @@
+# WARNING: this file is generated, do not edit
+# generated on Tue Jul 28 14:22:01 2015
+# 01: /home/elu/Code/apache/httpd/httpd-framework/Apache-Test/lib/Apache/TestConfig.pm:961
+# 02: /home/elu/Code/apache/httpd/httpd-framework/Apache-Test/lib/Apache/TestConfig.pm:979
+# 03: /home/elu/Code/apache/httpd/httpd-framework/Apache-Test/lib/Apache/TestConfigC.pm:178
+# 04: /home/elu/Code/apache/httpd/httpd-framework/Apache-Test/lib/Apache/TestConfigC.pm:162
+# 05: /home/elu/Code/apache/httpd/httpd-framework/Apache-Test/lib/Apache/TestConfigC.pm:125
+# 06: /home/elu/Code/apache/httpd/httpd-framework/Apache-Test/lib/Apache/TestConfigC.pm:97
+# 07: /home/elu/Code/apache/httpd/httpd-framework/Apache-Test/lib/Apache/TestRun.pm:501
+# 08: /home/elu/Code/apache/httpd/httpd-framework/Apache-Test/lib/Apache/TestRun.pm:713
+# 09: /home/elu/Code/apache/httpd/httpd-framework/Apache-Test/lib/Apache/TestRun.pm:713
+# 10: /home/elu/Code/apache/httpd/httpd-framework/t/TEST:21
+
+APXS=/home/elu/Code/apache/httpd/2.4.x-git/built/bin/apxs
+all: .libs/mod_test_session.so
+
+.libs/mod_test_session.so: mod_test_session.c
+ $(APXS) -D APACHE2 -D APACHE2_4 -I/home/elu/Code/apache/httpd/httpd-framework/c-modules -c mod_test_session.c
+
+clean:
+ -rm -rf mod_test_session.o mod_test_session.lo mod_test_session.slo mod_test_session.la mod_test_session.i mod_test_session.s mod_test_session.gcno .libs
Propchange: httpd/test/framework/trunk/c-modules/test_session/Makefile
------------------------------------------------------------------------------
svn:eol-style = native
Added: httpd/test/framework/trunk/c-modules/test_session/mod_test_session.c
URL: http://svn.apache.org/viewvc/httpd/test/framework/trunk/c-modules/test_session/mod_test_session.c?rev=1693140&view=auto
==============================================================================
--- httpd/test/framework/trunk/c-modules/test_session/mod_test_session.c (added)
+++ httpd/test/framework/trunk/c-modules/test_session/mod_test_session.c Tue Jul 28 18:52:13 2015
@@ -0,0 +1,334 @@
+#define HTTPD_TEST_REQUIRE_APACHE 2.3
+
+#if CONFIG_FOR_HTTPD_TEST
+
+<IfModule mod_session.c>
+ <Location /sessiontest>
+ Session Off
+ TestSession On
+ SetHandler test-session-handler
+ </Location>
+ <Location /sessiontest/on>
+ Session On
+ SessionHeader X-Test-Session-Override
+ </Location>
+ <Location /sessiontest/on/encode>
+ TestSessionEncoder On
+ </Location>
+ <IfModule mod_include.c>
+ Alias /sessiontest/on/env/on @DocumentRoot@/modules/session
+ <Directory @DocumentRoot@/modules/session>
+ Session On
+ SessionEnv Off
+ TestSession On
+ Options +IncludesNOEXEC
+ </Directory>
+ <Location /sessiontest/on/env>
+ SetHandler None
+ </Location>
+ <Location /sessiontest/on/env/on>
+ SessionEnv On
+ </Location>
+ </IfModule>
+ <Location /sessiontest/on/expire>
+ SessionMaxAge 10
+ </Location>
+ <Location /sessiontest/on/include>
+ SessionInclude /sessiontest/on/include/yes
+ SessionExclude /sessiontest/on/include/yes/no
+ </Location>
+</IfModule>
+
+#endif
+
+#include "apr_strings.h"
+#include "mod_session.h"
+
+#define APACHE_HTTPD_TEST_EXTRA_HOOKS extra_hooks
+#define APACHE_HTTPD_TEST_CHILD_INIT test_session_init
+#define APACHE_HTTPD_TEST_HANDLER test_session_handler
+#define APACHE_HTTPD_TEST_COMMANDS test_session_cmds
+#define APACHE_HTTPD_TEST_PER_DIR_CREATE test_session_dcfg_create
+#define APACHE_HTTPD_TEST_PER_DIR_MERGE test_session_dcfg_merge
+
+#include "apache_httpd_test.h"
+
+#define TEST_SESSION_HANDLER "test-session-handler"
+#define TEST_SESSION_ENCODER "test-session-encoder"
+#define TEST_SESSION_NOTE "mod_test_session"
+#define TEST_SESSION_HEADER "X-Test-Session-Override"
+#define TEST_SESSION_ENCODING_PREFIX "TestEncoded:"
+
+typedef struct {
+ int session;
+ int session_set;
+ int encoder;
+ int encoder_set;
+} test_session_dcfg_t;
+
+typedef enum {
+ TEST_SESSION_ACTION_NONE,
+ TEST_SESSION_ACTION_GET,
+ TEST_SESSION_ACTION_SET
+} TestSessionAction;
+
+module AP_MODULE_DECLARE_DATA test_session_module;
+
+static APR_OPTIONAL_FN_TYPE(ap_session_get) *ap_session_get_fn = NULL;
+static APR_OPTIONAL_FN_TYPE(ap_session_set) *ap_session_set_fn = NULL;
+static APR_OPTIONAL_FN_TYPE(ap_session_load) *ap_session_load_fn = NULL;
+static APR_OPTIONAL_FN_TYPE(ap_session_save) *ap_session_save_fn = NULL;
+
+static void test_session_init(apr_pool_t *p, server_rec *s)
+{
+ ap_session_get_fn = APR_RETRIEVE_OPTIONAL_FN(ap_session_get);
+ ap_session_set_fn = APR_RETRIEVE_OPTIONAL_FN(ap_session_set);
+ ap_session_save_fn = APR_RETRIEVE_OPTIONAL_FN(ap_session_save);
+ ap_session_load_fn = APR_RETRIEVE_OPTIONAL_FN(ap_session_load);
+}
+
+static apr_status_t test_session_load(request_rec * r, session_rec ** z)
+{
+ test_session_dcfg_t *dconf = ap_get_module_config(r->per_dir_config,
+ &test_session_module);
+ if (!dconf || !dconf->session)
+ return DECLINED;
+
+ session_rec *zz = (session_rec *)apr_table_get(r->notes, TEST_SESSION_NOTE);
+
+ if (!zz) {
+ /* Create the session using the query string as the data. */
+ char *data = apr_pstrdup(r->pool, r->args);
+
+ if (data) {
+ int result = ap_unescape_urlencoded(data);
+ if (result)
+ return result;
+ }
+
+ zz = (session_rec *)apr_pcalloc(r->pool, sizeof(session_rec));
+ zz->pool = r->pool;
+ zz->entries = apr_table_make(r->pool, 10);
+ zz->encoded = data;
+ apr_table_setn(r->notes, TEST_SESSION_NOTE, (char *)zz);
+ }
+
+ *z = zz;
+ return OK;
+}
+
+static apr_status_t test_session_save(request_rec * r, session_rec * z)
+{
+ test_session_dcfg_t *dconf = ap_get_module_config(r->per_dir_config,
+ &test_session_module);
+ if (!dconf || !dconf->session)
+ return DECLINED;
+
+ /* Save the session into headers. */
+ apr_table_setn(r->headers_out, "X-Test-Session-Dirty",
+ z->dirty ? "1" : "0");
+
+ apr_table_set(r->headers_out, "X-Test-Session", z->encoded);
+
+ return OK;
+}
+
+static apr_status_t test_session_encode(request_rec * r, session_rec * z)
+{
+ test_session_dcfg_t *dconf = ap_get_module_config(r->per_dir_config,
+ &test_session_module);
+ if (!dconf || !dconf->encoder)
+ return DECLINED;
+
+ /* Simple encoding by adding a prefix. */
+ z->encoded = apr_pstrcat(r->pool, TEST_SESSION_ENCODING_PREFIX,
+ z->encoded, NULL);
+ return OK;
+}
+
+static apr_status_t test_session_decode(request_rec * r, session_rec * z)
+{
+ apr_status_t result = OK;
+ const size_t prefix_len = strlen(TEST_SESSION_ENCODING_PREFIX);
+ test_session_dcfg_t *dconf = ap_get_module_config(r->per_dir_config,
+ &test_session_module);
+ if (!dconf || !dconf->encoder || !z->encoded)
+ return DECLINED;
+
+ /* Simple decoding by removing a prefix. */
+ if (!strncmp(z->encoded, TEST_SESSION_ENCODING_PREFIX, prefix_len)) {
+ z->encoded += prefix_len;
+ return OK;
+ }
+
+ return HTTP_BAD_REQUEST;
+}
+
+static int test_session_get(request_rec *r, char *name)
+{
+ session_rec *z = NULL;
+ const char *value = NULL;
+ apr_status_t result = ap_session_load_fn(r, &z);
+
+ if (result == OK)
+ result = ap_session_get_fn(r, z, name, &value);
+
+ if (result == OK) {
+ if (value)
+ result = ap_rputs(value, r) > 0 ? OK : HTTP_INTERNAL_SERVER_ERROR;
+ else
+ result = HTTP_NOT_FOUND;
+ }
+
+ return result;
+}
+
+static int test_session_set(request_rec *r, char *name, char *value)
+{
+ session_rec *z = NULL;
+ apr_status_t result = ap_session_load_fn(r, &z);
+
+ if (result == OK)
+ result = ap_session_set_fn(r, z, name, value);
+
+ return result;
+}
+
+static int test_session_handler(request_rec *r)
+{
+ const char *overrides = NULL;
+
+ if (strcmp(r->handler, TEST_SESSION_HANDLER))
+ return DECLINED;
+
+ /* Copy the header for SessionHeader from the request to the response. */
+ if (overrides = apr_table_get(r->headers_in, TEST_SESSION_HEADER))
+ apr_table_setn(r->headers_out, TEST_SESSION_HEADER, overrides);
+
+ /* Additional commands to test the session API via POST. */
+ if (r->method_number == M_POST) {
+ if (!ap_session_get_fn || !ap_session_set_fn ||
+ !ap_session_load_fn || !ap_session_save_fn)
+ return HTTP_INTERNAL_SERVER_ERROR;
+
+ char *fieldName = NULL;
+ char *fieldValue = NULL;
+ apr_array_header_t *pairs = NULL;
+ TestSessionAction action = TEST_SESSION_ACTION_NONE;
+ apr_status_t result = ap_parse_form_data(r, NULL, &pairs, 3, 1024);
+
+ if (result != OK)
+ return result;
+
+ while (pairs && !apr_is_empty_array(pairs)) {
+ ap_form_pair_t *pair = (ap_form_pair_t *)apr_array_pop(pairs);
+ if (!strcmp(pair->name, "action")) {
+ apr_size_t len;
+ char *value = NULL;
+ result = apr_brigade_pflatten(pair->value, &value, &len,
+ r->pool);
+ if (result == OK && !strncmp(value, "get", len))
+ action = TEST_SESSION_ACTION_GET;
+ else if (result == OK && !strncmp(value, "set", len))
+ action = TEST_SESSION_ACTION_SET;
+ else
+ return HTTP_BAD_REQUEST;
+ }
+ else if (!strcmp(pair->name, "name")) {
+ apr_size_t len;
+ apr_brigade_length(pair->value, 1, &len);
+ fieldName = apr_pcalloc(r->pool, sizeof(char) * len + 1);
+ result = apr_brigade_flatten(pair->value, fieldName, &len);
+ }
+ else if (!strcmp(pair->name, "value")) {
+ apr_size_t len;
+ apr_brigade_length(pair->value, 1, &len);
+ fieldValue = apr_pcalloc(r->pool, sizeof(char) * len + 1);
+ result = apr_brigade_flatten(pair->value, fieldValue, &len);
+ }
+ else {
+ return HTTP_BAD_REQUEST;
+ }
+
+ if (result != OK)
+ return result;
+ }
+
+ switch (action) {
+ case TEST_SESSION_ACTION_GET:
+ return test_session_get(r, fieldName);
+
+ case TEST_SESSION_ACTION_SET:
+ return test_session_set(r, fieldName, fieldValue);
+
+ default:
+ return HTTP_BAD_REQUEST;
+ }
+ }
+
+ return OK;
+}
+
+static void *test_session_dcfg_create(apr_pool_t *p, char *dummy)
+{
+ return apr_pcalloc(p, sizeof(test_session_dcfg_t));
+}
+
+static void *test_session_dcfg_merge(apr_pool_t * p, void *basev, void *addv)
+{
+ test_session_dcfg_t *add = addv;
+ test_session_dcfg_t *base = basev;
+ test_session_dcfg_t *new = apr_pcalloc(p, sizeof(test_session_dcfg_t));
+
+ new->session = (add->session_set == 0) ? base->session : add->session;
+ new->session_set = add->session_set || base->session_set;
+ new->encoder = (add->encoder_set == 0) ? base->encoder : add->encoder;
+ new->encoder_set = add->encoder_set || base->encoder_set;
+
+ return new;
+}
+
+static const char *set_session_enable(cmd_parms * parms, void *dconf, int flag)
+{
+ test_session_dcfg_t *conf = dconf;
+
+ conf->session = flag;
+ conf->session_set = 1;
+
+ return NULL;
+}
+
+static const char *set_encoder_enable(cmd_parms * parms, void *dconf, int flag)
+{
+ test_session_dcfg_t *conf = dconf;
+
+ conf->encoder = flag;
+ conf->encoder_set = 1;
+
+ return NULL;
+}
+
+static const command_rec test_session_cmds[] = {
+ AP_INIT_FLAG("TestSession", set_session_enable, NULL, OR_ALL,
+ "Enable test sessions"),
+ AP_INIT_FLAG("TestSessionEncoder", set_encoder_enable, NULL, OR_ALL,
+ "Enable test session encoding"),
+ { NULL }
+};
+
+static void extra_hooks(apr_pool_t *pool)
+{
+ ap_hook_session_load(test_session_load,
+ NULL, NULL, APR_HOOK_MIDDLE);
+
+ ap_hook_session_save(test_session_save,
+ NULL, NULL, APR_HOOK_MIDDLE);
+
+ ap_hook_session_encode(test_session_encode,
+ NULL, NULL, APR_HOOK_MIDDLE);
+
+ ap_hook_session_decode(test_session_decode,
+ NULL, NULL, APR_HOOK_MIDDLE);
+}
+
+APACHE_HTTPD_TEST_MODULE(test_session);
Propchange: httpd/test/framework/trunk/c-modules/test_session/mod_test_session.c
------------------------------------------------------------------------------
svn:eol-style = native
Added: httpd/test/framework/trunk/c-modules/test_session/mod_test_session.slo
URL: http://svn.apache.org/viewvc/httpd/test/framework/trunk/c-modules/test_session/mod_test_session.slo?rev=1693140&view=auto
==============================================================================
(empty)
Added: httpd/test/framework/trunk/t/htdocs/modules/session/env.shtml
URL: http://svn.apache.org/viewvc/httpd/test/framework/trunk/t/htdocs/modules/session/env.shtml?rev=1693140&view=auto
==============================================================================
--- httpd/test/framework/trunk/t/htdocs/modules/session/env.shtml (added)
+++ httpd/test/framework/trunk/t/htdocs/modules/session/env.shtml Tue Jul 28 18:52:13 2015
@@ -0,0 +1 @@
+<!--#echo decoding="urlencoded" var="HTTP_SESSION" -->
Added: httpd/test/framework/trunk/t/modules/session.t
URL: http://svn.apache.org/viewvc/httpd/test/framework/trunk/t/modules/session.t?rev=1693140&view=auto
==============================================================================
--- httpd/test/framework/trunk/t/modules/session.t (added)
+++ httpd/test/framework/trunk/t/modules/session.t Tue Jul 28 18:52:13 2015
@@ -0,0 +1,162 @@
+use strict;
+use warnings FATAL => 'all';
+
+use Apache::Test;
+use Apache::TestRequest;
+use Apache::TestUtil;
+
+##
+## mod_session tests
+##
+
+# Code, session data, dirty, expiry, content.
+my $checks_per_test = 5;
+
+# Session, API, Encoding, SessionEnv, SessionHeader, SessionMaxAge,
+# SessionInclude/Exclude.
+my $num_tests = 2 + 4 + 5 + 2 + 1 + 4 + 3;
+
+my @todo = [
+ # Session writable after decode failure - PR 58171
+ 53, 54,
+ # Session writable after expired - PR 56052
+ 88, 89
+];
+
+plan tests => $num_tests * $checks_per_test,
+ todo => @todo,
+ need need_module('session'),
+ need_min_apache_version('2.3.0');
+
+# APR time is in microseconds.
+use constant APR_TIME_PER_SEC => 1000000;
+
+# check_result(name, res, session, dirty, expiry, response)
+sub check_result
+{
+ my $name = shift;
+ my $res = shift;
+ my $session = shift // '(none)';
+ my $dirty = shift // 0;
+ my $expiry = shift // 0;
+ my $response = shift // '';
+
+ ok t_cmp($res->code, 200, "response code ($name)");
+ my $gotSession = $res->header('X-Test-Session') // '(none)';
+ my $sessionData = $gotSession;
+
+ if ($gotSession =~ /^(?:(.+)&)?expiry=([0-9]+)(?:&(.*))?$/i) {
+ my $gotExpiry = $2 / APR_TIME_PER_SEC;
+ t_debug "expiry of $gotExpiry ($name)";
+ ok $expiry && time() < $gotExpiry;
+
+ # Combine the remaining data (if there is any) without the expiry.
+ $sessionData = join('&', grep(defined, ($1, $3)));
+ }
+ else {
+ t_debug "no expiry ($name)";
+ ok !$expiry;
+ }
+
+ ok t_cmp($sessionData, $session, "session header ($name)");
+ my $got = $res->header('X-Test-Session-Dirty') // 0;
+ ok t_cmp($got, $dirty, "session dirty ($name)");
+ $got = $res->content;
+ chomp($got);
+ ok t_cmp($got, $response, "body ($name)");
+ return $gotSession;
+}
+
+# check_get(name, path, session, dirty, expiry, response)
+sub check_get
+{
+ my $name = shift;
+ my $path = shift;
+
+ t_debug "$name: GET $path";
+ my $res = GET "/sessiontest$path";
+ return check_result $name, $res, @_;
+}
+
+# check_post(name, path, data, session, dirty, expiry, response)
+sub check_post
+{
+ my $name = shift;
+ my $path = shift;
+ my $data = shift;
+
+ t_debug "$name: POST $path";
+ my $res = POST "/sessiontest$path", content => $data;
+ return check_result $name, $res, @_;
+}
+
+# check_custom(name, result, session, dirty, expiry, response)
+sub check_custom
+{
+ my $name = shift;
+ my $res = shift;
+
+ t_debug "$name";
+ return check_result $name, $res, @_;
+}
+
+my $session = 'test=value';
+my $encoded_prefix = 'TestEncoded:';
+my $encoded_session = $encoded_prefix . $session;
+my $create_session = 'action=set&name=test&value=value';
+my $read_session = 'action=get&name=test';
+
+# Session directive
+check_get 'Session Off', '/';
+check_get 'Session On', '/on', '';
+
+# API optional functions
+check_post 'Set session', '/on', $create_session, $session, 1;
+check_post 'Get session', "/on?$session", $read_session,
+ $session, 0, 0, 'value';
+check_post 'Delete session', "/on?$session", 'action=set&name=test', '', 1;
+check_post 'Edit session', "/on?$session", 'action=set&name=test&value=',
+ 'test=', 1;
+
+# Encoding hooks
+check_post 'Encode session', '/on/encode', $create_session,
+ $encoded_session, 1;
+check_post 'Decode session', "/on/encode?$encoded_session", $read_session,
+ $encoded_session, 0, 0, 'value';
+check_get 'Custom decoder failure', "/on/encode?$session", $encoded_prefix;
+check_get 'Identity decoder failure', "/on?&=test", '';
+check_post 'Session writable after decode failure', "/on/encode?$session",
+ $create_session, $encoded_session, 1;
+
+# SessionEnv directive - requires mod_include
+if (have_module('include')) {
+ check_custom 'SessionEnv Off', GET("/modules/session/env.shtml?$session"),
+ $session, 0, 0, '(none)';
+ check_get 'SessionEnv On', "/on/env/on/env.shtml?$session",
+ $session, 0, 0, $session;
+}
+else {
+ for (1 .. 2 * $checks_per_test) {
+ skip "SessionEnv tests require mod_include", 1;
+ }
+}
+
+# SessionHeader directive
+check_custom 'SessionHeader', GET("/sessiontest/on?$session&another=1",
+ 'X-Test-Session-Override' => 'another=5&last=7'),
+ "$session&another=5&last=7", 1;
+
+# SessionMaxAge directive
+my $future_expiry = (time() + 100) * APR_TIME_PER_SEC;
+
+check_get 'SessionMaxAge adds expiry', "/on/expire?$session", $session, 0, 1;
+check_get 'Discard expired session', "/on/expire?$session&expiry=1", '', 0, 1;
+check_get 'Keep non-expired session',
+ "/on/expire?$session&expiry=$future_expiry", $session, 0, 1;
+check_post 'Session writable after expired', '/on/expire?expiry=1',
+ $create_session, $session, 1, 1;
+
+# SessionInclude/Exclude directives
+check_get 'Not in SessionInclude', "/on/include?$session";
+check_get 'SessionInclude', "/on/include/yes?$session", $session;
+check_get 'SessionExclude', "/on/include/yes/no?$session";
Re: svn commit: r1693140 - in /httpd/test/framework/trunk:
c-modules/test_session/ t/htdocs/modules/session/ t/modules/
Posted by Eric Covener <co...@gmail.com>.
On Wed, Jul 29, 2015 at 11:10 AM, Paul Spangler <pa...@ni.com> wrote:
> Thank you for reviewing and committing those tests so quickly! I think the
> test_session directory is missing the svn:ignore prop:
>
> $ svn propget svn:ignore c-modules/test_session
> $ svn propget svn:ignore c-modules/test_ssl
> Makefile
> .libs
> *.lo
> *.slo
> *.la
> *.so
> *.exp
> *.lib
Thanks -- done in r1693321.
--
Eric Covener
covener@gmail.com
Re: svn commit: r1693140 - in /httpd/test/framework/trunk:
c-modules/test_session/ t/htdocs/modules/session/ t/modules/
Posted by Paul Spangler <pa...@ni.com>.
On 7/29/2015 9:45 AM, Edward Lu wrote:
> Whoops, sorry, fixed.
>
> On Tue, Jul 28, 2015 at 2:59 PM, Eric Covener <covener@gmail.com
> <ma...@gmail.com>> wrote:
>
> On Tue, Jul 28, 2015 at 2:52 PM, <elu@apache.org
> <ma...@apache.org>> wrote:
> >
> > Added:
> > httpd/test/framework/trunk/c-modules/test_session/
> > httpd/test/framework/trunk/c-modules/test_session/Makefile (with props)
> > httpd/test/framework/trunk/c-modules/test_session/mod_test_session.c (with props)
> > httpd/test/framework/trunk/c-modules/test_session/mod_test_session.slo
>
>
> Some generated files
>
> --
> Eric Covener
> covener@gmail.com <ma...@gmail.com>
>
>
Thank you for reviewing and committing those tests so quickly! I think
the test_session directory is missing the svn:ignore prop:
$ svn propget svn:ignore c-modules/test_session
$ svn propget svn:ignore c-modules/test_ssl
Makefile
.libs
*.lo
*.slo
*.la
*.so
*.exp
*.lib
--
Paul Spangler
LabVIEW R&D
National Instruments
Re: svn commit: r1693140 - in /httpd/test/framework/trunk:
c-modules/test_session/ t/htdocs/modules/session/ t/modules/
Posted by Edward Lu <ch...@gmail.com>.
Whoops, sorry, fixed.
On Tue, Jul 28, 2015 at 2:59 PM, Eric Covener <co...@gmail.com> wrote:
> On Tue, Jul 28, 2015 at 2:52 PM, <el...@apache.org> wrote:
> >
> > Added:
> > httpd/test/framework/trunk/c-modules/test_session/
> > httpd/test/framework/trunk/c-modules/test_session/Makefile (with
> props)
> >
> httpd/test/framework/trunk/c-modules/test_session/mod_test_session.c
> (with props)
> >
> httpd/test/framework/trunk/c-modules/test_session/mod_test_session.slo
>
>
> Some generated files
>
> --
> Eric Covener
> covener@gmail.com
>
Re: svn commit: r1693140 - in /httpd/test/framework/trunk:
c-modules/test_session/ t/htdocs/modules/session/ t/modules/
Posted by Eric Covener <co...@gmail.com>.
On Tue, Jul 28, 2015 at 2:52 PM, <el...@apache.org> wrote:
>
> Added:
> httpd/test/framework/trunk/c-modules/test_session/
> httpd/test/framework/trunk/c-modules/test_session/Makefile (with props)
> httpd/test/framework/trunk/c-modules/test_session/mod_test_session.c (with props)
> httpd/test/framework/trunk/c-modules/test_session/mod_test_session.slo
Some generated files
--
Eric Covener
covener@gmail.com