aboutsummaryrefslogtreecommitdiff
path: root/src/template_func_proto.c
Commit message (Collapse)AuthorAgeFilesLines
* Refactor directory structureJoseph Hunkeler2024-10-141-158/+0
| | | | | * Move core library sources into src/lib/core * Move command-line programs into src/cli
* Fix leaking of basetemp_path and jxml_path on errorJoseph Hunkeler2024-09-301-0/+3
| | | | * Reported by @kmacdonald-stsci
* Die if the current working directory cannot be determinedJoseph Hunkeler2024-09-201-2/+8
|
* Implement multiprocessing pool(s)Joseph Hunkeler2024-09-181-0/+37
| | | | | * Adds --cpu-limit and --parallel-fail-fast arguments * Adds disable, parallel, and setup_script keys to [test] blocks
* Add template convience functions (and bug fixes) (#29)Joseph Hunkeler2024-08-151-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | * Die when render variable is NULL * This was caught when a call to {{ func:xyz() }} lacked opening/closing parenthesis * Scripts in tests should only render template strings right before execution * Remove conda version pin * This avoids updating conda in the base environment * This also avoids pitfalls associated with newly released (always broken) versions of conda * Add two template convenience functions * get_junitxml_result_auto() * get_basetemp_result_auto() * Handle rendering error for test script * Rename functions * get_junitxml_result_auto -> junitxml_file * get_basetemp_result_auto -> basetemp_dir * Thank you, @zacharyburnett
* Fix leaks in tpl functions (#18)Joseph Hunkeler2024-08-071-0/+3
| | | | | | | | * Free the function key string in tplfunc_frame during tpl_free() * Fix leaks in get_github_release_notes_auto_tplfunc_entrypoint(): * Free repository name * Free list of release notes
* Version in package name (#15)Joseph Hunkeler2024-07-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Add github.c and github.h (#9)Joseph Hunkeler2024-07-061-0/+65
* 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