diff options
Diffstat (limited to 'examples/redis-unstable/tests/vectorset')
| -rw-r--r-- | examples/redis-unstable/tests/vectorset/vectorset.tcl | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/examples/redis-unstable/tests/vectorset/vectorset.tcl b/examples/redis-unstable/tests/vectorset/vectorset.tcl new file mode 100644 index 0000000..1a1059b --- /dev/null +++ b/examples/redis-unstable/tests/vectorset/vectorset.tcl @@ -0,0 +1,46 @@ +proc check_python_environment {} { + set ret [catch {exec sh -c "which python3 || which python" 2>@1} python_cmd] + if {$ret != 0} { + return "" + } + + # Check if redis-py is installed + # Use a more robust way to check redis module + set ret [catch {exec $python_cmd -c "import redis" 2>@1} e] + if {$ret != 0} { + return "" + } + + return $python_cmd +} + +start_server {} { + set slave_port [srv 0 port] + + start_server {} { + set master_port [srv 0 port] + + test {Vector set Python test execution} { + set python_cmd [check_python_environment] + if {$python_cmd eq ""} { + puts "Python or redis-py module not found, skipping vectorset tests" + } else { + # Run the Python script with real-time output + puts "Running vectorset tests ..." + puts "Vectorset test output:" + + set pipe [open "|$python_cmd modules/vector-sets/test.py --primary-port $master_port --replica-port $slave_port 2>@1" r] + # Read output line by line in real-time + while {[gets $pipe line] >= 0} { + puts $line + } + + # Close pipe and check for errors + set result [catch {close $pipe} close_error] + if {$result != 0} { + fail "Vector set Python test failed: $close_error" + } + } + } + } +} |
