binpash / pash

PaSh: Light-touch Data-Parallel Shell Processing
MIT License
552 stars 39 forks source link

Reorganize pash_runtime #665

Closed angelhof closed 1 year ago

github-actions[bot] commented 1 year ago

OS:ubuntu-20.04 Wed Apr 19 05:05:36 UTC 2023 intro: 2/2 tests passed. interface: 39/39 tests passed. compiler: 54/54 tests passed. agg: 109/109 tests passed.

github-actions[bot] commented 1 year ago
OS = Debian 10 CPU = Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz Ram = 15752 Hash = 00885b53 Kernel= Linux 4.15.0-197-generic x86_64 benchmark tests passed failed untested unresolved unsupported not_in_use other_status
posix 494 375 41 31 6 40 1 0
intro 2 2 0 0 0 0 0 0
interface 39 39 0 0 0 0 0 0
compiler 54 54 0 0 0 0 0 0
aggregator 109 109 0 0 0 0 0 0
github-actions[bot] commented 1 year ago

OS:ubuntu-20.04 Wed Apr 19 14:22:38 UTC 2023 intro: 2/2 tests passed. interface: 39/39 tests passed. compiler: 54/54 tests passed. agg: 109/109 tests passed.

github-actions[bot] commented 1 year ago

OS:ubuntu-20.04 Wed Apr 19 14:34:40 UTC 2023 intro: 2/2 tests passed. interface: 39/39 tests passed. compiler: 54/54 tests passed. agg: 109/109 tests passed.

github-actions[bot] commented 1 year ago

OS:ubuntu-20.04 Wed Apr 19 16:16:19 UTC 2023 intro: 2/2 tests passed. interface: 39/39 tests passed. compiler: 54/54 tests passed. agg: 109/109 tests passed.

github-actions[bot] commented 1 year ago

OS:ubuntu-20.04 Wed Apr 19 20:22:10 UTC 2023 intro: 2/2 tests passed. interface: 39/39 tests passed. compiler: 54/54 tests passed. agg: 109/109 tests passed.

github-actions[bot] commented 1 year ago

OS:ubuntu-20.04 Wed Apr 19 20:30:47 UTC 2023 intro: 2/2 tests passed. interface: 39/39 tests passed. compiler: 54/54 tests passed. agg: 109/109 tests passed.

github-actions[bot] commented 1 year ago

OS:ubuntu-20.04 Thu Apr 20 16:31:40 UTC 2023 intro: 2/2 tests passed. interface: 39/39 tests passed. compiler: 54/54 tests passed. agg: 109/109 tests passed.

github-actions[bot] commented 1 year ago
OS = Debian 10 CPU = Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz Ram = 15752 Hash = 991020ce Kernel= Linux 4.15.0-197-generic x86_64 benchmark tests passed failed untested unresolved unsupported not_in_use other_status
posix 494 374 42 31 6 40 1 0
intro 2 2 0 0 0 0 0 0
interface 39 39 0 0 0 0 0 0
compiler 54 54 0 0 0 0 0 0
aggregator 109 109 0 0 0 0 0 0
github-actions[bot] commented 1 year ago

OS:ubuntu-20.04 Fri Apr 21 13:58:38 UTC 2023 intro: 2/2 tests passed. interface: 40/40 tests passed. compiler: 54/54 tests passed. agg: 109/109 tests passed.

github-actions[bot] commented 1 year ago
OS = Debian 10 CPU = Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz Ram = 15752 Hash = fe8bb7fe Kernel= Linux 4.15.0-197-generic x86_64 benchmark tests passed failed untested unresolved unsupported not_in_use other_status
posix 494 375 41 31 6 40 1 0
intro 2 2 0 0 0 0 0 0
interface 40 40 0 0 0 0 0 0
compiler 54 54 0 0 0 0 0 0
aggregator 109 109 0 0 0 0 0 0
angelhof commented 1 year ago

This PR significantly cleans up the pash runtime. It is now ready to make it an external library. @mgree we can discuss the preferred interface of such a library at some point. What would be the most useful interface. I am thinking something along the lines of:

## Wraps a SCRIPT with a PRE and POST script while making sure to hide this wrapping from SCRIPT
##   by passing it the correct error code and propagating its error code outside while also not resetting `set` state
##   while executing the PRE and POST scripts.
wrap PRE_SCRIPT SCRIPT [POST_SCRIPT]

If we can think of a couple usecases too we can add a cute README and publicize this library as its own repo.