Commit 6fff75cc authored by Jay Dubb's avatar Jay Dubb
Browse files

-- Fix problem found by course participant Yuanyuan Gao in setpaths

-- Fix PrintSystemInfo.m which throws (and catches) exception on MAC and Linux because these platforms lack matlab memory function
parent 632d5c53
Loading
Loading
Loading
Loading
+24 −5
Original line number Diff line number Diff line
@@ -2,24 +2,43 @@ function PrintSystemInfo(logger, appname)
if ~exist('logger','var')
    logger = [];
end
if ~exist('appname','var') || isempty(appname)
    appname = 'Untitled';
    vstr = '';
else
    vstr = version2string();
end

logger = InitLogger(logger, 'SystemInfo');

logger.Write(sprintf('Running %s v%s\n\n', appname, version2string()));
if isempty(vstr)
    logger.Write(sprintf('Running %s\n\n', appname));
else
    logger.Write(sprintf('Running %s v%s\n\n', appname, vstr));
end

logger.Write(sprintf('============\n'))
logger.Write(sprintf('SYSTEM INFO:\n'));
logger.Write(sprintf('============\n'))
try
    systemview = [];
    if ispc()
        [~,systemview] = memory();
    end
    [hdSpaceAvail, hdSpaceTotal] = getFreeDiskSpace();

	logger.Write(sprintf('Platform Arch  : %s\n', computer));
    if ~isempty(systemview)
        logger.Write(sprintf('RAM Total      : %0.1f GB\n', systemview.PhysicalMemory.Total/1e9))
        logger.Write(sprintf('RAM Free       : %0.1f GB\n', systemview.PhysicalMemory.Available/1e9))
    else
        logger.Write(sprintf('RAM Total      : Not available on this platform\n'))
        logger.Write(sprintf('RAM Free       : Not available on this platform\n'))
    end
	logger.Write(sprintf('HD Space Total : %0.1f GB\n', hdSpaceAvail/1e9));
	logger.Write(sprintf('HD Space Free  : %0.1f GB\n', hdSpaceTotal/1e9));
	logger.Write(sprintf('\n'))
	logger.Write(sprintf('\n')) %#ok<*SPRINTFN>
catch ME
	logger.Write(sprintf('%s\n', ME.message));
end
+14 −1
Original line number Diff line number Diff line
@@ -12,5 +12,18 @@ wspath = fileparts(which(appname));
wspacename = [rootdir, ext];

cd(currdir);

% When removing folders it is a sensitive moment - make sure to catch
% exceptions signaliing failure to remove folder.
trycount = 1;
while trycount<10
    try
        rmdir(dummydir,'s');
        break;
    catch
        trycount = trycount+1;
    end
    pause(.1);
end