Yonik, thanks for hammering away at these tests!

Curious, were you planning on merging all your test improvements to
3.x? If you dont have the time, let me know and I could help.

On Fri, Oct 15, 2010 at 12:08 PM,  <[email protected]> wrote:
> Author: yonik
> Date: Fri Oct 15 16:08:01 2010
> New Revision: 1022989
>
> URL: http://svn.apache.org/viewvc?rev=1022989&view=rev
> Log:
> tests: simplify test, use minimal config
>
> Modified:
>    
> lucene/dev/trunk/solr/src/test/org/apache/solr/core/AlternateDirectoryTest.java
>    
> lucene/dev/trunk/solr/src/test/test-files/solr/conf/solrconfig-altdirectory.xml
>
> Modified: 
> lucene/dev/trunk/solr/src/test/org/apache/solr/core/AlternateDirectoryTest.java
> URL: 
> http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/core/AlternateDirectoryTest.java?rev=1022989&r1=1022988&r2=1022989&view=diff
> ==============================================================================
> --- 
> lucene/dev/trunk/solr/src/test/org/apache/solr/core/AlternateDirectoryTest.java
>  (original)
> +++ 
> lucene/dev/trunk/solr/src/test/org/apache/solr/core/AlternateDirectoryTest.java
>  Fri Oct 15 16:08:01 2010
> @@ -19,16 +19,14 @@ package org.apache.solr.core;
>  import java.io.File;
>  import java.io.IOException;
>  import org.apache.lucene.store.FSDirectory;
> -import org.apache.solr.util.AbstractSolrTestCase;
> -
> -public class AlternateDirectoryTest extends AbstractSolrTestCase {
> -
> -  public String getSchemaFile() {
> -    return "schema.xml";
> -  }
> -
> -  public String getSolrConfigFile() {
> -    return "solrconfig-altdirectory.xml";
> +import org.apache.solr.SolrTestCaseJ4;
> +import org.junit.BeforeClass;
> +import org.junit.Test;
> +
> +public class AlternateDirectoryTest extends SolrTestCaseJ4 {
> + �...@beforeclass
> +  public static void beforeClass() throws Exception {
> +    initCore("solrconfig-altdirectory.xml", "schema.xml");
>   }
>
>   /**
> @@ -36,12 +34,14 @@ public class AlternateDirectoryTest exte
>    *
>    * @throws Exception
>    */
> + �...@test
>   public void testAltDirectoryUsed() throws Exception {
> +    assertQ(req("q","*:*","qt","standard"));
>     assertTrue(TestFSDirectoryFactory.openCalled);
>   }
>
>   static public class TestFSDirectoryFactory extends DirectoryFactory {
> -    public static boolean openCalled = false;
> +    public static volatile boolean openCalled = false;
>
>     public FSDirectory open(String path) throws IOException {
>       openCalled = true;
>
> Modified: 
> lucene/dev/trunk/solr/src/test/test-files/solr/conf/solrconfig-altdirectory.xml
> URL: 
> http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/test-files/solr/conf/solrconfig-altdirectory.xml?rev=1022989&r1=1022988&r2=1022989&view=diff
> ==============================================================================
> --- 
> lucene/dev/trunk/solr/src/test/test-files/solr/conf/solrconfig-altdirectory.xml
>  (original)
> +++ 
> lucene/dev/trunk/solr/src/test/test-files/solr/conf/solrconfig-altdirectory.xml
>  Fri Oct 15 16:08:01 2010
> @@ -23,382 +23,6 @@
>   -->
>
>  <config>
> -
> -  <jmx />
> -
> -  <!-- Used to specify an alternate directory to hold all index data.
> -       It defaults to "index" if not present, and should probably
> -       not be changed if replication is in use. -->
> -  <dataDir>${solr.data.dir:./solr/data}</dataDir>
> -
> -  <indexDefaults>
> -   <!-- Values here affect all index writers and act as a default
> -   unless overridden. -->
> -    <!-- Values here affect all index writers and act as a default unless 
> overridden. -->
> -    <useCompoundFile>false</useCompoundFile>
> -    <mergeFactor>10</mergeFactor>
> -    <!-- If both ramBufferSizeMB and maxBufferedDocs is set, then Lucene 
> will flush based on whichever limit is hit first.
> -     -->
> -    <!--<maxBufferedDocs>1000</maxBufferedDocs>-->
> -    <!-- Tell Lucene when to flush documents to disk.
> -    Giving Lucene more memory for indexing means faster indexing at the cost 
> of more RAM
> -
> -    If both ramBufferSizeMB and maxBufferedDocs is set, then Lucene will 
> flush based on whichever limit is hit first.
> -
> -    -->
> -    <ramBufferSizeMB>32</ramBufferSizeMB>
> -    <maxMergeDocs>2147483647</maxMergeDocs>
> -    <maxFieldLength>10000</maxFieldLength>
> -    <writeLockTimeout>1000</writeLockTimeout>
> -    <commitLockTimeout>10000</commitLockTimeout>
> -
> -    <!--
> -     Expert:
> -     The Merge Policy in Lucene controls how merging is handled by Lucene.  
> The default in 2.3 is the LogByteSizeMergePolicy, previous
> -     versions used LogDocMergePolicy.
> -
> -     LogByteSizeMergePolicy chooses segments to merge based on their size.  
> The Lucene 2.2 default, LogDocMergePolicy chose when
> -     to merge based on number of documents
> -
> -     Other implementations of MergePolicy must have a no-argument constructor
> -     -->
> -    <mergePolicy class="org.apache.lucene.index.LogByteSizeMergePolicy"/>
> -
> -    <!--
> -     Expert:
> -     The Merge Scheduler in Lucene controls how merges are performed.  The 
> ConcurrentMergeScheduler (Lucene 2.3 default)
> -      can perform merges in the background using separate threads.  The 
> SerialMergeScheduler (Lucene 2.2 default) does not.
> -     -->
> -    <mergeScheduler 
> class="org.apache.lucene.index.ConcurrentMergeScheduler"/>
> -    <!-- these are global... can't currently override per index -->
> -    <writeLockTimeout>1000</writeLockTimeout>
> -    <commitLockTimeout>10000</commitLockTimeout>
> -
> -    <lockType>single</lockType>
> -  </indexDefaults>
> -
> -  <mainIndex>
> -    <!-- lucene options specific to the main on-disk lucene index -->
> -    <useCompoundFile>false</useCompoundFile>
> -    <mergeFactor>10</mergeFactor>
> -    <ramBufferSizeMB>32</ramBufferSizeMB>
> -    <maxMergeDocs>2147483647</maxMergeDocs>
> -    <maxFieldLength>10000</maxFieldLength>
> -
> -    <unlockOnStartup>true</unlockOnStartup>
> -  </mainIndex>
> -
> -  <updateHandler class="solr.DirectUpdateHandler2">
> -
> -    <!-- autocommit pending docs if certain criteria are met
> -    <autoCommit>
> -      <maxDocs>10000</maxDocs>
> -      <maxTime>3600000</maxTime>
> -    </autoCommit>
> -    -->
> -    <!-- represents a lower bound on the frequency that commits may
> -    occur (in seconds). NOTE: not yet implemented
> -
> -    <commitIntervalLowerBound>0</commitIntervalLowerBound>
> -    -->
> -
> -    <!-- The RunExecutableListener executes an external command.
> -         exe - the name of the executable to run
> -         dir - dir to use as the current working directory. default="."
> -         wait - the calling thread waits until the executable returns. 
> default="true"
> -         args - the arguments to pass to the program.  default=nothing
> -         env - environment variables to set.  default=nothing
> -      -->
> -    <!-- A postCommit event is fired after every commit
> -    <listener event="postCommit" class="solr.RunExecutableListener">
> -      <str name="exe">/var/opt/resin3/__PORT__/scripts/solr/snapshooter</str>
> -      <str name="dir">/var/opt/resin3/__PORT__</str>
> -      <bool name="wait">true</bool>
> -      <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
> -      <arr name="env"> <str>MYVAR=val1</str> </arr>
> -    </listener>
> -    -->
> -
> -
> -  </updateHandler>
> -
> -  <directoryFactory name="DirectoryFactory" 
> class="org.apache.solr.core.AlternateDirectoryTest$TestFSDirectoryFactory">
> -    <!-- Parameters as required by the implementation -->
> -  </directoryFactory>
> -
> -
> -  <indexReaderFactory name="IndexReaderFactory" 
> class="org.apache.solr.core.AlternateIndexReaderTest$TestIndexReaderFactory">
> -    <!-- Parameters as required by the implementation -->
> -  </indexReaderFactory >
> -
> -  <query>
> -    <!-- Maximum number of clauses in a boolean query... can affect
> -        range or wildcard queries that expand to big boolean
> -        queries.  An exception is thrown if exceeded.
> -    -->
> -    <maxBooleanClauses>1024</maxBooleanClauses>
> -
> -
> -    <!-- Cache specification for Filters or DocSets - unordered set of *all* 
> documents
> -         that match a particular query.
> -      -->
> -    <filterCache
> -      class="solr.search.LRUCache"
> -      size="512"
> -      initialSize="512"
> -      autowarmCount="256"/>
> -
> -    <queryResultCache
> -      class="solr.search.LRUCache"
> -      size="512"
> -      initialSize="512"
> -      autowarmCount="1024"/>
> -
> -    <documentCache
> -      class="solr.search.LRUCache"
> -      size="512"
> -      initialSize="512"
> -      autowarmCount="0"/>
> -
> -    <!-- If true, stored fields that are not requested will be loaded lazily.
> -    -->
> -    <enableLazyFieldLoading>true</enableLazyFieldLoading>
> -
> -    <!--
> -
> -    <cache name="myUserCache"
> -      class="solr.search.LRUCache"
> -      size="4096"
> -      initialSize="1024"
> -      autowarmCount="1024"
> -      regenerator="MyRegenerator"
> -      />
> -    -->
> -
> -
> -    <useFilterForSortedQuery>true</useFilterForSortedQuery>
> -
> -    <queryResultWindowSize>10</queryResultWindowSize>
> -
> -    <!-- set maxSize artificially low to exercise both types of sets -->
> -    <HashDocSet maxSize="3" loadFactor="0.75"/>
> -
> -
> -    <!-- boolToFilterOptimizer converts boolean clauses with zero boost
> -         into cached filters if the number of docs selected by the clause 
> exceeds
> -         the threshold (represented as a fraction of the total index)
> -    -->
> -    <boolTofilterOptimizer enabled="false" cacheSize="32" threshold=".05"/>
> -
> -
> -    <!-- a newSearcher event is fired whenever a new searcher is being 
> prepared
> -         and there is a current searcher handling requests (aka registered). 
> -->
> -    <!-- QuerySenderListener takes an array of NamedList and executes a
> -         local query request for each NamedList in sequence. -->
> -    <!--
> -    <listener event="newSearcher" class="solr.QuerySenderListener">
> -      <arr name="queries">
> -        <lst> <str name="q">solr</str> <str name="start">0</str> <str 
> name="rows">10</str> </lst>
> -        <lst> <str name="q">rocks</str> <str name="start">0</str> <str 
> name="rows">10</str> </lst>
> -      </arr>
> -    </listener>
> -    -->
> -
> -    <!-- a firstSearcher event is fired whenever a new searcher is being
> -         prepared but there is no current registered searcher to handle
> -         requests or to gain prewarming data from. -->
> -    <!--
> -    <listener event="firstSearcher" class="solr.QuerySenderListener">
> -      <arr name="queries">
> -        <lst> <str name="q">fast_warm</str> <str name="start">0</str> <str 
> name="rows">10</str> </lst>
> -      </arr>
> -    </listener>
> -    -->
> -
> -
> -  </query>
> -
> -
> -  <!-- An alternate set representation that uses an integer hash to store 
> filters (sets of docids).
> -       If the set cardinality <= maxSize elements, then HashDocSet will be 
> used instead of the bitset
> -       based HashBitset. -->
> -
> -  <!-- requestHandler plugins... incoming queries will be dispatched to the
> -     correct handler based on the qt (query type) param matching the
> -     name of registered handlers.
> -      The "standard" request handler is the default and will be used if qt
> -     is not specified in the request.
> -  -->
> -  <requestHandler name="standard" class="solr.StandardRequestHandler">
> -       <bool name="httpCaching">true</bool>
> -  </requestHandler>
> -  <requestHandler name="dismaxOldStyleDefaults"
> -                  class="solr.DisMaxRequestHandler" >
> -     <!-- for historic reasons, DisMaxRequestHandler will use all of
> -          it's init params as "defaults" if there is no "defaults" list
> -          specified
> -     -->
> -     <float name="tie">0.01</float>
> -     <str name="qf">
> -        text^0.5 features_t^1.0 subject^1.4 title_stemmed^2.0
> -     </str>
> -     <str name="pf">
> -        text^0.2 features_t^1.1 subject^1.4 title_stemmed^2.0 title^1.5
> -     </str>
> -     <str name="bf">
> -        ord(weight)^0.5 recip(rord(iind),1,1000,1000)^0.3
> -     </str>
> -     <str name="mm">
> -        3&lt;-1 5&lt;-2 6&lt;90%
> -     </str>
> -     <int name="ps">100</int>
> -  </requestHandler>
> -  <requestHandler name="dismax" class="solr.DisMaxRequestHandler" >
> -    <lst name="defaults">
> -     <str name="q.alt">*:*</str>
> -     <float name="tie">0.01</float>
> -     <str name="qf">
> -        text^0.5 features_t^1.0 subject^1.4 title_stemmed^2.0
> -     </str>
> -     <str name="pf">
> -        text^0.2 features_t^1.1 subject^1.4 title_stemmed^2.0 title^1.5
> -     </str>
> -     <str name="bf">
> -        ord(weight)^0.5 recip(rord(iind),1,1000,1000)^0.3
> -     </str>
> -     <str name="mm">
> -        3&lt;-1 5&lt;-2 6&lt;90%
> -     </str>
> -     <int name="ps">100</int>
> -    </lst>
> -  </requestHandler>
> -  <requestHandler name="old" class="solr.tst.OldRequestHandler" >
> -    <int name="myparam">1000</int>
> -    <float name="ratio">1.4142135</float>
> -    <arr name="myarr"><int>1</int><int>2</int></arr>
> -    <str>foo</str>
> -  </requestHandler>
> -  <requestHandler name="oldagain" class="solr.tst.OldRequestHandler" >
> -    <lst name="lst1"> <str name="op">sqrt</str> <int name="val">2</int> 
> </lst>
> -    <lst name="lst2"> <str name="op">log</str> <float name="val">10</float> 
> </lst>
> -  </requestHandler>
> -
> -  <requestHandler name="test" class="solr.tst.TestRequestHandler" />
> -
> -  <!-- test query parameter defaults -->
> -  <requestHandler name="defaults" class="solr.StandardRequestHandler">
> -    <lst name="defaults">
> -      <int name="rows">4</int>
> -      <bool name="hl">true</bool>
> -      <str name="hl.fl">text,name,subject,title,whitetok</str>
> -    </lst>
> -  </requestHandler>
> -
> -  <!-- test query parameter defaults -->
> -  <requestHandler name="lazy" class="solr.StandardRequestHandler" 
> startup="lazy">
> -    <lst name="defaults">
> -      <int name="rows">4</int>
> -      <bool name="hl">true</bool>
> -      <str name="hl.fl">text,name,subject,title,whitetok</str>
> -    </lst>
> -  </requestHandler>
> -
> -  <requestHandler name="/update"     class="solr.XmlUpdateRequestHandler"    
>       />
> -  <requestHandler name="/update/csv" class="solr.CSVRequestHandler" 
> startup="lazy">
> -       <bool name="httpCaching">false</bool>
> -  </requestHandler>
> -
> -  <searchComponent name="spellcheck" 
> class="org.apache.solr.handler.component.SpellCheckComponent">
> -    <str name="queryAnalyzerFieldType">lowerfilt</str>
> -
> -    <lst name="spellchecker">
> -      <str name="name">default</str>
> -      <str name="field">lowerfilt</str>
> -      <str name="spellcheckIndexDir">spellchecker1</str>
> -      <str name="buildOnCommit">true</str>
> -    </lst>
> -    <!-- Example of using different distance measure -->
> -    <lst name="spellchecker">
> -      <str name="name">jarowinkler</str>
> -      <str name="field">lowerfilt</str>
> -      <!-- Use a different Distance Measure -->
> -      <str 
> name="distanceMeasure">org.apache.lucene.search.spell.JaroWinklerDistance</str>
> -      <str name="spellcheckIndexDir">spellchecker2</str>
> -
> -    </lst>
> -    <lst name="spellchecker">
> -      <str name="classname">solr.FileBasedSpellChecker</str>
> -      <str name="name">external</str>
> -      <str name="sourceLocation">spellings.txt</str>
> -      <str name="characterEncoding">UTF-8</str>
> -      <str name="spellcheckIndexDir">spellchecker3</str>
> -    </lst>
> -  </searchComponent>
> -  <!--
> -  The SpellingQueryConverter to convert raw (CommonParams.Q) queries into 
> tokens.  Uses a simple regular expression
> -   to strip off field markup, boosts, ranges, etc. but it is not guaranteed 
> to match an exact parse from the query parser.
> -   -->
> -  <queryConverter name="queryConverter" 
> class="org.apache.solr.spelling.SpellingQueryConverter"/>
> -
> -  <requestHandler name="spellCheckCompRH" 
> class="org.apache.solr.handler.component.SearchHandler">
> -    <lst name="defaults">
> -      <!-- omp = Only More Popular -->
> -      <str name="spellcheck.onlyMorePopular">false</str>
> -      <!-- exr = Extended Results -->
> -      <str name="spellcheck.extendedResults">false</str>
> -      <!--  The number of suggestions to return -->
> -      <str name="spellcheck.count">1</str>
> -    </lst>
> -    <arr name="last-components">
> -      <str>spellcheck</str>
> -    </arr>
> -  </requestHandler>
> -
> -  <searchComponent class="solr.HighlightComponent" name="highlight">
> -  <highlighting>
> -   <!-- Configure the standard fragmenter -->
> -   <fragmenter name="gap" class="org.apache.solr.highlight.GapFragmenter" 
> default="true">
> -    <lst name="defaults">
> -     <int name="hl.fragsize">100</int>
> -    </lst>
> -   </fragmenter>
> -
> -   <fragmenter name="regex" 
> class="org.apache.solr.highlight.RegexFragmenter">
> -    <lst name="defaults">
> -     <int name="hl.fragsize">70</int>
> -    </lst>
> -   </fragmenter>
> -
> -   <!-- Configure the standard formatter -->
> -   <formatter name="html" class="org.apache.solr.highlight.HtmlFormatter" 
> default="true">
> -    <lst name="defaults">
> -     <str name="hl.simple.pre"><![CDATA[<em>]]></str>
> -     <str name="hl.simple.post"><![CDATA[</em>]]></str>
> -    </lst>
> -   </formatter>
> -  </highlighting>
> -  </searchComponent>
> -
> -
> -  <!-- enable streaming for testing... -->
> -  <requestDispatcher handleSelect="true" >
> -    <requestParsers enableRemoteStreaming="true" 
> multipartUploadLimitInKB="2048" />
> -    <httpCaching lastModifiedFrom="openTime" etagSeed="Solr" 
> never304="false">
> -      <cacheControl>max-age=30, public</cacheControl>
> -    </httpCaching>
> -  </requestDispatcher>
> -
> -  <admin>
> -    <defaultQuery>solr</defaultQuery>
> -    <gettableFiles>solrconfig.xml scheam.xml admin-extra.html</gettableFiles>
> -  </admin>
> -
> -  <!-- test getting system property -->
> -  <propTest attr1="${solr.test.sys.prop1}-$${literal}"
> -            
> attr2="${non.existent.sys.prop:default-from-config}">prefix-${solr.test.sys.prop2}-suffix</propTest>
> -
> -  <queryParser name="foo" class="FooQParserPlugin"/>
> -
> -
> -
> +  <requestHandler name="standard" 
> class="solr.StandardRequestHandler"></requestHandler>
> +  <directoryFactory name="DirectoryFactory" 
> class="org.apache.solr.core.AlternateDirectoryTest$TestFSDirectoryFactory"></directoryFactory>
>  </config>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to