<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gh_mirror/jhunkeler/stasis.git/tests/test_conda.c, branch next</title>
<subtitle>A pipeline delivery generator
</subtitle>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/'/>
<entry>
<title>base and "based_on" installations shall hardcode the requested python version in the YAML config instead of trusting it</title>
<updated>2025-04-02T19:22:47+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2025-04-02T19:22:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=90755c85131cceb9f6d628703042129dc10dfca9'/>
<id>90755c85131cceb9f6d628703042129dc10dfca9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix leaks in test_conda.c</title>
<updated>2025-02-12T21:56:28+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2025-02-12T21:56:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=3746e6eec67e4e7a44fb7df78b8be15375448cd0'/>
<id>3746e6eec67e4e7a44fb7df78b8be15375448cd0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Initialize structs to {0} and combine declaration and assignment where possible</title>
<updated>2024-11-01T12:35:19+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-11-01T04:55:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=35d0480f743abaa5c2c332f513043edd7c59081c'/>
<id>35d0480f743abaa5c2c332f513043edd7c59081c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Generalize *_index_provides interface</title>
<updated>2024-10-24T20:21:36+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-10-24T20:21:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=4231ce4470fed52aca9afbe38c6b79a3d31b4136'/>
<id>4231ce4470fed52aca9afbe38c6b79a3d31b4136</id>
<content type='text'>
* Replaces conda_* and pip_* with pkg_index_provides
* Because this function can fail in so many ways I've added pkg_index_provides_strerror() and a detection macro PKG_INDEX_PROVIDES_FAILED() to make things easier
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Replaces conda_* and pip_* with pkg_index_provides
* Because this function can fail in so many ways I've added pkg_index_provides_strerror() and a detection macro PKG_INDEX_PROVIDES_FAILED() to make things easier
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests:</title>
<updated>2024-10-21T16:15:33+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-10-21T16:15:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=c2f4dafbb58a1348632d6a5accc703a1fa4871b7'/>
<id>c2f4dafbb58a1348632d6a5accc703a1fa4871b7</id>
<content type='text'>
* test_pip_index_provides
* test_conda_provides
* test_conda_get_active_environment
* test_delivery_gather_tool_versions

Fix tests:

* global.sysconfdir duplicates the environment string
* Use delivery_free()
* Use globals_free()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* test_pip_index_provides
* test_conda_provides
* test_conda_get_active_environment
* test_delivery_gather_tool_versions

Fix tests:

