You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Shalin Shekhar Mangar (JIRA)" <ji...@apache.org> on 2015/02/23 15:42:12 UTC

[jira] [Resolved] (SOLR-7142) TestFaceting.testFacets senseless

     [ https://issues.apache.org/jira/browse/SOLR-7142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shalin Shekhar Mangar resolved SOLR-7142.
-----------------------------------------
       Resolution: Fixed
    Fix Version/s: 5.1
                   Trunk

Fixed. Thanks Michal!

> TestFaceting.testFacets senseless 
> ----------------------------------
>
>                 Key: SOLR-7142
>                 URL: https://issues.apache.org/jira/browse/SOLR-7142
>             Project: Solr
>          Issue Type: Test
>          Components: faceting
>            Reporter: Michal Kroliczek
>            Assignee: Shalin Shekhar Mangar
>            Priority: Trivial
>             Fix For: Trunk, 5.1
>
>         Attachments: testfaceting.patch
>
>
> Hi, I am new to Solr sources and I was digging in facet tests. 
> I found unreasonable block of code in TestFaceting.testFacets:
> {code}
> ... ( 1st document is added and assertion is done) 
>   // test gaps that take more than one byte
>     sb = new StringBuilder();
>     sb.append(t(0)).append(' ');
>     sb.append(t(150)).append(' ');
>     sb.append(t(301)).append(' ');
>     sb.append(t(453)).append(' ');
>     sb.append(t(606)).append(' ');
>     sb.append(t(1000)).append(' ');
>     sb.append(t(2010)).append(' ');
>     sb.append(t(3050)).append(' ');
>     sb.append(t(4999)).append(' ');
>     assertU(adoc("id", "2", "many_ws", sb.toString()));
>     assertQ("check many tokens",
>             req(**"q", "id:1"**,"indent","true"
>                 ,"facet", "true", "facet.method","fc"
>                 ,"facet.field", "many_ws"
>                 ,"facet.limit", "-1"
>                 )
>             ,"*[count(//lst[@name='many_ws']/int)=5000]"
>             ,"//lst[@name='many_ws']/int[@name='" + t(0) + "'][.='1']"
>             ,"//lst[@name='many_ws']/int[@name='" + t(150) + "'][.='1']"
>             ,"//lst[@name='many_ws']/int[@name='" + t(301) + "'][.='1']"
>             ,"//lst[@name='many_ws']/int[@name='" + t(453) + "'][.='1']"
>             ,"//lst[@name='many_ws']/int[@name='" + t(606) + "'][.='1']"
>             ,"//lst[@name='many_ws']/int[@name='" + t(1000) + "'][.='1']"
>             ,"//lst[@name='many_ws']/int[@name='" + t(2010) + "'][.='1']"
>             ,"//lst[@name='many_ws']/int[@name='" + t(3055) + "'][.='1']"
>             ,"//lst[@name='many_ws']/int[@name='" + t(4999) + "'][.='1']"
>               );
> {code}
> This code adds second document, never commits and executes second query with q=id:1 again.  
> So test will pass even if:
> 1) Change assertions to ID's not related to 2nd document (like 2001)
> 2) Add commit after 2nd document added (still filter is set to id:1)
> 3) Remove at all creating 2nd document.
> Patch changes  test flow to fallowing:
> 1) add document1 and commit
> 2) assert facets to query *:*
> 3) add document2 and commit
> 5) assert  query *:* to have facetes with values 1 and 2 when expected



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org