diff --git a/.github/workflows/test-symmetry.yml b/.github/workflows/test-symmetry.yml index 91bc5a8..f607fdd 100644 --- a/.github/workflows/test-symmetry.yml +++ b/.github/workflows/test-symmetry.yml @@ -46,6 +46,7 @@ jobs: command: | addpath(genpath("src")); addpath(genpath("tests")); + addpath(genpath("tests_symmetry")); import matlab.unittest.TestRunner; import matlab.unittest.TestSuite; import matlab.unittest.plugins.DiagnosticsOutputPlugin; @@ -61,6 +62,7 @@ jobs: command: | addpath(genpath("src")); addpath(genpath("tests")); + addpath(genpath("tests_symmetry")); import matlab.unittest.TestRunner; import matlab.unittest.TestSuite; runner = TestRunner.withTextOutput; diff --git a/src/did/+did/+file/binaryTable.m b/src/did/+did/+file/binaryTable.m index dafc7fe..e2b5abb 100644 --- a/src/did/+did/+file/binaryTable.m +++ b/src/did/+did/+file/binaryTable.m @@ -79,7 +79,7 @@ % [lockfid,key] = binaryTableObj.getLock(); binaryTableObj.file.fclose(); - binaryTableObj.file = binaryTableObj.file.setproperties('permission','r'); + binaryTableObj.file = binaryTableObj.file.setproperties('permission','rb'); binaryTableObj.file.fopen(); headerData = uint8(fread(binaryTableObj.file,binaryTableObj.headerSize,'uint8')); binaryTableObj.file.fclose(); @@ -210,7 +210,7 @@ function releaseLock(binaryTableObj, lockfid, key) % obtain the lock so the file can't change while we read it [lockfid,key] = binaryTableObj.getLock(); - binaryTableObj.file = binaryTableObj.file.setproperties('permission','r'); + binaryTableObj.file = binaryTableObj.file.setproperties('permission','rb'); binaryTableObj.file.fopen(); [r,~] = binaryTableObj.getSize(); @@ -279,7 +279,7 @@ function insertRow(binaryTableObj, insertAfter, dataCell) end binaryTableObj.file.fclose(); else % copy over everything to temp file before inserting and moving back - binaryTableObj.file = binaryTableObj.file.setproperties('permission','r'); + binaryTableObj.file = binaryTableObj.file.setproperties('permission','rb'); binaryTableObj.file.fopen(); beforeBytes = binaryTableObj.headerSize + insertAfter * binaryTableObj.rowSize(); totalBytes = (binaryTableObj.headerSize + r * binaryTableObj.rowSize()); @@ -340,7 +340,7 @@ function deleteRow(binaryTableObj, row) [lockfid,key] = binaryTableObj.getLock(); binaryTableObj.file.fclose(); - binaryTableObj.file = binaryTableObj.file.setproperties('permission','r'); + binaryTableObj.file = binaryTableObj.file.setproperties('permission','rb'); binaryTableObj.file.fopen(); beforeBytes = binaryTableObj.headerSize + (row-1) * binaryTableObj.rowSize(); totalBytes = (binaryTableObj.headerSize + r * binaryTableObj.rowSize()); @@ -426,7 +426,7 @@ function writeTable(binaryTableObj, data) % [lockfid,key] = binaryTableObj.getLock(); binaryTableObj.file.fclose(); - binaryTableObj.file = binaryTableObj.file.setproperties('permission','r'); + binaryTableObj.file = binaryTableObj.file.setproperties('permission','rb'); binaryTableObj.file.fopen(); fid = fopen(binaryTableObj.tempFileName(),'w'); @@ -486,7 +486,7 @@ function writeTable(binaryTableObj, data) if ~option.isRecurrent [lockfid,key] = binaryTableObj.getLock(); binaryTableObj.file.fclose(); - binaryTableObj.file = binaryTableObj.file.setproperties('permission','r'); + binaryTableObj.file = binaryTableObj.file.setproperties('permission','rb'); binaryTableObj.file.fopen(); end diff --git a/src/did/+did/+implementations/binarydoc_matfid.m b/src/did/+did/+implementations/binarydoc_matfid.m index b1a0d47..50ac2c6 100644 --- a/src/did/+did/+implementations/binarydoc_matfid.m +++ b/src/did/+did/+implementations/binarydoc_matfid.m @@ -18,7 +18,7 @@ arguments fileProps.machineformat (1,1) string {did.file.mustBeValidMachineFormat} = 'l'; % native machine format - fileProps.permission (1,1) string {did.file.mustBeValidPermission} = "r" + fileProps.permission (1,1) string {did.file.mustBeValidPermission} = "rb" fileProps.fid (1,1) int64 = -1 fileProps.fullpathfilename = ''; matfidProps.key = '' diff --git a/tests/+did/+symmetry/+makeArtifacts/+database/buildDatabase.m b/tests_symmetry/+did/+symmetry/+makeArtifacts/+database/buildDatabase.m similarity index 100% rename from tests/+did/+symmetry/+makeArtifacts/+database/buildDatabase.m rename to tests_symmetry/+did/+symmetry/+makeArtifacts/+database/buildDatabase.m diff --git a/tests/+did/+symmetry/+makeArtifacts/INSTRUCTIONS.md b/tests_symmetry/+did/+symmetry/+makeArtifacts/INSTRUCTIONS.md similarity index 100% rename from tests/+did/+symmetry/+makeArtifacts/INSTRUCTIONS.md rename to tests_symmetry/+did/+symmetry/+makeArtifacts/INSTRUCTIONS.md diff --git a/tests/+did/+symmetry/+readArtifacts/+database/buildDatabase.m b/tests_symmetry/+did/+symmetry/+readArtifacts/+database/buildDatabase.m similarity index 100% rename from tests/+did/+symmetry/+readArtifacts/+database/buildDatabase.m rename to tests_symmetry/+did/+symmetry/+readArtifacts/+database/buildDatabase.m diff --git a/tests/+did/+symmetry/+readArtifacts/INSTRUCTIONS.md b/tests_symmetry/+did/+symmetry/+readArtifacts/INSTRUCTIONS.md similarity index 100% rename from tests/+did/+symmetry/+readArtifacts/INSTRUCTIONS.md rename to tests_symmetry/+did/+symmetry/+readArtifacts/INSTRUCTIONS.md