Skip to content

Commit d2545d4

Browse files
authored
uncomment tests for custom type fields (#1515)
1 parent b777188 commit d2545d4

File tree

3 files changed

+90
-72
lines changed

3 files changed

+90
-72
lines changed

.github/workflows/scripts/separate_long_core_tests.ps1

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ New-Item -Path ".\" -Name "test_workflow" -ItemType "directory"
66
New-Item -Path ".\" -Name "test_remote_workflow" -ItemType "directory"
77
New-Item -Path ".\" -Name "test_remote_operator" -ItemType "directory"
88
New-Item -Path ".\" -Name "test_service" -ItemType "directory"
9+
New-Item -Path ".\" -Name "test_custom_type_field" -ItemType "directory"
910
Copy-Item -Path "tests\conftest.py" -Destination ".\test_launcher\"
1011
Copy-Item -Path "tests\conftest.py" -Destination ".\test_server\"
1112
Copy-Item -Path "tests\conftest.py" -Destination ".\test_local_server\"
@@ -14,6 +15,7 @@ Copy-Item -Path "tests\conftest.py" -Destination ".\test_workflow\"
1415
Copy-Item -Path "tests\conftest.py" -Destination ".\test_remote_workflow\"
1516
Copy-Item -Path "tests\conftest.py" -Destination ".\test_remote_operator\"
1617
Copy-Item -Path "tests\conftest.py" -Destination ".\test_service\"
18+
Copy-Item -Path "tests\conftest.py" -Destination ".\test_custom_type_field\"
1719
Copy-Item -Path "tests\test_launcher.py" -Destination ".\test_launcher\"
1820
Copy-Item -Path "tests\test_server.py" -Destination ".\test_server\"
1921
Copy-Item -Path "tests\test_local_server.py" -Destination ".\test_local_server\"
@@ -22,11 +24,13 @@ Copy-Item -Path "tests\test_workflow.py" -Destination ".\test_workflow\"
2224
Copy-Item -Path "tests\test_remote_workflow.py" -Destination ".\test_remote_workflow\"
2325
Copy-Item -Path "tests\test_remote_operator.py" -Destination ".\test_remote_operator\"
2426
Copy-Item -Path "tests\test_service.py" -Destination ".\test_service\"
27+
Copy-Item -Path "tests\test_custom_type_field.py" -Destination ".\test_custom_type_field\"
2528
Remove-Item -Path "tests\test_server.py"
2629
Remove-Item -Path "tests\test_launcher.py"
2730
Remove-Item -Path "tests\test_local_server.py"
2831
Remove-Item -Path "tests\test_multi_server.py"
2932
Remove-Item -Path "tests\test_workflow.py"
3033
Remove-Item -Path "tests\test_remote_workflow.py"
3134
Remove-Item -Path "tests\test_remote_operator.py"
32-
Remove-Item -Path "tests\test_service.py"
35+
Remove-Item -Path "tests\test_service.py"
36+
Remove-Item -Path "tests\test_custom_type_field.py"

.github/workflows/tests.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,19 @@ jobs:
351351
uses: ansys/pydpf-actions/[email protected]
352352
if: always()
353353

354+
- name: "Test API test_custom_type_field"
355+
uses: nick-fields/retry@v2
356+
with:
357+
timeout_minutes: 2
358+
max_attempts: 2
359+
shell: bash
360+
command: |
361+
pytest $DEBUG $COVERAGE $RERUNS --junitxml=../tests/junit/test-results11.xml test_custom_type_field/.
362+
363+
- name: "Kill all servers"
364+
uses: ansys/pydpf-actions/[email protected]
365+
if: always()
366+
354367
- name: "Upload Test Results"
355368
uses: actions/upload-artifact@v3
356369
with:

tests/test_custom_type_field.py

Lines changed: 72 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -114,77 +114,78 @@ def test_set_get_field_def_custom_type_field(server_type):
114114
assert field.name == "thing"
115115

116116

117-
# @conftest.raises_for_servers_version_under("5.0")
118-
# def test_mutable_data_custom_type_field(server_clayer):
119-
# field = dpf.core.CustomTypeField(np.float64, nentities=20, server=server_clayer)
120-
# field_def = dpf.core.FieldDefinition(server=server_clayer)
121-
# field_def.dimensionality = dpf.core.Dimensionality({3}, dpf.core.natures.vector)
122-
# field.field_definition = field_def
123-
# scop = dpf.core.Scoping(ids=[1, 2, 3, 4], location="faces", server=server_clayer)
124-
# field.scoping = scop
125-
#
126-
# data = np.empty((24,), dtype=np.float64)
127-
# for i in range(0, 24):
128-
# data[i] = i
129-
# field.data = data
130-
# field._data_pointer = [0, 6, 12, 18]
131-
#
132-
# vec = field.get_entity_data(0)
133-
# assert np.allclose(vec, np.array(range(0, 6)).reshape(2, 3))
134-
#
135-
# vec[0][0] = 1
136-
# vec[1][2] = 4
137-
#
138-
# assert np.allclose(vec, np.array([1, 1, 2, 3, 4, 4]).reshape(2, 3))
139-
#
140-
# vec.commit()
141-
#
142-
# assert np.allclose(field.get_entity_data(0), np.array([1, 1, 2, 3, 4, 4]).reshape(2, 3))
143-
#
144-
# vec = field.get_entity_data_by_id(2)
145-
# assert np.allclose(vec, np.array(range(6, 12)).reshape(2, 3))
146-
#
147-
# vec[0][0] = 1
148-
# vec[1][2] = 4
149-
# assert np.allclose(vec, np.array([1, 7, 8, 9, 10, 4]).reshape(2, 3))
150-
# vec = None
151-
# assert np.allclose(field.get_entity_data_by_id(2), np.array([1, 7, 8, 9, 10, 4]).reshape(2, 3)
152-
# )
153-
154-
# # not using a fixture on purpose: the instance of simple field SHOULD be owned by each test
155-
# def get_float_field(server_clayer):
156-
# field = dpf.core.CustomTypeField(np.float64, nentities=20, server=server_clayer)
157-
# field_def = dpf.core.FieldDefinition(server=server_clayer)
158-
# field_def.dimensionality = dpf.core.Dimensionality({3}, dpf.core.natures.vector)
159-
# field.field_definition = field_def
160-
# scop = dpf.core.Scoping(ids=[1, 2, 3, 4], location="faces", server=server_clayer)
161-
# field.scoping = scop
162-
#
163-
# data = np.empty((24,), dtype=np.float64)
164-
# for i in range(0, 24):
165-
# data[i] = i
166-
# field.data = data
167-
# field._data_pointer = [0, 6, 12, 18]
168-
# return field
169-
170-
171-
# @conftest.raises_for_servers_version_under("5.0")
172-
# def test_mutable_data_pointer_custom_type_field(server_clayer):
173-
# float_field = get_float_field(server_clayer)
174-
# assert np.allclose(float_field.get_entity_data(0), np.array(range(0, 6)).reshape(2, 3))
175-
# assert np.allclose(float_field.get_entity_data(1), np.array(range(6, 12)).reshape(2, 3))
176-
# vec = float_field._data_pointer
177-
# vec[1] = 9
178-
# vec[2] = 15
179-
# vec.commit()
180-
#
181-
# assert np.allclose(float_field.get_entity_data(0), np.array(range(0, 9)).reshape(3, 3))
182-
# assert np.allclose(float_field.get_entity_data(1), np.array(range(9, 15)).reshape(2, 3))
183-
# vec[1] = 6
184-
# vec[2] = 12
185-
# vec = None
186-
# assert np.allclose(float_field.get_entity_data(0), np.array(range(0, 6)).reshape(2, 3))
187-
# assert np.allclose(float_field.get_entity_data(1), np.array(range(6, 12)).reshape(2, 3))
117+
@conftest.raises_for_servers_version_under("5.0")
118+
def test_mutable_data_custom_type_field(server_clayer):
119+
field = dpf.core.CustomTypeField(np.float64, nentities=20, server=server_clayer)
120+
field_def = dpf.core.FieldDefinition(server=server_clayer)
121+
field_def.dimensionality = dpf.core.Dimensionality({3}, dpf.core.natures.vector)
122+
field.field_definition = field_def
123+
scop = dpf.core.Scoping(ids=[1, 2, 3, 4], location="faces", server=server_clayer)
124+
field.scoping = scop
125+
126+
data = np.empty((24,), dtype=np.float64)
127+
for i in range(0, 24):
128+
data[i] = i
129+
field.data = data
130+
field._data_pointer = [0, 6, 12, 18]
131+
132+
vec = field.get_entity_data(0)
133+
assert np.allclose(vec, np.array(range(0, 6)).reshape(2, 3))
134+
135+
vec[0][0] = 1
136+
vec[1][2] = 4
137+
138+
assert np.allclose(vec, np.array([1, 1, 2, 3, 4, 4]).reshape(2, 3))
139+
140+
vec.commit()
141+
142+
assert np.allclose(field.get_entity_data(0), np.array([1, 1, 2, 3, 4, 4]).reshape(2, 3))
143+
144+
vec = field.get_entity_data_by_id(2)
145+
assert np.allclose(vec, np.array(range(6, 12)).reshape(2, 3))
146+
147+
vec[0][0] = 1
148+
vec[1][2] = 4
149+
assert np.allclose(vec, np.array([1, 7, 8, 9, 10, 4]).reshape(2, 3))
150+
vec = None
151+
assert np.allclose(field.get_entity_data_by_id(2), np.array([1, 7, 8, 9, 10, 4]).reshape(2, 3)
152+
)
153+
154+
155+
# not using a fixture on purpose: the instance of simple field SHOULD be owned by each test
156+
def get_float_field(server_clayer):
157+
field = dpf.core.CustomTypeField(np.float64, nentities=20, server=server_clayer)
158+
field_def = dpf.core.FieldDefinition(server=server_clayer)
159+
field_def.dimensionality = dpf.core.Dimensionality({3}, dpf.core.natures.vector)
160+
field.field_definition = field_def
161+
scop = dpf.core.Scoping(ids=[1, 2, 3, 4], location="faces", server=server_clayer)
162+
field.scoping = scop
163+
164+
data = np.empty((24,), dtype=np.float64)
165+
for i in range(0, 24):
166+
data[i] = i
167+
field.data = data
168+
field._data_pointer = [0, 6, 12, 18]
169+
return field
170+
171+
172+
@conftest.raises_for_servers_version_under("5.0")
173+
def test_mutable_data_pointer_custom_type_field(server_clayer):
174+
float_field = get_float_field(server_clayer)
175+
assert np.allclose(float_field.get_entity_data(0), np.array(range(0, 6)).reshape(2, 3))
176+
assert np.allclose(float_field.get_entity_data(1), np.array(range(6, 12)).reshape(2, 3))
177+
vec = float_field._data_pointer
178+
vec[1] = 9
179+
vec[2] = 15
180+
vec.commit()
181+
182+
assert np.allclose(float_field.get_entity_data(0), np.array(range(0, 9)).reshape(3, 3))
183+
assert np.allclose(float_field.get_entity_data(1), np.array(range(9, 15)).reshape(2, 3))
184+
vec[1] = 6
185+
vec[2] = 12
186+
vec = None
187+
assert np.allclose(float_field.get_entity_data(0), np.array(range(0, 6)).reshape(2, 3))
188+
assert np.allclose(float_field.get_entity_data(1), np.array(range(6, 12)).reshape(2, 3))
188189

189190

190191
@conftest.raises_for_servers_version_under("5.0")

0 commit comments

Comments
 (0)