Wolfgang Bumiller
1adcd9727e
clippy fixes
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-07-30 15:46:55 +02:00
Wolfgang Bumiller
d2b6ea3f12
test: expose setenv, unsetenv and use_safe_putenv
...
mostly for local leak testing with valgrind
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-10-05 13:39:16 +02:00
Wolfgang Bumiller
d52abbde28
test 'boot' attribute
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-25 13:41:55 +02:00
Wolfgang Bumiller
56bb74b196
add ability to set the errno value
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-02 14:43:47 +02:00
Wolfgang Bumiller
2aa0c70d0d
macro: add serialize_error attribute
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-02 11:45:20 +02:00
Wolfgang Bumiller
76f6a079eb
clippy fixes
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-12-09 11:24:34 +01:00
Wolfgang Bumiller
218a1daf26
test: write modules at build time
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-29 10:55:41 +02:00
Wolfgang Bumiller
a43bf932c7
experimental direct substr support
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-24 11:43:33 +01:00
Wolfgang Bumiller
de0edd74e3
fix 'cv' type in test
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-22 12:50:45 +01:00
Wolfgang Bumiller
77171723e3
macro: expose the 'cv' as parameter on exports
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-07 09:12:00 +01:00
Wolfgang Bumiller
e68855945d
drop imports already in 2021 prelude
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-12-01 14:13:44 +01:00
Wolfgang Bumiller
381751a4e8
upgrade to edition 2021
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-12-01 13:48:40 +01:00
Wolfgang Bumiller
0044cdcef4
test trailing-optional parameters
...
we'll need proper tests to check that too few and too many
parameters actually trigger errors
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-25 10:17:34 +01:00
Wolfgang Bumiller
8932eaeb6b
test enum serialization
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-05 10:14:26 +01:00
Wolfgang Bumiller
1e46bfbe81
perlmod: magically call Drop handlers
...
magic classes now don't need to manually implement DESTROY
anymore
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-28 09:01:32 +02:00
Wolfgang Bumiller
1521415be3
magic tests
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 12:57:05 +02:00
Wolfgang Bumiller
d1743af5d8
update docs and let the bless test use Value::bless_box
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-19 10:32:51 +02:00
Wolfgang Bumiller
6ccbcbec1a
add reference deserialization test data
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-14 15:13:48 +02:00
Wolfgang Bumiller
245de6dd67
add RawValue and raw value serialization
...
perl Values are now generally serialized as *raw* values,
for *de*serialization this can be enforced via the RawValue
type
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-14 15:01:17 +02:00
Wolfgang Bumiller
814014b874
macro: support env vars in package attributes
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-13 12:52:02 +02:00
Fabian Ebner
93eaead22a
test for broken undef detection
...
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-19 09:02:59 +02:00
Wolfgang Bumiller
83ac604e08
test updates
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-02 11:33:05 +02:00
Wolfgang Bumiller
fa780264ca
update test files
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-23 10:58:31 +02:00
Wolfgang Bumiller
61143f5d12
experimental PVLV support
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-08 11:28:01 +02:00
Wolfgang Bumiller
705d6989ad
macro: support tuple return types in functions
...
These are now *list* return types in perl.
However, currently there is no support for 'wantarray' or
lists of dynamic length.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-02-16 10:39:37 +01:00
Wolfgang Bumiller
03644975f4
use try_from_ref in the example
...
to show how it's used
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-02-16 10:39:02 +01:00
Wolfgang Bumiller
aabc6479bb
"fix" the destructor macro
...
long story short: compiler restrictions
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-02-15 15:48:18 +01:00
Wolfgang Bumiller
144831b5ae
allow constants for class names in destructor macro
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-11-26 11:57:28 +01:00
Wolfgang Bumiller
89989b0f56
destructor macro and helpers for blessed objects
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-11-26 11:50:16 +01:00
Wolfgang Bumiller
2991a46a31
fix #[export(name=...)], drop deprecated make_package
...
The `make_package` macro is tedious to use. We now simply
depend on new-enough rustc for `package` to work.
The change to #[export] allows writing:
#[export(name = "DESTROY")]
fn destroy(#[raw] this: Value) { ... }
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-11-25 14:35:34 +01:00
Wolfgang Bumiller
ca00cfcc9a
nicer test for bless
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-11-25 12:23:34 +01:00
Wolfgang Bumiller
f3127578ad
destructors work...
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-11-24 11:18:36 +01:00
Wolfgang Bumiller
913a8a72ce
support functions without return values
...
this makes for surprisingly ugly code
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-11-24 11:05:55 +01:00
Wolfgang Bumiller
0cdb12e277
add support for raw parameters
...
#[export]
fn foo(#[raw] this: Value) -> Result<(), Error>;
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-11-24 10:36:03 +01:00
Wolfgang Bumiller
29e61fa65e
add 'raw_return' function attribute
...
A function declared with a raw_return attribute like this:
#[export(raw_return)]
fn foo() -> Result<Value, Error>;
will not perform serialization on the 'Value', but return
the "raw" value to perl. This allows returning blessed
values.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-11-24 09:37:59 +01:00
Wolfgang Bumiller
9525acd643
add some function name mangling to xs exports
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-10-16 11:08:50 +02:00
Wolfgang Bumiller
fb6b493d63
switch from failure to anyhow
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-04-20 12:38:49 +02:00
Wolfgang Bumiller
b813397be8
macro: derive library name from Cargo.toml
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-10 12:24:32 +01:00
Wolfgang Bumiller
8b8dd4a9c6
test: add explaining comment
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-10 10:49:33 +01:00
Wolfgang Bumiller
06a18771dd
make_package macro implementation
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-10 10:47:42 +01:00
Wolfgang Bumiller
f7cc8c37fc
import
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-09 15:01:14 +01:00