diff --git a/+gemini3d/+tests/TestAUnit.m b/+gemini3d/+tests/TestAUnit.m index 9f024fe7..f0e1d5fe 100644 --- a/+gemini3d/+tests/TestAUnit.m +++ b/+gemini3d/+tests/TestAUnit.m @@ -63,9 +63,10 @@ function test_with_suffix(tc) if ~verLessThan("matlab", "9.9") % fileparts vectorized in R2020b tc.verifyEqual(gemini3d.fileio.with_suffix(["foo.h5", "bar.dat"], ".nc"), ["foo.nc", "bar.nc"]) -end + tc.verifyEmpty(gemini3d.fileio.with_suffix(string.empty, ".nc")) end +end function test_path_tail(tc) tc.verifyEqual(gemini3d.fileio.path_tail("a/b/c.h5"), "c.h5") @@ -75,10 +76,10 @@ function test_path_tail(tc) if ~verLessThan("matlab", "9.9") % fileparts vectorized in R2020b tc.verifyEqual(gemini3d.fileio.path_tail(["c.h5", "a/b/c/"]), ["c.h5", "c"]) -end tc.verifyEmpty(gemini3d.fileio.path_tail(string.empty)) end +end function test_dateinc(tc) diff --git a/test_gemini.m b/test_gemini.m index dee14a7d..2c34d4f1 100644 --- a/test_gemini.m +++ b/test_gemini.m @@ -1,17 +1,33 @@ import matlab.unittest.TestSuite import matlab.unittest.TestRunner import matlab.unittest.plugins.LoggingPlugin +import matlab.unittest.plugins.CodeCoveragePlugin +import matlab.unittest.plugins.codecoverage.CoberturaFormat runner = TestRunner.withTextOutput; p = LoggingPlugin.withVerbosity(matlab.unittest.Verbosity.Detailed,... 'HideLevel',true,'HideTimestamp',true, 'Description', ""); runner.addPlugin(p); +isCI = getenv("CI") == "true"; + +% coverage +if isCI +% future +reportFile = 'CoverageResults.xml'; +reportFormat = CoberturaFormat(reportFile); +% plugin = CodeCoveragePlugin.forPackage('gemini3d','Producing',reportFormat); +% runner.addPlugin(plugin); +else +% works, but saving time +% runner.addPlugin(CodeCoveragePlugin.forPackage('gemini3d')) +end + suite = TestSuite.fromPackage('gemini3d.tests'); -% under future consideration--need to manually start parallel pool for CI +% need to manually start parallel pool for CI addons = matlab.addons.installedAddons(); -if (getenv("CI") ~= "true") && any(contains(addons.Name, 'Parallel Computing Toolbox')) +if ~isCI && any(contains(addons.Name, 'Parallel Computing Toolbox')) results = runInParallel(runner, suite); else results = runner.run(suite);