Does gen2to3 use ingest() to store the gen2 data in the gen3 repository or does it use put()? If it is using ingest then the data files themselves are known to be identical.
For ingest this means that your test is testing that get in gen3 gives you the same in memory dataset as get in gen2. This is testing the formatter read. It's good to be testing this but we can get a long way towards where you want to be by explicitly testing formatters on some representative dataset types. I am worried that this ticket is going to continue to stay open for an indeterminate amount of time whilst we try to wrestle with gen2 issues and it's blocking further progress on gen 3 migration.
If data are put then formatter write and formatter read are in play and things are much more interesting when trying to determine whether the gen3 and gen2 butlers have the same content.