<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gh_mirror/jhunkeler/stasis.git/tests, branch ini-list-indent</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>Tests: Free resources</title>
<updated>2024-08-07T16:13:07+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-08-07T16:13:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=a33f8a493349af9ec54be8039b9b00a645cdea4b'/>
<id>a33f8a493349af9ec54be8039b9b00a645cdea4b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixes readout of packages in delivery (#16)</title>
<updated>2024-07-31T14:02:30+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-07-31T14:02:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=d3a1a8a15a92bfbf16d99529ab1ef7d34b48f37f'/>
<id>d3a1a8a15a92bfbf16d99529ab1ef7d34b48f37f</id>
<content type='text'>
* Fixes readout of packages in delivery

* Now that the overview is displayed after deferred packages are filtered out of the main list, filtered packages were no longer displayed
* This combines the main list and deferred list for both conda, and pip packages.

* Read the main and deferred lists no matter what

* Use new style package definition in test config</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fixes readout of packages in delivery

* Now that the overview is displayed after deferred packages are filtered out of the main list, filtered packages were no longer displayed
* This combines the main list and deferred list for both conda, and pip packages.

* Read the main and deferred lists no matter what

* Use new style package definition in test config</pre>
</div>
</content>
</entry>
<entry>
<title>Version in package name (#15)</title>
<updated>2024-07-30T21:58:35+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-07-30T21:58:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=15eef8db2c06f536edee84fe524f5d8fcefd0a5f'/>
<id>15eef8db2c06f536edee84fe524f5d8fcefd0a5f</id>
<content type='text'>
* Compile test installation with debug symbols enabled

* Fix typo in environment variable name

* STASIS_GITHUB_TOKEN is supposed to be STASIS_GH_TOKEN

* Add pattern matching mode selector to get_wheel_file()

* Adds modes WHEEL_MATCH_EXACT and WHEEL_MATCH_ANY

* test block version key is now optional

* Now that *_packages lists define the package version through detection, because the end-result version cannot be guaranteed to be identical to the tag.

* Find the just-compiled package matching the name and version in the package list.
* If compiling master/main this can also match against post-commits (x.y.z.devN+hash)
* Versions are extracted from the package name in the list, only if a matching test block exists. Otherwise the string is passed through to pip directly.

* Changes indentation level of output

* Do not replace @PIP_ARGUMENTS@ with an artifactory URL unless artifactory is enabled

* Sequence change

* Build requested packages before executing tests. A necessary evil if test blocks are no longer responsible for setting the version data
* Show the delivery summary just before test execution, instead of at the start of the program

* Terminate package name at version operator when a package is filtered for testing</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Compile test installation with debug symbols enabled

* Fix typo in environment variable name

* STASIS_GITHUB_TOKEN is supposed to be STASIS_GH_TOKEN

* Add pattern matching mode selector to get_wheel_file()

* Adds modes WHEEL_MATCH_EXACT and WHEEL_MATCH_ANY

* test block version key is now optional

* Now that *_packages lists define the package version through detection, because the end-result version cannot be guaranteed to be identical to the tag.

* Find the just-compiled package matching the name and version in the package list.
* If compiling master/main this can also match against post-commits (x.y.z.devN+hash)
* Versions are extracted from the package name in the list, only if a matching test block exists. Otherwise the string is passed through to pip directly.

* Changes indentation level of output

* Do not replace @PIP_ARGUMENTS@ with an artifactory URL unless artifactory is enabled

* Sequence change

* Build requested packages before executing tests. A necessary evil if test blocks are no longer responsible for setting the version data
* Show the delivery summary just before test execution, instead of at the start of the program

* Terminate package name at version operator when a package is filtered for testing</pre>
</div>
</content>
</entry>
<entry>
<title>Regression tests, envctl, and bug fixes (#13)</title>
<updated>2024-07-20T15:56:16+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-07-20T15:56:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=9489d31f6314322d26ec43196284b94069d6cd3a'/>
<id>9489d31f6314322d26ec43196284b94069d6cd3a</id>
<content type='text'>
* Found too many bugs

* Implements a regression test
* Moves and completely refactors the envctl code
* Allows the user to keep @STR@ values in output files (if you want full control over where external packages comes from post-build)
* Fixes wording in a few places
* envctl redaction is not implemented yet. The original redaction code hasn't been modified.

* Use generic.ini instead of bare_minimum.ini</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Found too many bugs

* Implements a regression test
* Moves and completely refactors the envctl code
* Allows the user to keep @STR@ values in output files (if you want full control over where external packages comes from post-build)
* Fixes wording in a few places
* envctl redaction is not implemented yet. The original redaction code hasn't been modified.

* Use generic.ini instead of bare_minimum.ini</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>
<entry>
<title>Add github.c and github.h (#9)</title>
<updated>2024-07-06T13:49:51+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-07-06T13:49:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=8ce824ac4b2f526331093a7150e643700efd4d20'/>
<id>8ce824ac4b2f526331093a7150e643700efd4d20</id>
<content type='text'>
* Add github.c and github.h

* Implements get_github_release_notes()

* Remove unused variables

* Fix circular dependency on tplfunc_frame

* Remove predeclaration of tplfunc_frame
* tpl_register_func accepts pointer to void instead
* tpl_register_func sets maximum number of arguments
* Frame is generated within tpl_register_func

* Improve template function error handling and return/output management

* Remove redundant extern statement

* Include github.h and template_func_proto.h in core.h

* Expose get_github_release_notes_tplfunc_entrypoint function to template engine

* Add template_func_proto.c and template_func_proto.h

* Replace free() with guard variant

* Fix test_template::test_tpl_register_func

* Fix tests

* Fix tests

* cmd should be at least PATH_MAX in size.

* Magic number caused failure to install conda with a long installation path

* Implement get_github_release_notes_auto function that bases release note data off test contexts

* Disable overwriting releases by default

* Add automatic release note generation function call to release_notes.md.in

* Fix test_tpl_register_func()

* Add enough space for tar command plus a path

* Fix circular include

* Github functions do not require access to core.h anyway

* Add comments to union

* Update README to mention template function availability

* Add EnvCtl structure
* Add runtime checks to avoid running all the way to the end only to be met with a configuration error.
* Rename GITHUB to GH

* Development docs pre-rough-draft</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add github.c and github.h

* Implements get_github_release_notes()

* Remove unused variables

* Fix circular dependency on tplfunc_frame

* Remove predeclaration of tplfunc_frame
* tpl_register_func accepts pointer to void instead
* tpl_register_func sets maximum number of arguments
* Frame is generated within tpl_register_func

* Improve template function error handling and return/output management

* Remove redundant extern statement

* Include github.h and template_func_proto.h in core.h

* Expose get_github_release_notes_tplfunc_entrypoint function to template engine

* Add template_func_proto.c and template_func_proto.h

* Replace free() with guard variant

* Fix test_template::test_tpl_register_func

* Fix tests

* Fix tests

* cmd should be at least PATH_MAX in size.

* Magic number caused failure to install conda with a long installation path

* Implement get_github_release_notes_auto function that bases release note data off test contexts

* Disable overwriting releases by default

* Add automatic release note generation function call to release_notes.md.in

* Fix test_tpl_register_func()

* Add enough space for tar command plus a path

* Fix circular include

* Github functions do not require access to core.h anyway

* Add comments to union

* Update README to mention template function availability

* Add EnvCtl structure
* Add runtime checks to avoid running all the way to the end only to be met with a configuration error.
* Rename GITHUB to GH

* Development docs pre-rough-draft</pre>
</div>
</content>
</entry>
<entry>
<title>Rebrand OhMyCal (OMC) as STASIS (#7)</title>
<updated>2024-06-21T16:49:45+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-06-21T16:49:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=77a0276d9f37bcf828c77f9bcc59ff945116274e'/>
<id>77a0276d9f37bcf828c77f9bcc59ff945116274e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Unit tests (#6)</title>
<updated>2024-06-20T19:10:56+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-06-20T19:10:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=931ee28eb9c5b5e3c2b0d3008f5f65d810dc9b0c'/>
<id>931ee28eb9c5b5e3c2b0d3008f5f65d810dc9b0c</id>
<content type='text'>
* Initial commit of unit tests [WIP]

* Address shortcomings and bugs flushed out by unit tests

* Enable unit testing in CI workflow

* Enable verbose ctests

* Handle lack of __FILE_NAME__ define

* Only podman support `run --arch` argument

* Skip docker build testing if CI system cannot pull an image

* Remove errant call to puts()

* Identify local repo user

* Fix missing xmllint

* NULL terminate arrays

* Fix filename assignment in is_url mode

* Break loop when expected lines are exhausted

* strcmp_array expects NULL terminated array. Iterating by size in this case passes NULL to strcmp leading to an invalid read

* Remove debug printf statements

* Disable a few warnings for tests

* Workaround for ctest junit xml truncation

* Update checkout@v4

* Prevent false-positive result

* Return zero on error

* Fix strlist_remove function

* Value argument can be constant

* Fix test to match changes to startswith and endswith

* Add test_ini.c

* Fix redaction code to accept NULL pointers in array

* And let the caller specify the length of the array of strings to redact.

* Redactions now occur directly on authentication strings rather than their command line arguments

* Fix BUILD_TESTING_DEBUG

* Adds missing -D argument</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Initial commit of unit tests [WIP]

* Address shortcomings and bugs flushed out by unit tests

* Enable unit testing in CI workflow

* Enable verbose ctests

* Handle lack of __FILE_NAME__ define

* Only podman support `run --arch` argument

* Skip docker build testing if CI system cannot pull an image

* Remove errant call to puts()

* Identify local repo user

* Fix missing xmllint

* NULL terminate arrays

* Fix filename assignment in is_url mode

* Break loop when expected lines are exhausted

* strcmp_array expects NULL terminated array. Iterating by size in this case passes NULL to strcmp leading to an invalid read

* Remove debug printf statements

* Disable a few warnings for tests

* Workaround for ctest junit xml truncation

* Update checkout@v4

* Prevent false-positive result

* Return zero on error

* Fix strlist_remove function

* Value argument can be constant

* Fix test to match changes to startswith and endswith

* Add test_ini.c

* Fix redaction code to accept NULL pointers in array

* And let the caller specify the length of the array of strings to redact.

* Redactions now occur directly on authentication strings rather than their command line arguments

* Fix BUILD_TESTING_DEBUG

* Adds missing -D argument</pre>
</div>
</content>
</entry>
</feed>
