Skip to content

Commit 90c81de

Browse files
JKBTeque5
authored andcommitted
use os.path.join, clean-up unit test
1 parent 47ddf99 commit 90c81de

2 files changed

Lines changed: 23 additions & 23 deletions

File tree

sigmf/sigmffile.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -938,9 +938,6 @@ def get_dataset_filename_from_metadata(meta_fn, metadata=None):
938938
"""
939939
compliant_data_fn = get_sigmf_filenames(meta_fn)["data_fn"]
940940
noncompliant_data_fn = metadata["global"].get("core:dataset", None)
941-
dir_path = path.split(meta_fn)[0]
942-
if not dir_path:
943-
dir_path = "." # sets the correct path in the case meta_fn is only a filename
944941

945942
if path.isfile(compliant_data_fn):
946943
if noncompliant_data_fn:
@@ -951,7 +948,8 @@ def get_dataset_filename_from_metadata(meta_fn, metadata=None):
951948
return compliant_data_fn
952949

953950
elif noncompliant_data_fn:
954-
noncompliant_data_file_path = f"{dir_path}/{noncompliant_data_fn}"
951+
dir_path = path.split(meta_fn)[0]
952+
noncompliant_data_file_path = path.join(dir_path, noncompliant_data_fn)
955953
if path.isfile(noncompliant_data_file_path):
956954
if metadata["global"].get("core:metadata_only", False):
957955
warnings.warn(

tests/test_load_ncd.py

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,37 +14,39 @@
1414

1515

1616
@pytest.mark.parametrize(
17-
"file_path",
18-
[
19-
"b1.bin",
20-
"./b2.bin",
21-
"test_subdir/b3.bin", # fails in the 1.2.3 version
22-
"./test_subdir/b4.bin", # fails in the 1.2.3 version
23-
],
17+
["index", "dir_path"],
18+
enumerate(
19+
[
20+
"",
21+
"./",
22+
"test_subdir/",
23+
"./test_subdir/",
24+
]
25+
),
2426
)
25-
def test_load_ncd(file_path: str) -> None:
27+
def test_load_ncd(index: int, dir_path: str) -> None:
2628
"""Unit test - loading non-conforming dataset."""
27-
dir_path, file_name = os.path.split(file_path)
28-
file_name_base = os.path.splitext(file_name)[0]
29-
if not dir_path:
30-
dir_path = "." # sets the correct path in the case file is only a filename
31-
meta_file_path = f"{dir_path}/{file_name_base}.sigmf-meta"
29+
data_file_name = f"data{index}.bin"
30+
meta_file_name = f"data{index}.sigmf-meta"
31+
data_file_path = f"{dir_path}{data_file_name}"
32+
meta_file_path = f"{dir_path}{meta_file_name}"
3233

33-
# create dir
34+
# create dir if necessary
3435
try:
35-
os.makedirs(dir_path)
36+
if dir_path:
37+
os.makedirs(dir_path)
3638
except FileExistsError:
3739
pass
3840

39-
# create dataset
41+
# create data file
4042
data_in = np.arange(10, dtype=np.int16)
41-
data_in.tofile(file_path)
43+
data_in.tofile(data_file_path)
4244

4345
# create metadata file
4446
metadata = {
4547
SigMFFile.GLOBAL_KEY: {
4648
SigMFFile.DATATYPE_KEY: "ri16_le",
47-
SigMFFile.DATASET_KEY: file_name,
49+
SigMFFile.DATASET_KEY: data_file_name,
4850
},
4951
SigMFFile.CAPTURE_KEY: [
5052
{
@@ -53,7 +55,7 @@ def test_load_ncd(file_path: str) -> None:
5355
],
5456
SigMFFile.ANNOTATION_KEY: [],
5557
}
56-
meta_file = SigMFFile(metadata=metadata, data_file=file_path)
58+
meta_file = SigMFFile(metadata=metadata, data_file=data_file_path)
5759
meta_file.tofile(meta_file_path)
5860

5961
# load dataset

0 commit comments

Comments
 (0)