Skip to content

test: Added Adaptor integration tests to validate opening and closing of Houdini.#335

Open
erico-aws wants to merge 1 commit intoaws-deadline:mainlinefrom
erico-aws:houdini-integ-tests
Open

test: Added Adaptor integration tests to validate opening and closing of Houdini.#335
erico-aws wants to merge 1 commit intoaws-deadline:mainlinefrom
erico-aws:houdini-integ-tests

Conversation

@erico-aws
Copy link
Contributor

What was the problem/requirement? (What/Why)

There is no integration test for checking that the adaptor can start and stop Houdini. The minimal render tests partially cover this by starting Houdini but we never check that the adaptor closes Houdini when complete.

What was the solution? (How)

Added a few tests to check starting Houdini and closing it. Cancel should close Houdini and the same behaviour should be scene when running as a daemon.

What is the impact of this change?

More confidence in the Adaptors control over the Houdini process.

How was this change tested?

Ran tests:

Please run the integration tests and paste the results below.

bash-5.2$ hatch run integ:test
================================================================================================================ test session starts =================================================================================================================
platform darwin -- Python 3.10.8, pytest-8.4.2, pluggy-1.6.0 -- /Users/erico/Library/Application Support/hatch/env/virtual/deadline-cloud-for-houdini/RJSCNW7O/integ/bin/python
cachedir: .pytest_cache
rootdir: /Volumes/workplace/forks/deadline-cloud-for-houdini
configfile: pyproject.toml
plugins: xdist-3.8.0, cov-7.0.0
1 worker [9 items]     
scheduling tests via LoadScheduling

test/integ/test_houdini_adaptors.py::TestAdaptors::test_minimal_scene_adaptor 
[gw0] [ 11%] PASSED test/integ/test_houdini_adaptors.py::TestAdaptors::test_minimal_scene_adaptor 
test/integ/test_houdini_adaptors.py::TestAdaptors::test_wedge_node_adaptor 
[gw0] [ 22%] PASSED test/integ/test_houdini_adaptors.py::TestAdaptors::test_wedge_node_adaptor 
test/integ/test_houdini_adaptors.py::TestAdaptors::test_render_dependencies_adaptor 
[gw0] [ 33%] PASSED test/integ/test_houdini_adaptors.py::TestAdaptors::test_render_dependencies_adaptor 
test/integ/test_houdini_adaptors.py::TestAdaptors::test_adaptor_open_close 
[gw0] [ 44%] PASSED test/integ/test_houdini_adaptors.py::TestAdaptors::test_adaptor_open_close 
test/integ/test_houdini_adaptors.py::TestAdaptors::test_adaptor_cancel_closes_houdini 
[gw0] [ 55%] PASSED test/integ/test_houdini_adaptors.py::TestAdaptors::test_adaptor_cancel_closes_houdini 
test/integ/test_houdini_adaptors.py::TestAdaptors::test_adaptor_daemon_open_close 
[gw0] [ 66%] PASSED test/integ/test_houdini_adaptors.py::TestAdaptors::test_adaptor_daemon_open_close 
test/integ/test_houdini_submitters.py::TestSubmitters::test_minimal_scene_submitter 
[gw0] [ 77%] PASSED test/integ/test_houdini_submitters.py::TestSubmitters::test_minimal_scene_submitter 
test/integ/test_houdini_submitters.py::TestSubmitters::test_wedge_node_submitter 
[gw0] [ 88%] PASSED test/integ/test_houdini_submitters.py::TestSubmitters::test_wedge_node_submitter 
test/integ/test_houdini_submitters.py::TestSubmitters::test_render_dependencies_submitter 
[gw0] [100%] PASSED test/integ/test_houdini_submitters.py::TestSubmitters::test_render_dependencies_submitter 

================================================================================================================ slowest 5 durations =================================================================================================================
140.66s call     test/integ/test_houdini_adaptors.py::TestAdaptors::test_render_dependencies_adaptor
94.70s call     test/integ/test_houdini_adaptors.py::TestAdaptors::test_wedge_node_adaptor
81.38s call     test/integ/test_houdini_adaptors.py::TestAdaptors::test_minimal_scene_adaptor
37.52s call     test/integ/test_houdini_adaptors.py::TestAdaptors::test_adaptor_daemon_open_close
32.49s call     test/integ/test_houdini_adaptors.py::TestAdaptors::test_adaptor_open_close
=========================================================================================================== 9 passed in 479.34s (0:07:59) ============================================================================================================

Was this change documented?

No

Is this a breaking change?

No


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@erico-aws erico-aws requested a review from a team as a code owner January 19, 2026 20:13
@github-actions github-actions bot added the waiting-on-maintainers Waiting on the maintainers to review. label Jan 19, 2026
# Stop daemon
if connection_file.exists():
stop_cmd = [
"blender-openjd",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be houdini-openjd

Comment on lines +242 to +244
assert (
stop_process.returncode == 0
), f"Daemon stop failed: {stop_process.stderr}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we include some kind of process cleanup if this assert fails?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think OpenJD gives us the daemon's process id, so I'm not sure that we can clean it up if this fails.

@erico-aws erico-aws force-pushed the houdini-integ-tests branch from 6e80c34 to b719210 Compare January 20, 2026 21:45
… of Houdini.

Signed-off-by: Eric Osiowy <134728121+erico-aws@users.noreply.github.com>
@erico-aws erico-aws force-pushed the houdini-integ-tests branch from b719210 to 1f15ae7 Compare January 20, 2026 21:55
@sonarqubecloud
Copy link

@epmog epmog removed the waiting-on-maintainers Waiting on the maintainers to review. label Feb 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants