Currently, the SmallPtrSet type allows inserting elements but it does not support inserting elements with a positional hint. The lack of this signature means that you cannot use SmallPtrSet with std::insert_iterator or std::inserter(), which makes some code constructs more awkward. For example, it would be nice to be able to write:
llvm::copy_if(Buffer, std::inserter(SomeSmallPtrSet, SomeSmallPtrSet.begin()), [](...) { return whatever(); });
The positional hint is unused by SmallPtrSet and the call is equivalent to calling insert() without a hint.
I'd probably/prefer to make a direct call to the API, rather than testing it through a bunch of other container machinery. More isolated testing, clearer failures (not layers of template goo inside the standard library), etc.
(& my minor preference is towards using member begin/end unless the fully generic ADL call is needed (in which case you need llvm::adl_* functions or the raw using+unqualified call))