Checking a shape to ensure that it is a solid

Hello,

I have been working on a project for which i need to check a given 3D shape to be sure that it is a solid that is manifold, unique, etc..(if not, return the issues). For that purpose, I have chosen OCCT and I am now able to open and view files but I am stuck with the checking part. I am using BrepCheck_Analyzer in the following way :

BRepCheck_Analyzer checker(shape, Standard_True);
if (!checker.IsValid()) {
if (!checker.Result(shape).IsNull()) {
BRepCheck_ListOfStatus lst = checker.Result(shape)->Status();
}
}

The thing is that when a shape is not valid, I never have a non-null result (checker.Result(shape)). Therefore, I have no idea of how to find the shape's isues. Moreover, most of the broken files I have created (open shapes, wrong vertices order, etc..) are considered as valid.
Could someone help me with this ?

I am using opencascade-7.5.0 on Ubuntu (WSL 2).