summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--REFLECTION111
-rw-r--r--bootstrap.inc5
-rw-r--r--php-pecl-solr.spec21
-rw-r--r--response_xml.1.xml5
-rw-r--r--skip.if.server_not_configured.inc7
-rw-r--r--test.config.inc49
6 files changed, 177 insertions, 21 deletions
diff --git a/REFLECTION b/REFLECTION
index 4745960..cd88db0 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -1,15 +1,15 @@
-Extension [ <persistent> extension #162 solr version 1.0.2 ] {
+Extension [ <persistent> extension #162 solr version 1.1.0 ] {
- Dependencies {
- Dependency [ curl (Required) ]
Dependency [ libxml (Required) ]
+ Dependency [ json (Required) ]
}
- Constants [4] {
Constant [ integer SOLR_MAJOR_VERSION ] { 1 }
- Constant [ integer SOLR_MINOR_VERSION ] { 0 }
- Constant [ integer SOLR_PATCH_VERSION ] { 1 }
- Constant [ string SOLR_EXTENSION_VERSION ] { 1.0.2 }
+ Constant [ integer SOLR_MINOR_VERSION ] { 1 }
+ Constant [ integer SOLR_PATCH_VERSION ] { 0 }
+ Constant [ string SOLR_EXTENSION_VERSION ] { 1.1.0 }
}
- Functions {
@@ -20,7 +20,7 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
}
}
- - Classes [18] {
+ - Classes [19] {
Class [ <internal:solr> final class SolrObject implements ArrayAccess ] {
- Constants [0] {
@@ -85,7 +85,7 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
}
}
- Class [ <internal:solr> <iterateable> class SolrDocument implements ArrayAccess, Iterator, Traversable, Serializable ] {
+ Class [ <internal:solr> <iterateable> final class SolrDocument implements ArrayAccess, Iterator, Traversable, Serializable ] {
- Constants [6] {
Constant [ integer SORT_DEFAULT ] { 1 }
@@ -335,7 +335,7 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
}
}
- Class [ <internal:solr> class SolrInputDocument ] {
+ Class [ <internal:solr> final class SolrInputDocument ] {
- Constants [6] {
Constant [ integer SORT_DEFAULT ] { 1 }
@@ -489,17 +489,19 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
Class [ <internal:solr> class SolrClient ] {
- - Constants [10] {
+ - Constants [12] {
Constant [ integer SEARCH_SERVLET_TYPE ] { 1 }
Constant [ integer UPDATE_SERVLET_TYPE ] { 2 }
Constant [ integer THREADS_SERVLET_TYPE ] { 4 }
Constant [ integer PING_SERVLET_TYPE ] { 8 }
Constant [ integer TERMS_SERVLET_TYPE ] { 16 }
+ Constant [ integer SYSTEM_SERVLET_TYPE ] { 32 }
Constant [ string DEFAULT_SEARCH_SERVLET ] { select }
Constant [ string DEFAULT_UPDATE_SERVLET ] { update }
Constant [ string DEFAULT_THREADS_SERVLET ] { admin/threads }
Constant [ string DEFAULT_PING_SERVLET ] { admin/ping }
Constant [ string DEFAULT_TERMS_SERVLET ] { terms }
+ Constant [ string DEFAULT_SYSTEM_SERVLET ] { admin/system }
}
- Static properties [0] {
@@ -512,7 +514,7 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
Property [ <default> private $_hashtable_index ]
}
- - Methods [22] {
+ - Methods [23] {
Method [ <internal:solr, ctor> public method __construct ] {
- Parameters [1] {
@@ -627,10 +629,11 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
Method [ <internal:solr> public method &commit ] {
- - Parameters [3] {
+ - Parameters [4] {
Parameter #0 [ <optional> $maxSegments ]
Parameter #1 [ <optional> $waitFlush ]
Parameter #2 [ <optional> $waitSearcher ]
+ Parameter #3 [ <optional> $expungeDeletes ]
}
}
@@ -655,6 +658,12 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
}
}
+ Method [ <internal:solr> public method &system ] {
+
+ - Parameters [0] {
+ }
+ }
+
Method [ <internal:solr> public method &threads ] {
- Parameters [0] {
@@ -2140,7 +2149,7 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
}
}
- Class [ <internal:solr> class SolrQueryResponse extends SolrResponse ] {
+ Class [ <internal:solr> final class SolrQueryResponse extends SolrResponse ] {
- Constants [2] {
Constant [ integer PARSE_SOLR_OBJ ] { 0 }
@@ -2249,7 +2258,7 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
}
}
- Class [ <internal:solr> class SolrUpdateResponse extends SolrResponse ] {
+ Class [ <internal:solr> final class SolrUpdateResponse extends SolrResponse ] {
- Constants [2] {
Constant [ integer PARSE_SOLR_OBJ ] { 0 }
@@ -2358,7 +2367,7 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
}
}
- Class [ <internal:solr> class SolrPingResponse extends SolrResponse ] {
+ Class [ <internal:solr> final class SolrPingResponse extends SolrResponse ] {
- Constants [2] {
Constant [ integer PARSE_SOLR_OBJ ] { 0 }
@@ -2467,7 +2476,7 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
}
}
- Class [ <internal:solr> class SolrGenericResponse extends SolrResponse ] {
+ Class [ <internal:solr> final class SolrGenericResponse extends SolrResponse ] {
- Constants [2] {
Constant [ integer PARSE_SOLR_OBJ ] { 0 }
@@ -2584,7 +2593,7 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
- Static properties [0] {
}
- - Static methods [4] {
+ - Static methods [5] {
Method [ <internal:solr> static public method escapeQueryChars ] {
- Parameters [1] {
@@ -2607,6 +2616,13 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
}
}
+ Method [ <internal:solr> static public method digestJsonResponse ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $jsonResponse ]
+ }
+ }
+
Method [ <internal:solr> static public method getSolrVersion ] {
- Parameters [0] {
@@ -2872,6 +2888,69 @@ Extension [ <persistent> extension #162 solr version 1.0.2 ] {
}
}
}
+
+ Class [ <internal:solr> class SolrServerException extends SolrException ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [7] {
+ Property [ <default> protected $message ]
+ Property [ <default> protected $code ]
+ Property [ <default> protected $file ]
+ Property [ <default> protected $line ]
+ Property [ <default> protected $sourceline ]
+ Property [ <default> protected $sourcefile ]
+ Property [ <default> protected $zif_name ]
+ }
+
+ - Methods [10] {
+ Method [ <internal:solr, overwrites SolrException, prototype SolrException> public method getInternalInfo ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:Core, inherits Exception, ctor> <visibility error> method __construct ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <optional> $message ]
+ Parameter #1 [ <optional> $code ]
+ Parameter #2 [ <optional> $previous ]
+ }
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getMessage ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getCode ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getFile ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getLine ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getTrace ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getPrevious ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getTraceAsString ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> public method __toString ] {
+ }
+ }
+ }
}
}
diff --git a/bootstrap.inc b/bootstrap.inc
new file mode 100644
index 0000000..0a3912d
--- /dev/null
+++ b/bootstrap.inc
@@ -0,0 +1,5 @@
+<?php
+
+require_once "test.config.inc";
+
+?> \ No newline at end of file
diff --git a/php-pecl-solr.spec b/php-pecl-solr.spec
index 6442ae6..b757476 100644
--- a/php-pecl-solr.spec
+++ b/php-pecl-solr.spec
@@ -26,13 +26,22 @@ Summary: Object oriented API to Apache Solr
Summary(fr): API orientée objet pour Apache Solr
Name: %{?scl_prefix}php-pecl-solr
Version: 1.1.0
-Release: 9%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}
+Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}
License: PHP
Group: Development/Languages
URL: http://pecl.php.net/package/solr
Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz
+# http://git.php.net/?p=pecl/search_engine/solr.git;a=blob_plain;f=tests/bootstrap.inc;hb=333d932e89f7032260be8069dbf3c26a2fd34a9c
+Source1: bootstrap.inc
+# http://git.php.net/?p=pecl/search_engine/solr.git;a=blob_plain;f=tests/test.config.inc;hb=333d932e89f7032260be8069dbf3c26a2fd34a9c
+Source2: test.config.inc
+# http://git.php.net/?p=pecl/search_engine/solr.git;a=blob_plain;f=tests/skip.if.server_not_configured.inc;hb=333d932e89f7032260be8069dbf3c26a2fd34a9c
+Source3: skip.if.server_not_configured.inc
+# http://git.php.net/?p=pecl/search_engine/solr.git;a=blob_plain;f=tests/files/response_xml.1.xml;hb=333d932e89f7032260be8069dbf3c26a2fd34a9c
+Source4: response_xml.1.xml
+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{?scl_prefix}php-devel
BuildRequires: %{?scl_prefix}php-pear
@@ -135,11 +144,13 @@ PECL Solr 2 est disponible dans le paquet php-pecl-solr2.
mv %{pecl_name}-%{version}%{?prever} NTS
cd NTS
-# Fix version
-sed -i -e '/PHP_SOLR_DOTTED_VERSION/s/1.0.1/1.0.2/' php_solr_version.h
+# Restore missing file in archive
+cp %{SOURCE1} %{SOURCE2} %{SOURCE3} tests/
+mkdir tests/files
+cp %{SOURCE4} tests/files/
# Check version
-extver=$(sed -n '/#define PHP_SOLR_DOTTED_VERSION/{s/.* "//;s/".*$//;p}' php_solr_version.h)
+extver=$(sed -n '/#define PHP_SOLR_VERSION /{s/.* "//;s/".*$//;p}' php_solr_version.h)
if test "x${extver}" != "x%{version}"; then
: Error: Upstream version is ${extver}, expecting %{version}.
exit 1
@@ -270,7 +281,7 @@ rm -rf %{buildroot}
%changelog
* Thu Jun 19 2014 Remi Collet <remi@fedoraproject.org> - 1.1.0-1
-- Update to 1.1.0
+- Update to 1.1.0 (stable)
* Thu Apr 17 2014 Remi Collet <remi@fedoraproject.org> - 1.0.2-9
- add numerical prefix to extension configuration file (php 5.6)
diff --git a/response_xml.1.xml b/response_xml.1.xml
new file mode 100644
index 0000000..9a24708
--- /dev/null
+++ b/response_xml.1.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<response>
+<lst name="responseHeader"><int name="status">0</int><int name="QTime">72</int></lst><lst name="system"><lst name="threadCount"><int name="current">15</int><int name="peak">15</int><int name="daemon">13</int></lst><lst name="threadDump"><lst name="thread"><long name="id">21</long><str name="name">http-8983-3</str><str name="state">WAITING</str><str name="lock">org.apache.tomcat.util.net.JIoEndpoint$Worker@1bf68a9</str><str name="cpuTime">60.0000ms</str><str name="userTime">40.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.Object.wait(Object.java:474)</str><str>org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:416)</str><str>org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:442)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">20</long><str name="name">http-8983-2</str><str name="state">WAITING</str><str name="lock">org.apache.tomcat.util.net.JIoEndpoint$Worker@1706eb7</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.Object.wait(Object.java:474)</str><str>org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:416)</str><str>org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:442)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">19</long><str name="name">http-8983-1</str><str name="state">RUNNABLE</str><str name="cpuTime">160.0000ms</str><str name="userTime">160.0000ms</str><arr name="stackTrace"><str>sun.management.ThreadImpl.getThreadInfo0(Native Method)</str><str>sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:142)</str><str>org.apache.solr.handler.admin.ThreadDumpHandler.handleRequestBody(ThreadDumpHandler.java:73)</str><str>org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)</str><str>org.apache.solr.core.SolrCore.execute(SolrCore.java:1299)</str><str>org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)</str><str>org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)</str><str>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)</str><str>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)</str><str>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)</str><str>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)</str><str>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)</str><str>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)</str><str>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)</str><str>org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)</str><str>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)</str><str>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)</str><str>org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">17</long><str name="name">TP-Monitor</str><str name="state">TIMED_WAITING</str><str name="lock">org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable@74db2c</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable.run(ThreadPool.java:565)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">16</long><str name="name">TP-Processor4</str><str name="state">RUNNABLE</str><bool name="native">true</bool><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.net.PlainSocketImpl.socketAccept(Native Method)</str><str>java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)</str><str>java.net.ServerSocket.implAccept(ServerSocket.java:450)</str><str>java.net.ServerSocket.accept(ServerSocket.java:421)</str><str>org.apache.jk.common.ChannelSocket.accept(ChannelSocket.java:306)</str><str>org.apache.jk.common.ChannelSocket.acceptConnections(ChannelSocket.java:660)</str><str>org.apache.jk.common.ChannelSocket$SocketAcceptor.runIt(ChannelSocket.java:870)</str><str>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">15</long><str name="name">TP-Processor3</str><str name="state">WAITING</str><str name="lock">org.apache.tomcat.util.threads.ThreadPool$ControlRunnable@1e16483</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.Object.wait(Object.java:474)</str><str>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">14</long><str name="name">TP-Processor2</str><str name="state">WAITING</str><str name="lock">org.apache.tomcat.util.threads.ThreadPool$ControlRunnable@8ddb93</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.Object.wait(Object.java:474)</str><str>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">13</long><str name="name">TP-Processor1</str><str name="state">WAITING</str><str name="lock">org.apache.tomcat.util.threads.ThreadPool$ControlRunnable@14ab51b</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.Object.wait(Object.java:474)</str><str>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">12</long><str name="name">http-8983-Acceptor-0</str><str name="state">RUNNABLE</str><bool name="native">true</bool><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.net.PlainSocketImpl.socketAccept(Native Method)</str><str>java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)</str><str>java.net.ServerSocket.implAccept(ServerSocket.java:450)</str><str>java.net.ServerSocket.accept(ServerSocket.java:421)</str><str>org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)</str><str>org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:310)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">11</long><str name="name">ContainerBackgroundProcessor[StandardEngine[Catalina]]</str><str name="state">TIMED_WAITING</str><str name="cpuTime">1400.0000ms</str><str name="userTime">920.0000ms</str><arr name="stackTrace"><str>java.lang.Thread.sleep(Native Method)</str><str>org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1579)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">10</long><str name="name">pool-1-thread-1</str><str name="state">WAITING</str><str name="cpuTime">100.0000ms</str><str name="userTime">100.0000ms</str><arr name="stackTrace"><str>sun.misc.Unsafe.park(Native Method)</str><str>java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)</str><str>java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)</str><str>java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)</str><str>java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)</str><str>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">4</long><str name="name">Signal Dispatcher</str><str name="state">RUNNABLE</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"/></lst><lst name="thread"><long name="id">3</long><str name="name">Finalizer</str><str name="state">WAITING</str><str name="lock">java.lang.ref.ReferenceQueue$Lock@1b82d69</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)</str><str>java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136)</str><str>java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)</str></arr></lst><lst name="thread"><long name="id">2</long><str name="name">Reference Handler</str><str name="state">WAITING</str><str name="lock">java.lang.ref.Reference$Lock@ad6513</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.Object.wait(Object.java:474)</str><str>java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)</str></arr></lst><lst name="thread"><long name="id">1</long><str name="name">main</str><str name="state">RUNNABLE</str><bool name="native">true</bool><str name="cpuTime">3340.0000ms</str><str name="userTime">3180.0000ms</str><arr name="stackTrace"><str>java.net.PlainSocketImpl.socketAccept(Native Method)</str><str>java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)</str><str>java.net.ServerSocket.implAccept(ServerSocket.java:450)</str><str>java.net.ServerSocket.accept(ServerSocket.java:421)</str><str>org.apache.catalina.core.StandardServer.await(StandardServer.java:389)</str><str>org.apache.catalina.startup.Catalina.await(Catalina.java:642)</str><str>org.apache.catalina.startup.Catalina.start(Catalina.java:602)</str><str>sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</str><str>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)</str><str>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)</str><str>java.lang.reflect.Method.invoke(Method.java:585)</str><str>org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)</str><str>org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)</str></arr></lst></lst></lst>
+
+</response> \ No newline at end of file
diff --git a/skip.if.server_not_configured.inc b/skip.if.server_not_configured.inc
new file mode 100644
index 0000000..583a72e
--- /dev/null
+++ b/skip.if.server_not_configured.inc
@@ -0,0 +1,7 @@
+<?php
+
+require_once 'bootstrap.inc';
+
+if (SOLR_SERVER_CONFIGURED == false) die("skip Solr server is not set up");
+
+?> \ No newline at end of file
diff --git a/test.config.inc b/test.config.inc
new file mode 100644
index 0000000..4fba603
--- /dev/null
+++ b/test.config.inc
@@ -0,0 +1,49 @@
+<?php
+
+define('SOLR_SERVER_CONFIGURED', false);
+
+define('ROOT_DIRECTORY', dirname(__FILE__));
+
+define('EXAMPLE_RESPONSE_XML_1', ROOT_DIRECTORY . '/files/response_xml.1.xml');
+
+/* Whether or not to run in secure mode */
+define('SOLR_SECURE', false);
+
+/* Domain name of the Solr server */
+define('SOLR_SERVER_HOSTNAME', 'localhost');
+
+/* HTTP Port to connection */
+define('SOLR_SERVER_PORT', ((SOLR_SECURE) ? 8443 : 8983));
+
+/* SOLR CORE to test on */
+define('SOLR_SERVER_PATH','solr/collection1');
+
+/* HTTP Basic Authentication Username */
+define('SOLR_SERVER_USERNAME', 'admin');
+
+/* HTTP Basic Authentication password */
+define('SOLR_SERVER_PASSWORD', 'changeit');
+
+/* HTTP connection timeout */
+/* This is maximum time in seconds allowed for the http data transfer operation. Default value is 30 seconds */
+define('SOLR_SERVER_TIMEOUT', 10);
+
+/* File name to a PEM-formatted private key + private certificate (concatenated in that order) */
+define('SOLR_SSL_CERT', 'certs/combo.pem');
+
+/* File name to a PEM-formatted private certificate only */
+define('SOLR_SSL_CERT_ONLY', 'certs/solr.crt');
+
+/* File name to a PEM-formatted private key */
+define('SOLR_SSL_KEY', 'certs/solr.key');
+
+/* Password for PEM-formatted private key file */
+define('SOLR_SSL_KEYPASSWORD', 'StrongAndSecurePassword');
+
+/* Name of file holding one or more CA certificates to verify peer with*/
+define('SOLR_SSL_CAINFO', 'certs/cacert.crt');
+
+/* Name of directory holding multiple CA certificates to verify peer with */
+define('SOLR_SSL_CAPATH', 'certs/');
+
+?>