From 277c9c5f0516188b0e981c71ad427b301cf5bd04 Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Mon, 14 Apr 2025 14:56:38 +0300 Subject: [PATCH] tests: add 2 simpler tests, to isolate a s390x failure --- .../tests/generics/return_closure_f64_test.v | 20 +++++++++++++++++++ .../tests/generics/return_closure_int_test.v | 20 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 vlib/v/tests/generics/return_closure_f64_test.v create mode 100644 vlib/v/tests/generics/return_closure_int_test.v diff --git a/vlib/v/tests/generics/return_closure_f64_test.v b/vlib/v/tests/generics/return_closure_f64_test.v new file mode 100644 index 000000000..cb00dabb3 --- /dev/null +++ b/vlib/v/tests/generics/return_closure_f64_test.v @@ -0,0 +1,20 @@ +fn vectorize(op fn (f64) f64) fn ([]f64) []f64 { + return fn [op] (values []f64) []f64 { + mut result := []f64{len: values.len} + for i in 0 .. values.len { + result[i] = op(values[i]) + } + return result + } +} + +fn add_one(x f64) f64 { + return x + 1 +} + +fn test_return_generic_closure_f64() { + vadd1 := vectorize(add_one) + v1 := [1.0, 2, 3, 4] + println(vadd1(v1)) + assert vadd1(v1) == [2.0, 3, 4, 5] +} diff --git a/vlib/v/tests/generics/return_closure_int_test.v b/vlib/v/tests/generics/return_closure_int_test.v new file mode 100644 index 000000000..175cf97cb --- /dev/null +++ b/vlib/v/tests/generics/return_closure_int_test.v @@ -0,0 +1,20 @@ +fn vectorize(op fn (int) int) fn ([]int) []int { + return fn [op] (values []int) []int { + mut result := []int{len: values.len} + for i in 0 .. values.len { + result[i] = op(values[i]) + } + return result + } +} + +fn add_one(x int) int { + return x + 1 +} + +fn test_return_generic_closure_int() { + vadd1 := vectorize(add_one) + v1 := [1, 2, 3, 4] + println(vadd1(v1)) + assert vadd1(v1) == [2, 3, 4, 5] +} -- 2.39.5