* global.sysconfdir duplicates the environment string
* Use delivery_free()
* Use globals_free()
</pre>
</div>
</content>
</entry>
<entry>
<title>Change signature:</title>
<updated>2024-10-21T16:11:05+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-10-21T16:11:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=5d21c2c6eab632cc519eb23e529c2d985ac04921'/>
<id>5d21c2c6eab632cc519eb23e529c2d985ac04921</id>
<content type='text'>
* delivery_gather_tool_versions now returns non-zero if unable to determine a tool's version
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* delivery_gather_tool_versions now returns non-zero if unable to determine a tool's version
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix includes</title>
<updated>2024-10-14T13:44:02+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-10-14T13:36:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=a29bca4b79f19e9f04420b545bdec27ddc99150c'/>
<id>a29bca4b79f19e9f04420b545bdec27ddc99150c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor structure</title>
<updated>2024-09-20T17:11:41+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-09-20T12:36:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=1999612a69a7947fb1b6fc45705299fe6db650ba'/>
<id>1999612a69a7947fb1b6fc45705299fe6db650ba</id>
<content type='text'>
* Break delivery.c into smaller components
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Break delivery.c into smaller components
</pre>
</div>
</content>
</entry>
<entry>
<title>Return of the INI refactor (#20)</title>
<updated>2024-08-08T16:45:05+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-08-08T16:45:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=c9579598c5a1b49f7fe8e353623175bf8f3cc236'/>
<id>c9579598c5a1b49f7fe8e353623175bf8f3cc236</id>
<content type='text'>
* Continuation of #19

* Fixes always_update_base_environment override bug added by PR #19

* Finish type hinting implementation

* ini_getval_* functions now able to affect rendering mode using INI_READ_RAW and INI_READ_RENDER
* Created pointers to deeply nested structures to increase readability
* Output from ini_write() is more consistent, with fewer errant spaces and line feeds
* Fixes accidental regression in #19. INIVAL_TYPE_STR_ARRAY never produced an array of pointers to char. This needs to be corrected in the future. i.e. It has always generated a new-line delimited string, not a StrList, or array.

* Fix strlist_append_tokenize

* original pointer is no longer modified
* token strings are stripped of leading space before appending to the list

* Use defines instead of magic numbers

* delivery_init: add render_mode argument

* test_conda: Add render mode

* test_ini: Add render mode

* Only add conda packages and wheels to the image

* docker images are saved to the packages directory and will be consumed by the image if present.

* Render template variables after bootstrapping the delivery</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Continuation of #19

* Fixes always_update_base_environment override bug added by PR #19

* Finish type hinting implementation

* ini_getval_* functions now able to affect rendering mode using INI_READ_RAW and INI_READ_RENDER
* Created pointers to deeply nested structures to increase readability
* Output from ini_write() is more consistent, with fewer errant spaces and line feeds
* Fixes accidental regression in #19. INIVAL_TYPE_STR_ARRAY never produced an array of pointers to char. This needs to be corrected in the future. i.e. It has always generated a new-line delimited string, not a StrList, or array.

* Fix strlist_append_tokenize

* original pointer is no longer modified
* token strings are stripped of leading space before appending to the list

* Use defines instead of magic numbers

* delivery_init: add render_mode argument

* test_conda: Add render mode

* test_ini: Add render mode

* Only add conda packages and wheels to the image

* docker images are saved to the packages directory and will be consumed by the image if present.

* Render template variables after bootstrapping the delivery</pre>
</div>
</content>
</entry>
<entry>
<title>Unit tests (#12)</title>
<updated>2024-07-15T14:07:25+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-07-15T14:07:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=07dc44efdc5c2fbc2b34c969e623d3b0bc0df15a'/>
<id>07dc44efdc5c2fbc2b34c969e623d3b0bc0df15a</id>
<content type='text'>
* Change return value of conda_setup_headless() from void to int

* Replace exit() with return;

* Return early if unpacking the micromamba binary fails

* Exit program when pointer to INIFILE is NULL.

* Validation function cannot otherwise proceed

* The way the logic is set up I've decided to duplicate the installation code for now until I find time to revise it

* The only meaningful difference between a "fresh start" and reusing the conda installation is a rmtree().

* Exposes STASIS_DOWNLOAD_TIMEOUT environment variable

* Sets the connection timeout for libcurl to 30, instead of 300.

* Export ini_section_create() function

* Add download() tests

* Add conda_*() tests

* Add boilerplate source file for test framework

* Fixes segfault reported by @GeorgeJCleary (#10)

* The key is now an array index. When key is -1, the env variable is not defined.

* Free resources only when continue on error is disabled (#11)

* Fix segfault due to premature shutdown/cleanup

* If conda_setup_headless cannot succeed, die

* Set STASIS_SYSCONFDIR for tests</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Change return value of conda_setup_headless() from void to int

* Replace exit() with return;

* Return early if unpacking the micromamba binary fails

* Exit program when pointer to INIFILE is NULL.

* Validation function cannot otherwise proceed

* The way the logic is set up I've decided to duplicate the installation code for now until I find time to revise it

* The only meaningful difference between a "fresh start" and reusing the conda installation is a rmtree().

* Exposes STASIS_DOWNLOAD_TIMEOUT environment variable

* Sets the connection timeout for libcurl to 30, instead of 300.

* Export ini_section_create() function

* Add download() tests

* Add conda_*() tests

* Add boilerplate source file for test framework

* Fixes segfault reported by @GeorgeJCleary (#10)

* The key is now an array index. When key is -1, the env variable is not defined.

* Free resources only when continue on error is disabled (#11)

* Fix segfault due to premature shutdown/cleanup

* If conda_setup_headless cannot succeed, die

* Set STASIS_SYSCONFDIR for tests</pre>
</div>
</content>
</entry>
</feed>
