diff --git a/pyontutils/integration_test_helper.py b/pyontutils/integration_test_helper.py
index <HASH>..<HASH> 100644
--- a/pyontutils/integration_test_helper.py
+++ b/pyontutils/integration_test_helper.py
@@ -222,7 +222,7 @@ class _TestScriptsBase(unittest.TestCase):
                             ' cannot test main, skipping.')
                 return
 
-            if argv and argv[0] != script:
+            if argv and argv[0] != script.__name__.rsplit('.', 1)[-1]:
                 os.system(' '.join(argv))  # FIXME error on this?
 
             try:
@@ -271,6 +271,9 @@ class _TestScriptsBase(unittest.TestCase):
 
             for j_ind, argv in enumerate(argvs):
                 mname = f'test_{i_ind + npaths:0>3}_{j_ind:0>3}_' + pex
+                if argv:
+                    mname += '_' + '_'.join(argv).replace('-', '_')
+
                 #print('MPATH:  ', module_path)
                 test_main = cls.make_test_main(do_mains, post_main, module_path, argv,
                                                stem in mains, stem in tests, skip)
int test helper fixes and more informative names

we were testing whether a string was not equal to a module, which was
always going to return true, so now compare to the last element in the
module path

now also include argv in the generated test names, it makes the names
annoyingly long in some cases, but if something fails then it is much
easier to identify what command was actually issued