add index write test
This commit is contained in:
		
							parent
							
								
									cce557bd3e
								
							
						
					
					
						commit
						16b5db3ee4
					
				|  | @ -592,3 +592,91 @@ TEST_F(IndexCacheEnv, cache_test) { | ||||||
|     assert(taosArrayGetSize(ret) == 1); |     assert(taosArrayGetSize(ret) == 1); | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | class IndexObj { | ||||||
|  |  public: | ||||||
|  |   IndexObj() { | ||||||
|  |     // opt
 | ||||||
|  |     numOfWrite = 0; | ||||||
|  |     numOfRead = 0; | ||||||
|  |     indexInit(); | ||||||
|  |   } | ||||||
|  |   int Init(const std::string& dir) { | ||||||
|  |     taosRemoveDir(dir.c_str()); | ||||||
|  |     taosMkDir(dir.c_str()); | ||||||
|  |     int ret = indexOpen(&opts, dir.c_str(), &idx); | ||||||
|  |     if (ret != 0) { | ||||||
|  |       // opt
 | ||||||
|  |       std::cout << "failed to open index: %s" << dir << std::endl; | ||||||
|  |     } | ||||||
|  |     return ret; | ||||||
|  |   } | ||||||
|  |   int Put(SIndexMultiTerm* fvs, uint64_t uid) { | ||||||
|  |     numOfWrite += taosArrayGetSize(fvs); | ||||||
|  |     return indexPut(idx, fvs, uid); | ||||||
|  |   } | ||||||
|  |   int Search(SIndexMultiTermQuery* multiQ, SArray* result) { | ||||||
|  |     SArray* query = multiQ->query; | ||||||
|  |     numOfRead = taosArrayGetSize(query); | ||||||
|  |     return indexSearch(idx, multiQ, result); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   void Debug() { | ||||||
|  |     std::cout << "numOfWrite:" << numOfWrite << std::endl; | ||||||
|  |     std::cout << "numOfRead:" << numOfRead << std::endl; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   ~IndexObj() { | ||||||
|  |     indexClose(idx); | ||||||
|  |     indexCleanUp(); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |  private: | ||||||
|  |   SIndexOpts opts; | ||||||
|  |   SIndex*    idx; | ||||||
|  |   int        numOfWrite; | ||||||
|  |   int        numOfRead; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | class IndexEnv2 : public ::testing::Test { | ||||||
|  |  protected: | ||||||
|  |   virtual void SetUp() { | ||||||
|  |     index = new IndexObj(); | ||||||
|  |     //
 | ||||||
|  |   } | ||||||
|  |   virtual void TearDown() { | ||||||
|  |     // r
 | ||||||
|  |     delete index; | ||||||
|  |   } | ||||||
|  |   IndexObj* index; | ||||||
|  | }; | ||||||
|  | TEST_F(IndexEnv2, testIndexOpen) { | ||||||
|  |   std::string path = "/tmp"; | ||||||
|  |   if (index->Init(path) != 0) {} | ||||||
|  |   std::string colName("tag1"), colVal("Hello world"); | ||||||
|  |   SIndexTerm* term = indexTermCreate(0, ADD_VALUE, TSDB_DATA_TYPE_BINARY, colName.c_str(), colName.size(), colVal.c_str(), colVal.size()); | ||||||
|  |   SIndexMultiTerm* terms = indexMultiTermCreate(); | ||||||
|  |   indexMultiTermAdd(terms, term); | ||||||
|  |   for (size_t i = 0; i < 100; i++) { | ||||||
|  |     int tableId = i; | ||||||
|  |     int ret = index->Put(terms, tableId); | ||||||
|  |     assert(ret == 0); | ||||||
|  |   } | ||||||
|  |   indexMultiTermDestroy(terms); | ||||||
|  | } | ||||||
|  | TEST_F(IndexEnv2, testIndex_CachePut) { | ||||||
|  |   std::string path = "/tmp"; | ||||||
|  |   if (index->Init(path) != 0) {} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | TEST_F(IndexEnv2, testIndexr_TFilePut) { | ||||||
|  |   std::string path = "/tmp"; | ||||||
|  |   if (index->Init(path) != 0) {} | ||||||
|  | } | ||||||
|  | TEST_F(IndexEnv2, testIndex_CacheSearch) { | ||||||
|  |   std::string path = "/tmp"; | ||||||
|  |   if (index->Init(path) != 0) {} | ||||||
|  | } | ||||||
|  | TEST_F(IndexEnv2, testIndex_TFileSearch) { | ||||||
|  |   std::string path = "/tmp"; | ||||||
|  |   if (index->Init(path) != 0) {} | ||||||
|  | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue