UVM_TEST

Can I use the test case deriving from uvm_driver or other component instead of uvm_test?
Are there any potential risks?

In reply to dbshy:

You can use any class derived from uvm_component, but you should use uvm_test.

The component that gets constructed by +UVM_TESTNAME becomes a top-level component and it would not make sense to have a driver at the top-level when it is usually at the lowest leaf-level.

Most methodology components like uvm_driver contain other handles like request and response ports that are part of its constructor. That is extra overhead if you use a component for something other than its intended purpose.

Many debugging tools categorize components by their underlying base class. They expect all test to be derived from uvm_test.