Precizing buffer type for MSPriorityQueue
[libcds.git] / test / stress / pqueue / pop.cpp
index 8127b0b9b492d173cb46258ae07ac9c0ccb3a127..75704ed70d1922037b5ffd220030e828162344a9 100644 (file)
@@ -70,6 +70,7 @@ namespace {
                     ++m_nPopSuccess;
                     nPrevKey = val.key;
 
+                    /*
                     while ( !m_Queue.empty() ) {
                         if ( m_Queue.pop( val )) {
                             ++m_nPopSuccess;
@@ -86,6 +87,21 @@ namespace {
                         else
                             ++m_nPopFailed;
                     }
+                    */
+
+                    while ( m_Queue.pop( val )) {
+                        ++m_nPopSuccess;
+                        if ( val.key > nPrevKey ) {
+                            ++m_nPopError;
+                            m_arrFailedPops.emplace_back( failed_pops{ nPrevKey, val.key } );
+                        }
+                        else if ( val.key == nPrevKey ) {
+                            ++m_nPopErrorEq;
+                            m_arrFailedPops.emplace_back( failed_pops{ nPrevKey, val.key } );
+                        }
+                        nPrevKey = val.key;
+                    }
+
                 }
                 else
                     ++m_nPopFailed;