Skip to content

Commit

Permalink
Merge pull request #1744 from braingram/standard_1p6
Browse files Browse the repository at this point in the history
Make asdf standard 1.6.0 stable (default)
  • Loading branch information
braingram authored Nov 18, 2024
2 parents 8ab4717 + 603030e commit b67f11b
Show file tree
Hide file tree
Showing 10 changed files with 89 additions and 60 deletions.
3 changes: 2 additions & 1 deletion asdf/_tests/core/_converters/test_tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ def test_history_entry(tmp_path):
def test_subclass_metadata():
subclass_metadata = SubclassMetadata(name="SomeCoolSubclass")

result = helpers.roundtrip_object(subclass_metadata)
# support for this was dropped in 1.6.0
result = helpers.roundtrip_object(subclass_metadata, version="1.5.0")

assert result == subclass_metadata
60 changes: 30 additions & 30 deletions asdf/_tests/tags/core/tests/test_ndarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ def with_custom_extension():
{
"http://nowhere.org/schemas/custom/datatype-1.0.0": """%YAML 1.1
---
$schema: "http://stsci.edu/schemas/asdf/asdf-schema-1.0.0"
$schema: "http://stsci.edu/schemas/asdf/asdf-schema-1.1.0"
id: "http://nowhere.org/schemas/custom/datatype-1.0.0"
type: object
properties:
Expand All @@ -102,7 +102,7 @@ def with_custom_extension():
exact_datatype: true""",
"http://nowhere.org/schemas/custom/ndim-1.0.0": """%YAML 1.1
---
$schema: "http://stsci.edu/schemas/asdf/asdf-schema-1.0.0"
$schema: "http://stsci.edu/schemas/asdf/asdf-schema-1.1.0"
id: "http://nowhere.org/schemas/custom/ndim-1.0.0"
type: object
properties:
Expand Down Expand Up @@ -282,7 +282,7 @@ class NDArrayContainerExtension:

def test_copy_inline():
yaml = """
x0: !core/ndarray-1.0.0
x0: !core/ndarray-1.1.0
data: [-1.0, 1.0]
"""

Expand Down Expand Up @@ -371,7 +371,7 @@ def test_inline():


def test_inline_bare():
content = "arr: !core/ndarray-1.0.0 [[1, 2, 3, 4], [5, 6, 7, 8]]"
content = "arr: !core/ndarray-1.1.0 [[1, 2, 3, 4], [5, 6, 7, 8]]"
buff = helpers.yaml_to_asdf(content)

with asdf.open(buff) as ff:
Expand Down Expand Up @@ -413,7 +413,7 @@ def test_len_roundtrip(tmp_path):

def test_mask_arbitrary():
content = """
arr: !core/ndarray-1.0.0
arr: !core/ndarray-1.1.0
data: [[1, 2, 3, 1234], [5, 6, 7, 8]]
mask: 1234
"""
Expand All @@ -425,7 +425,7 @@ def test_mask_arbitrary():

def test_mask_nan():
content = """
arr: !core/ndarray-1.0.0
arr: !core/ndarray-1.1.0
data: [[1, 2, 3, .NaN], [5, 6, 7, 8]]
mask: .NaN
"""
Expand Down Expand Up @@ -455,7 +455,7 @@ def test_string_table(tmp_path):


def test_inline_string():
content = "arr: !core/ndarray-1.0.0 ['a', 'b', 'c']"
content = "arr: !core/ndarray-1.1.0 ['a', 'b', 'c']"
buff = helpers.yaml_to_asdf(content)

with asdf.open(buff) as ff:
Expand All @@ -464,7 +464,7 @@ def test_inline_string():

def test_inline_structured():
content = """
arr: !core/ndarray-1.0.0
arr: !core/ndarray-1.1.0
datatype: [['ascii', 4], uint16, uint16, ['ascii', 4]]
data: [[M110, 110, 205, And],
[ M31, 31, 224, And],
Expand Down Expand Up @@ -622,10 +622,10 @@ def test_operations_on_ndarray_proxies(tmp_path):

def test_mask_datatype(tmp_path):
content = """
arr: !core/ndarray-1.0.0
arr: !core/ndarray-1.1.0
data: [1, 2, 3]
dtype: int32
mask: !core/ndarray-1.0.0
mask: !core/ndarray-1.1.0
data: [true, true, false]
"""
buff = helpers.yaml_to_asdf(content)
Expand All @@ -636,10 +636,10 @@ def test_mask_datatype(tmp_path):

def test_invalid_mask_datatype(tmp_path):
content = """
arr: !core/ndarray-1.0.0
arr: !core/ndarray-1.1.0
data: [1, 2, 3]
dtype: int32
mask: !core/ndarray-1.0.0
mask: !core/ndarray-1.1.0
data: ['a', 'b', 'c']
"""
buff = helpers.yaml_to_asdf(content)
Expand All @@ -657,7 +657,7 @@ def test_invalid_mask_datatype(tmp_path):
def test_ndim_validation(tmp_path):
content = """
obj: !<tag:nowhere.org:custom/ndim-1.0.0>
a: !core/ndarray-1.0.0
a: !core/ndarray-1.1.0
data: [1, 2, 3]
"""
buff = helpers.yaml_to_asdf(content)
Expand All @@ -672,7 +672,7 @@ def test_ndim_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/ndim-1.0.0>
a: !core/ndarray-1.0.0
a: !core/ndarray-1.1.0
data: [[1, 2, 3]]
"""
buff = helpers.yaml_to_asdf(content)
Expand All @@ -682,7 +682,7 @@ def test_ndim_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/ndim-1.0.0>
a: !core/ndarray-1.0.0
a: !core/ndarray-1.1.0
shape: [1, 3]
data: [[1, 2, 3]]
"""
Expand All @@ -693,7 +693,7 @@ def test_ndim_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/ndim-1.0.0>
b: !core/ndarray-1.0.0
b: !core/ndarray-1.1.0
data: [1, 2, 3]
"""
buff = helpers.yaml_to_asdf(content)
Expand All @@ -703,7 +703,7 @@ def test_ndim_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/ndim-1.0.0>
b: !core/ndarray-1.0.0
b: !core/ndarray-1.1.0
data: [[1, 2, 3]]
"""
buff = helpers.yaml_to_asdf(content)
Expand All @@ -713,7 +713,7 @@ def test_ndim_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/ndim-1.0.0>
b: !core/ndarray-1.0.0
b: !core/ndarray-1.1.0
data: [[[1, 2, 3]]]
"""
buff = helpers.yaml_to_asdf(content)
Expand All @@ -731,7 +731,7 @@ def test_ndim_validation(tmp_path):
def test_datatype_validation(tmp_path):
content = """
obj: !<tag:nowhere.org:custom/datatype-1.0.0>
a: !core/ndarray-1.0.0
a: !core/ndarray-1.1.0
data: [1, 2, 3]
datatype: float32
"""
Expand All @@ -742,7 +742,7 @@ def test_datatype_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/datatype-1.0.0>
a: !core/ndarray-1.0.0
a: !core/ndarray-1.1.0
data: [1, 2, 3]
datatype: float64
"""
Expand All @@ -758,7 +758,7 @@ def test_datatype_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/datatype-1.0.0>
a: !core/ndarray-1.0.0
a: !core/ndarray-1.1.0
data: [1, 2, 3]
datatype: int16
"""
Expand All @@ -769,7 +769,7 @@ def test_datatype_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/datatype-1.0.0>
b: !core/ndarray-1.0.0
b: !core/ndarray-1.1.0
data: [1, 2, 3]
datatype: int16
"""
Expand All @@ -785,7 +785,7 @@ def test_datatype_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/datatype-1.0.0>
a: !core/ndarray-1.0.0
a: !core/ndarray-1.1.0
data: [[1, 'a'], [2, 'b'], [3, 'c']]
datatype:
- name: a
Expand All @@ -808,7 +808,7 @@ def test_datatype_validation(tmp_path):
def test_structured_datatype_validation(tmp_path):
content = """
obj: !<tag:nowhere.org:custom/datatype-1.0.0>
c: !core/ndarray-1.0.0
c: !core/ndarray-1.1.0
data: [[1, 'a'], [2, 'b'], [3, 'c']]
datatype:
- name: a
Expand All @@ -823,7 +823,7 @@ def test_structured_datatype_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/datatype-1.0.0>
c: !core/ndarray-1.0.0
c: !core/ndarray-1.1.0
data: [[1, 'a'], [2, 'b'], [3, 'c']]
datatype:
- name: a
Expand All @@ -843,7 +843,7 @@ def test_structured_datatype_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/datatype-1.0.0>
c: !core/ndarray-1.0.0
c: !core/ndarray-1.1.0
data: [[1, 'a', 0], [2, 'b', 1], [3, 'c', 2]]
datatype:
- name: a
Expand All @@ -865,7 +865,7 @@ def test_structured_datatype_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/datatype-1.0.0>
c: !core/ndarray-1.0.0
c: !core/ndarray-1.1.0
data: [1, 2, 3]
"""
buff = helpers.yaml_to_asdf(content)
Expand All @@ -880,7 +880,7 @@ def test_structured_datatype_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/datatype-1.0.0>
d: !core/ndarray-1.0.0
d: !core/ndarray-1.1.0
data: [[1, 'a'], [2, 'b'], [3, 'c']]
datatype:
- name: a
Expand All @@ -900,7 +900,7 @@ def test_structured_datatype_validation(tmp_path):

content = """
obj: !<tag:nowhere.org:custom/datatype-1.0.0>
d: !core/ndarray-1.0.0
d: !core/ndarray-1.1.0
data: [[1, 'a'], [2, 'b'], [3, 'c']]
datatype:
- name: a
Expand All @@ -924,7 +924,7 @@ def test_string_inline():

def test_inline_shape_mismatch():
content = """
arr: !core/ndarray-1.0.0
arr: !core/ndarray-1.1.0
data: [1, 2, 3]
shape: [2]
"""
Expand Down
2 changes: 1 addition & 1 deletion asdf/_tests/test_history.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ def test_extension_metadata(tmp_path):
with asdf.open(file_path) as af:
assert len(af.tree["history"]["extensions"]) == 1
metadata = af.tree["history"]["extensions"][0]
assert metadata.extension_uri == "asdf://asdf-format.org/core/extensions/core-1.5.0"
assert metadata.extension_uri == "asdf://asdf-format.org/core/extensions/core-1.6.0"
assert metadata.extension_class == "asdf.extension._manifest.ManifestExtension"
assert metadata.software["name"] == "asdf"
assert metadata.software["version"] == asdf.__version__
Expand Down
15 changes: 11 additions & 4 deletions asdf/_tests/test_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ def manifest_extension(tmp_path):
foo_schema = """
%YAML 1.1
---
$schema: "asdf://stsci.edu/schemas/asdf/asdf-schema-1.0.0"
$schema: "asdf://stsci.edu/schemas/asdf/asdf-schema-1.1.0"
id: "asdf://somewhere.org/asdf/schemas/foo-1.0.0"
type: object
Expand Down Expand Up @@ -221,7 +221,7 @@ def manifest_extension(tmp_path):
bar_schema = """
%YAML 1.1
---
$schema: "asdf://stsci.edu/schemas/asdf/asdf-schema-1.0.0"
$schema: "asdf://stsci.edu/schemas/asdf/asdf-schema-1.1.0"
id: "asdf://somewhere.org/asdf/schemas/bar-1.0.0"
type: object
Expand All @@ -245,7 +245,7 @@ def manifest_extension(tmp_path):
drink_schema = """
%YAML 1.1
---
$schema: "asdf://stsci.edu/schemas/asdf/asdf-schema-1.0.0"
$schema: "asdf://stsci.edu/schemas/asdf/asdf-schema-1.1.0"
id: "asdf://somewhere.org/asdf/schemas/drink-1.0.0"
type: object
Expand Down Expand Up @@ -647,7 +647,14 @@ def test_recursive_info_object_support(capsys, tmp_path):
recursive_obj = RecursiveObjectWithInfoSupport()
recursive_obj.recursive = recursive_obj
tree = {"random": 3.14159, "rtest": recursive_obj}
af = asdf.AsdfFile(tree)
af = asdf.AsdfFile()
# we need to do this to avoid validation against the
# manifest (generated in manifest_extension) which is
# now supported with the default asdf standard 1.6.0
# I'm not sure why the manifest has this restriction
# and prior to switching to the default 1.6.0 was ignored
# which allowed this test to pass.
af._tree = tree
af.info(refresh_extension_manager=True)
captured = capsys.readouterr()
assert "recursive reference" in captured.out
Expand Down
Loading

0 comments on commit b67f11b

Please sign in to comment.