Ritik Ranjan 1b2079ffdb
[FIX] #15813 passing infinity to random float generate causes error (#15818)
# Description

This pull request addresses an issue#15813 where passing a infinite
value in the random float 1.. command that causes a panic in the shell.
The root cause of this problem lies within the rng library, which is
responsible for generating random numbers.

Before

![image](https://github.com/user-attachments/assets/5416e23d-d5a2-40ed-aa9f-4ff46d0e5583)

# User-Facing Changes
Users where seeing panic error when passed unbounded end into range.

# Tests + Formatting
added `generate_inf`

# After Submitting

![image](https://github.com/user-attachments/assets/8453ffad-ad94-44bf-aec4-8d1090842f32)
No error should be there after 

Edit history
1. Updated `After Submitting` section

---------

Co-authored-by: Ritik Ranjan <e02948@ritik.ranjan@hsc.com>
2025-05-27 19:25:50 +02:00

33 lines
677 B
Rust

use nu_test_support::nu;
#[test]
fn generates_a_float() {
let actual = nu!("random float 42..43");
// Attention: this relies on the string output
assert!(actual.out.starts_with("42") || actual.out.starts_with("43"));
let actual = nu!("random float 42..43 | describe");
assert_eq!(actual.out, "float")
}
#[test]
fn generates_55() {
let actual = nu!("random float 55..55");
assert!(actual.out.contains("55"));
}
#[test]
fn generates_0() {
let actual = nu!("random float ..<1");
assert!(actual.out.contains('0'));
}
#[test]
fn generate_inf() {
let actual = nu!("random float 1.. | describe");
assert_eq!(actual.out, "float");
}