LCOV - code coverage report
Current view: top level - tests - api_generated.cc (source / functions) Hit Total Coverage
Test: Test Coverage for xapian-core 954b5873a738 Lines: 244 244 100.0 %
Date: 2019-06-30 05:20:33 Functions: 2 2 100.0 %
Branches: 333 2126 15.7 %

           Branch data     Line data    Source code
       1                 :            : /** @file api_generated.cc
       2                 :            :  * @brief test common features of API classes
       3                 :            :  */
       4                 :            : /* Warning: This file is generated by ./generate-api_generated - do not modify directly! */
       5                 :            : /* Copyright (C) 2007,2009,2012,2014,2015,2016,2017,2018 Olly Betts
       6                 :            :  *
       7                 :            :  * This program is free software; you can redistribute it and/or modify
       8                 :            :  * it under the terms of the GNU General Public License as published by
       9                 :            :  * the Free Software Foundation; either version 2 of the License, or
      10                 :            :  * (at your option) any later version.
      11                 :            :  *
      12                 :            :  * This program is distributed in the hope that it will be useful,
      13                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      14                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      15                 :            :  * GNU General Public License for more details.
      16                 :            :  *
      17                 :            :  * You should have received a copy of the GNU General Public License
      18                 :            :  * along with this program; if not, write to the Free Software
      19                 :            :  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
      20                 :            :  */
      21                 :            : 
      22                 :            : #include <config.h>
      23                 :            : 
      24                 :            : #include "api_generated.h"
      25                 :            : 
      26                 :            : #define XAPIAN_DEPRECATED(D) D
      27                 :            : #include <xapian.h>
      28                 :            : 
      29                 :            : #include "apitest.h"
      30                 :            : #include "testutils.h"
      31                 :            : 
      32                 :            : using namespace std;
      33                 :            : 
      34                 :            : /// Check uncopyable API classes which should have a default ctor actually do.
      35                 :          1 : DEFINE_TESTCASE(defaultctor1, !backend) {
      36                 :          1 :     Xapian::BB2Weight bb2weight;
      37                 :          2 :     Xapian::BM25Weight bm25weight;
      38                 :          2 :     Xapian::BoolWeight boolweight;
      39                 :          2 :     Xapian::DLHWeight dlhweight;
      40         [ +  - ]:          2 :     Xapian::DateRangeProcessor daterangeprocessor(0);
      41         [ +  - ]:          2 :     Xapian::DecreasingValueWeightPostingSource decreasingvalueweightpostingsource(0);
      42                 :            :     {
      43         [ +  - ]:          1 :         const string& desc = decreasingvalueweightpostingsource.get_description();
      44         [ +  - ]:          1 :         tout.clear();
      45 [ +  - ][ +  - ]:          1 :         tout << desc << endl;
      46 [ -  + ][ #  # ]:          1 :         TEST(startswith(desc, "DecreasingValueWeightPostingSource(") ||
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
      47                 :            :              startswith(desc, "Xapian::DecreasingValueWeightPostingSource("));
      48 [ -  + ][ #  # ]:          1 :         TEST(desc.back() == ')');
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
      49                 :            :     }
      50         [ +  - ]:          2 :     Xapian::FixedWeightPostingSource fixedweightpostingsource(0);
      51                 :            :     {
      52         [ +  - ]:          1 :         const string& desc = fixedweightpostingsource.get_description();
      53         [ +  - ]:          1 :         tout.clear();
      54 [ +  - ][ +  - ]:          1 :         tout << desc << endl;
      55 [ +  - ][ -  + ]:          1 :         TEST(startswith(desc, "FixedWeightPostingSource(") ||
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
      56                 :            :              startswith(desc, "Xapian::FixedWeightPostingSource("));
      57 [ -  + ][ #  # ]:          1 :         TEST(desc.back() == ')');
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
      58                 :            :     }
      59                 :          2 :     Xapian::IfB2Weight ifb2weight;
      60                 :          2 :     Xapian::InL2Weight inl2weight;
      61                 :          2 :     Xapian::IneB2Weight ineb2weight;
      62                 :          2 :     Xapian::MultiValueKeyMaker multivaluekeymaker;
      63 [ +  - ][ +  - ]:          2 :     Xapian::NumberRangeProcessor numberrangeprocessor(0, "");
      64         [ +  - ]:          2 :     Xapian::RangeProcessor rangeprocessor;
      65         [ +  - ]:          2 :     Xapian::SimpleStopper simplestopper;
      66                 :            :     {
      67         [ +  - ]:          1 :         const string& desc = simplestopper.get_description();
      68         [ +  - ]:          1 :         tout.clear();
      69 [ +  - ][ +  - ]:          1 :         tout << desc << endl;
      70 [ +  - ][ -  + ]:          1 :         TEST(startswith(desc, "SimpleStopper(") ||
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
      71                 :            :              startswith(desc, "Xapian::SimpleStopper("));
      72 [ -  + ][ #  # ]:          1 :         TEST(desc.back() == ')');
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
      73                 :            :     }
      74         [ +  - ]:          2 :     Xapian::TfIdfWeight tfidfweight;
      75                 :          2 :     Xapian::TradWeight tradweight;
      76         [ +  - ]:          2 :     Xapian::ValueCountMatchSpy valuecountmatchspy(0);
      77                 :            :     {
      78         [ +  - ]:          1 :         const string& desc = valuecountmatchspy.get_description();
      79         [ +  - ]:          1 :         tout.clear();
      80 [ +  - ][ +  - ]:          1 :         tout << desc << endl;
      81 [ -  + ][ #  # ]:          1 :         TEST(startswith(desc, "ValueCountMatchSpy(") ||
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
      82                 :            :              startswith(desc, "Xapian::ValueCountMatchSpy("));
      83 [ -  + ][ #  # ]:          1 :         TEST(desc.back() == ')');
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
      84                 :            :     }
      85         [ +  - ]:          2 :     Xapian::ValueMapPostingSource valuemappostingsource(0);
      86                 :            :     {
      87         [ +  - ]:          1 :         const string& desc = valuemappostingsource.get_description();
      88         [ +  - ]:          1 :         tout.clear();
      89 [ +  - ][ +  - ]:          1 :         tout << desc << endl;
      90 [ +  - ][ -  + ]:          1 :         TEST(startswith(desc, "ValueMapPostingSource(") ||
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
      91                 :            :              startswith(desc, "Xapian::ValueMapPostingSource("));
      92 [ -  + ][ #  # ]:          1 :         TEST(desc.back() == ')');
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
      93                 :            :     }
      94                 :          2 :     Xapian::ValuePostingSource valuepostingsource(0);
      95                 :            :     {
      96         [ +  - ]:          1 :         const string& desc = valuepostingsource.get_description();
      97         [ +  - ]:          1 :         tout.clear();
      98 [ +  - ][ +  - ]:          1 :         tout << desc << endl;
      99 [ +  - ][ -  + ]:          1 :         TEST(startswith(desc, "ValuePostingSource(") ||
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     100                 :            :              startswith(desc, "Xapian::ValuePostingSource("));
     101 [ -  + ][ #  # ]:          1 :         TEST(desc.back() == ')');
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     102                 :            :     }
     103         [ +  - ]:          2 :     Xapian::ValueWeightPostingSource valueweightpostingsource(0);
     104                 :            :     {
     105         [ +  - ]:          1 :         const string& desc = valueweightpostingsource.get_description();
     106         [ +  - ]:          1 :         tout.clear();
     107 [ +  - ][ +  - ]:          1 :         tout << desc << endl;
     108 [ +  - ][ -  + ]:          1 :         TEST(startswith(desc, "ValueWeightPostingSource(") ||
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     109                 :            :              startswith(desc, "Xapian::ValueWeightPostingSource("));
     110 [ -  + ][ #  # ]:          1 :         TEST(desc.back() == ')');
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     111                 :            :     }
     112                 :          1 :     return true;
     113                 :            : }
     114                 :            : 
     115                 :            : /// Test that API classes have a copy ctor and assignment operator.
     116                 :          1 : DEFINE_TESTCASE(copyassign1, !backend) {
     117         [ +  - ]:          1 :     Xapian::Database database;
     118 [ +  - ][ -  + ]:          1 :     TEST(!database.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     119         [ +  - ]:          2 :     Xapian::Database copy_database(database);
     120 [ +  - ][ -  + ]:          1 :     TEST(!copy_database.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     121         [ +  - ]:          2 :     Xapian::Database move_database(std::move(database));
     122 [ +  - ][ -  + ]:          1 :     TEST(!move_database.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     123         [ +  - ]:          1 :     database = copy_database;
     124 [ +  - ][ -  + ]:          1 :     TEST(!database.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     125         [ +  - ]:          1 :     copy_database = std::move(move_database);
     126 [ +  - ][ -  + ]:          1 :     TEST(!copy_database.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     127                 :            : 
     128         [ +  - ]:          2 :     Xapian::Diversify diversify(10, 4);
     129 [ +  - ][ -  + ]:          1 :     TEST(!diversify.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     130         [ +  - ]:          2 :     Xapian::Diversify copy_diversify(diversify);
     131 [ +  - ][ -  + ]:          1 :     TEST(!copy_diversify.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     132         [ +  - ]:          2 :     Xapian::Diversify move_diversify(std::move(diversify));
     133 [ +  - ][ -  + ]:          1 :     TEST(!move_diversify.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     134         [ +  - ]:          1 :     diversify = copy_diversify;
     135 [ +  - ][ -  + ]:          1 :     TEST(!diversify.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     136         [ +  - ]:          1 :     copy_diversify = std::move(move_diversify);
     137 [ +  - ][ -  + ]:          1 :     TEST(!copy_diversify.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     138                 :            : 
     139         [ +  - ]:          2 :     Xapian::Document document;
     140 [ +  - ][ -  + ]:          1 :     TEST(!document.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     141         [ +  - ]:          2 :     Xapian::Document copy_document(document);
     142 [ +  - ][ -  + ]:          1 :     TEST(!copy_document.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     143         [ +  - ]:          2 :     Xapian::Document move_document(std::move(document));
     144 [ +  - ][ -  + ]:          1 :     TEST(!move_document.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     145         [ +  - ]:          1 :     document = copy_document;
     146 [ +  - ][ -  + ]:          1 :     TEST(!document.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     147         [ +  - ]:          1 :     copy_document = std::move(move_document);
     148 [ +  - ][ -  + ]:          1 :     TEST(!copy_document.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     149                 :            : 
     150         [ +  - ]:          2 :     Xapian::ESet eset;
     151 [ +  - ][ -  + ]:          1 :     TEST(!eset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     152         [ +  - ]:          2 :     Xapian::ESet copy_eset(eset);
     153 [ +  - ][ -  + ]:          1 :     TEST(!copy_eset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     154         [ +  - ]:          2 :     Xapian::ESet move_eset(std::move(eset));
     155 [ +  - ][ -  + ]:          1 :     TEST(!move_eset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     156         [ +  - ]:          1 :     eset = copy_eset;
     157 [ +  - ][ -  + ]:          1 :     TEST(!eset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     158         [ +  - ]:          1 :     copy_eset = std::move(move_eset);
     159 [ +  - ][ -  + ]:          1 :     TEST(!copy_eset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     160                 :            : 
     161         [ +  - ]:          2 :     Xapian::ESetIterator esetiterator;
     162 [ +  - ][ -  + ]:          1 :     TEST(!esetiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     163         [ +  - ]:          2 :     Xapian::ESetIterator copy_esetiterator(esetiterator);
     164 [ +  - ][ -  + ]:          1 :     TEST(!copy_esetiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     165         [ +  - ]:          2 :     Xapian::ESetIterator move_esetiterator(std::move(esetiterator));
     166 [ +  - ][ -  + ]:          1 :     TEST(!move_esetiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     167         [ +  - ]:          1 :     esetiterator = copy_esetiterator;
     168 [ +  - ][ -  + ]:          1 :     TEST(!esetiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     169         [ +  - ]:          1 :     copy_esetiterator = std::move(move_esetiterator);
     170 [ +  - ][ -  + ]:          1 :     TEST(!copy_esetiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     171                 :            : 
     172                 :            : #ifdef XAPIAN_HAS_INMEMORY_BACKEND
     173 [ +  - ][ +  - ]:          2 :     Xapian::Enquire enquire(Xapian::Database(std::string(), Xapian::DB_BACKEND_INMEMORY));
                 [ +  - ]
     174 [ +  - ][ -  + ]:          1 :     TEST(!enquire.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     175         [ +  - ]:          2 :     Xapian::Enquire copy_enquire(enquire);
     176 [ +  - ][ -  + ]:          1 :     TEST(!copy_enquire.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     177         [ +  - ]:          2 :     Xapian::Enquire move_enquire(std::move(enquire));
     178 [ +  - ][ -  + ]:          1 :     TEST(!move_enquire.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     179         [ +  - ]:          1 :     enquire = copy_enquire;
     180 [ +  - ][ -  + ]:          1 :     TEST(!enquire.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     181         [ +  - ]:          1 :     copy_enquire = std::move(move_enquire);
     182 [ +  - ][ -  + ]:          1 :     TEST(!copy_enquire.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     183                 :            : #endif
     184                 :            : 
     185         [ +  - ]:          2 :     Xapian::MSet mset;
     186 [ +  - ][ -  + ]:          1 :     TEST(!mset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     187         [ +  - ]:          2 :     Xapian::MSet copy_mset(mset);
     188 [ +  - ][ -  + ]:          1 :     TEST(!copy_mset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     189         [ +  - ]:          2 :     Xapian::MSet move_mset(std::move(mset));
     190 [ +  - ][ -  + ]:          1 :     TEST(!move_mset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     191         [ +  - ]:          1 :     mset = copy_mset;
     192 [ +  - ][ -  + ]:          1 :     TEST(!mset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     193         [ +  - ]:          1 :     copy_mset = std::move(move_mset);
     194 [ +  - ][ -  + ]:          1 :     TEST(!copy_mset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     195                 :            : 
     196         [ +  - ]:          2 :     Xapian::MSetIterator msetiterator;
     197 [ +  - ][ -  + ]:          1 :     TEST(!msetiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     198         [ +  - ]:          2 :     Xapian::MSetIterator copy_msetiterator(msetiterator);
     199 [ +  - ][ -  + ]:          1 :     TEST(!copy_msetiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     200         [ +  - ]:          2 :     Xapian::MSetIterator move_msetiterator(std::move(msetiterator));
     201 [ +  - ][ -  + ]:          1 :     TEST(!move_msetiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     202         [ +  - ]:          1 :     msetiterator = copy_msetiterator;
     203 [ +  - ][ -  + ]:          1 :     TEST(!msetiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     204         [ +  - ]:          1 :     copy_msetiterator = std::move(move_msetiterator);
     205 [ +  - ][ -  + ]:          1 :     TEST(!copy_msetiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     206                 :            : 
     207                 :          2 :     Xapian::PositionIterator positioniterator;
     208 [ +  - ][ -  + ]:          1 :     TEST(!positioniterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     209         [ +  - ]:          2 :     Xapian::PositionIterator copy_positioniterator(positioniterator);
     210 [ +  - ][ -  + ]:          1 :     TEST(!copy_positioniterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     211                 :          2 :     Xapian::PositionIterator move_positioniterator(std::move(positioniterator));
     212 [ +  - ][ -  + ]:          1 :     TEST(!move_positioniterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     213         [ +  - ]:          1 :     positioniterator = copy_positioniterator;
     214 [ +  - ][ -  + ]:          1 :     TEST(!positioniterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     215         [ +  - ]:          1 :     copy_positioniterator = std::move(move_positioniterator);
     216 [ +  - ][ -  + ]:          1 :     TEST(!copy_positioniterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     217                 :            : 
     218                 :          2 :     Xapian::PostingIterator postingiterator;
     219 [ +  - ][ -  + ]:          1 :     TEST(!postingiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     220         [ +  - ]:          2 :     Xapian::PostingIterator copy_postingiterator(postingiterator);
     221 [ +  - ][ -  + ]:          1 :     TEST(!copy_postingiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     222                 :          2 :     Xapian::PostingIterator move_postingiterator(std::move(postingiterator));
     223 [ +  - ][ -  + ]:          1 :     TEST(!move_postingiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     224         [ +  - ]:          1 :     postingiterator = copy_postingiterator;
     225 [ +  - ][ -  + ]:          1 :     TEST(!postingiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     226         [ +  - ]:          1 :     copy_postingiterator = std::move(move_postingiterator);
     227 [ +  - ][ -  + ]:          1 :     TEST(!copy_postingiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     228                 :            : 
     229                 :          2 :     Xapian::Query query;
     230 [ +  - ][ -  + ]:          1 :     TEST(!query.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     231         [ +  - ]:          2 :     Xapian::Query copy_query(query);
     232 [ +  - ][ -  + ]:          1 :     TEST(!copy_query.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     233         [ +  - ]:          2 :     Xapian::Query move_query(std::move(query));
     234 [ +  - ][ -  + ]:          1 :     TEST(!move_query.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     235         [ +  - ]:          1 :     query = copy_query;
     236 [ +  - ][ -  + ]:          1 :     TEST(!query.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     237         [ +  - ]:          1 :     copy_query = std::move(move_query);
     238 [ +  - ][ -  + ]:          1 :     TEST(!copy_query.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     239                 :            : 
     240         [ +  - ]:          2 :     Xapian::QueryParser queryparser;
     241 [ +  - ][ -  + ]:          1 :     TEST(!queryparser.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     242         [ +  - ]:          2 :     Xapian::QueryParser copy_queryparser(queryparser);
     243 [ +  - ][ -  + ]:          1 :     TEST(!copy_queryparser.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     244         [ +  - ]:          2 :     Xapian::QueryParser move_queryparser(std::move(queryparser));
     245 [ +  - ][ -  + ]:          1 :     TEST(!move_queryparser.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     246         [ +  - ]:          1 :     queryparser = copy_queryparser;
     247 [ +  - ][ -  + ]:          1 :     TEST(!queryparser.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     248         [ +  - ]:          1 :     copy_queryparser = std::move(move_queryparser);
     249 [ +  - ][ -  + ]:          1 :     TEST(!copy_queryparser.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     250                 :            : 
     251         [ +  - ]:          2 :     Xapian::RSet rset;
     252 [ +  - ][ -  + ]:          1 :     TEST(!rset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     253         [ +  - ]:          2 :     Xapian::RSet copy_rset(rset);
     254 [ +  - ][ -  + ]:          1 :     TEST(!copy_rset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     255         [ +  - ]:          2 :     Xapian::RSet move_rset(std::move(rset));
     256 [ +  - ][ -  + ]:          1 :     TEST(!move_rset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     257         [ +  - ]:          1 :     rset = copy_rset;
     258 [ +  - ][ -  + ]:          1 :     TEST(!rset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     259         [ +  - ]:          1 :     copy_rset = std::move(move_rset);
     260 [ +  - ][ -  + ]:          1 :     TEST(!copy_rset.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     261                 :            : 
     262         [ +  - ]:          2 :     Xapian::Registry registry;
     263         [ +  - ]:          2 :     Xapian::Registry copy_registry(registry);
     264         [ +  - ]:          2 :     Xapian::Registry move_registry(std::move(registry));
     265         [ +  - ]:          1 :     registry = copy_registry;
     266         [ +  - ]:          1 :     copy_registry = std::move(move_registry);
     267                 :            : 
     268         [ +  - ]:          2 :     Xapian::Stem stem;
     269 [ +  - ][ -  + ]:          1 :     TEST(!stem.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     270         [ +  - ]:          2 :     Xapian::Stem copy_stem(stem);
     271 [ +  - ][ -  + ]:          1 :     TEST(!copy_stem.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     272         [ +  - ]:          2 :     Xapian::Stem move_stem(std::move(stem));
     273 [ +  - ][ -  + ]:          1 :     TEST(!move_stem.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     274         [ +  - ]:          1 :     stem = copy_stem;
     275 [ +  - ][ -  + ]:          1 :     TEST(!stem.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     276         [ +  - ]:          1 :     copy_stem = std::move(move_stem);
     277 [ +  - ][ -  + ]:          1 :     TEST(!copy_stem.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     278                 :            : 
     279         [ +  - ]:          2 :     Xapian::TermGenerator termgenerator;
     280 [ +  - ][ -  + ]:          1 :     TEST(!termgenerator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     281         [ +  - ]:          2 :     Xapian::TermGenerator copy_termgenerator(termgenerator);
     282 [ +  - ][ -  + ]:          1 :     TEST(!copy_termgenerator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     283         [ +  - ]:          2 :     Xapian::TermGenerator move_termgenerator(std::move(termgenerator));
     284 [ +  - ][ -  + ]:          1 :     TEST(!move_termgenerator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     285         [ +  - ]:          1 :     termgenerator = copy_termgenerator;
     286 [ +  - ][ -  + ]:          1 :     TEST(!termgenerator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     287         [ +  - ]:          1 :     copy_termgenerator = std::move(move_termgenerator);
     288 [ +  - ][ -  + ]:          1 :     TEST(!copy_termgenerator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     289                 :            : 
     290                 :          2 :     Xapian::TermIterator termiterator;
     291 [ +  - ][ -  + ]:          1 :     TEST(!termiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     292         [ +  - ]:          2 :     Xapian::TermIterator copy_termiterator(termiterator);
     293 [ +  - ][ -  + ]:          1 :     TEST(!copy_termiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     294                 :          2 :     Xapian::TermIterator move_termiterator(std::move(termiterator));
     295 [ +  - ][ -  + ]:          1 :     TEST(!move_termiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     296         [ +  - ]:          1 :     termiterator = copy_termiterator;
     297 [ +  - ][ -  + ]:          1 :     TEST(!termiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     298         [ +  - ]:          1 :     copy_termiterator = std::move(move_termiterator);
     299 [ +  - ][ -  + ]:          1 :     TEST(!copy_termiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     300                 :            : 
     301                 :          2 :     Xapian::ValueIterator valueiterator;
     302 [ +  - ][ -  + ]:          1 :     TEST(!valueiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     303         [ +  - ]:          2 :     Xapian::ValueIterator copy_valueiterator(valueiterator);
     304 [ +  - ][ -  + ]:          1 :     TEST(!copy_valueiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     305                 :          2 :     Xapian::ValueIterator move_valueiterator(std::move(valueiterator));
     306 [ +  - ][ -  + ]:          1 :     TEST(!move_valueiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     307         [ +  - ]:          1 :     valueiterator = copy_valueiterator;
     308 [ +  - ][ -  + ]:          1 :     TEST(!valueiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     309         [ +  - ]:          1 :     copy_valueiterator = std::move(move_valueiterator);
     310 [ +  - ][ -  + ]:          1 :     TEST(!copy_valueiterator.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     311                 :            : 
     312         [ +  - ]:          2 :     Xapian::WritableDatabase writabledatabase;
     313 [ +  - ][ -  + ]:          1 :     TEST(!writabledatabase.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     314         [ +  - ]:          2 :     Xapian::WritableDatabase copy_writabledatabase(writabledatabase);
     315 [ +  - ][ -  + ]:          1 :     TEST(!copy_writabledatabase.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     316         [ +  - ]:          2 :     Xapian::WritableDatabase move_writabledatabase(std::move(writabledatabase));
     317 [ +  - ][ -  + ]:          1 :     TEST(!move_writabledatabase.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     318         [ +  - ]:          1 :     writabledatabase = copy_writabledatabase;
     319 [ +  - ][ -  + ]:          1 :     TEST(!writabledatabase.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     320         [ +  - ]:          1 :     copy_writabledatabase = std::move(move_writabledatabase);
     321 [ +  - ][ -  + ]:          1 :     TEST(!copy_writabledatabase.get_description().empty());
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     322                 :            : 
     323                 :          1 :     return true;
     324                 :            : }

Generated by: LCOV version 1.11