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