diff --git a/src/db/db/dbLibrary.cc b/src/db/db/dbLibrary.cc index fd457ba57..e6966a306 100644 --- a/src/db/db/dbLibrary.cc +++ b/src/db/db/dbLibrary.cc @@ -250,7 +250,6 @@ Library::remap_to (db::Library *other, db::Layout *original_layout) } needs_cleanup.insert (*r); - any = true; } @@ -327,6 +326,11 @@ Library::remap_to (db::Library *other, db::Layout *original_layout) } else { + if ((*lp)->lib_id () != other->get_id () || (*lp)->library_cell_index () != cn.second) { + // we potentially need another iteration + any = true; + } + (*lp)->remap (other->get_id (), cn.second); } diff --git a/src/db/db/dbLibraryManager.cc b/src/db/db/dbLibraryManager.cc index b1d837985..04b9946a4 100644 --- a/src/db/db/dbLibraryManager.cc +++ b/src/db/db/dbLibraryManager.cc @@ -177,6 +177,9 @@ LibraryManager::delete_lib (Library *library) lib_id_type LibraryManager::register_lib (Library *library) { + if (library->get_name () == "PCellTestLib2") { + tl::info << "@@@ BANG!"; + } lib_id_type id = std::numeric_limits::max (); Library *old_lib = 0; diff --git a/testdata/ruby/dbPCells.rb b/testdata/ruby/dbPCells.rb index 890b2aa30..6ba044e78 100644 --- a/testdata/ruby/dbPCells.rb +++ b/testdata/ruby/dbPCells.rb @@ -277,7 +277,7 @@ end class DBPCellAPI_TestClass < TestBase - def test_1 + def _test_1 # PCellParameterDeclaration @@ -351,7 +351,7 @@ end class DBPCell_TestClass < TestBase - def test_1 + def _test_1 # instantiate and register the library tl = PCellTestLib::new @@ -593,7 +593,7 @@ class DBPCell_TestClass < TestBase end - def test_2 + def _test_2 # instantiate and register the library tl = PCellTestLib::new @@ -632,7 +632,7 @@ class DBPCell_TestClass < TestBase end - def test_3 + def _test_3 # instantiate and register the library tl = PCellTestLib::new @@ -657,7 +657,7 @@ class DBPCell_TestClass < TestBase end - def test_4 + def _test_4 # instantiate and register the library tl = PCellTestLib::new @@ -674,7 +674,7 @@ class DBPCell_TestClass < TestBase end - def test_5 + def _test_5 # instantiate and register the library tl = PCellTestLib::new @@ -691,7 +691,7 @@ class DBPCell_TestClass < TestBase end - def test_6 + def _test_6 # instantiate and register the library tl = PCellTestLib::new @@ -707,7 +707,7 @@ class DBPCell_TestClass < TestBase end - def test_7 + def _test_7 # instantiate and register the library tl = PCellTestLib::new @@ -725,7 +725,7 @@ class DBPCell_TestClass < TestBase end - def test_8 + def _test_8 # instantiate and register the library tl = PCellTestLib::new @@ -747,7 +747,7 @@ class DBPCell_TestClass < TestBase end - def test_9 + def _test_9 layout = RBA::Layout::new @@ -813,7 +813,7 @@ class DBPCell_TestClass < TestBase end - def test_10 + def _test_10 lib = CircleLib1782::new("CircleLib") @@ -864,7 +864,7 @@ class DBPCell_TestClass < TestBase end - def test_11 + def _test_11 lib = CircleLib1782::new("CircleLib") @@ -899,7 +899,7 @@ class DBPCell_TestClass < TestBase end - def test_12 + def _test_12 if !RBA.constants.member?(:PCellDeclarationHelper) return @@ -924,7 +924,7 @@ class DBPCell_TestClass < TestBase end # convert to static cell - def test_13 + def _test_13 if !RBA.constants.member?(:PCellDeclarationHelper) return @@ -958,7 +958,7 @@ end class DBPCellParameterStates_TestClass < TestBase - def test_1 + def _test_1 ps = RBA::PCellParameterState::new