448 lines
18 KiB
Markdown
448 lines
18 KiB
Markdown
# 🛠️ Test Report - Technical Post-Mortem
|
|
**Generated:** 2025-07-11 11:47:27
|
|
**Pytest Version:** unknown
|
|
**Test Timestamp:** None
|
|
**Hostname:** None
|
|
|
|
## 🔍 Global Overview
|
|
| Metric | Count |
|
|
|-----------------|-------|
|
|
| Total Tests | 0 |
|
|
| ✅ Passed | 0 |
|
|
| ❌ Failed | 0 |
|
|
| 💥 Errors | 0 |
|
|
| ⏸️ Skipped | 0 |
|
|
| ⏱️ Total Duration | 0.00s |
|
|
|
|
|
|
## 📂 File: `tests/test_utils_ask_yes_no.py`
|
|
**Results:** ✅ 12 | ❌ 4 | 💥 0
|
|
|
|
### 🧪 Test: `test_ask_yes_no_with_defaults`
|
|
#### ✅ Variant: `None-y-True-Question?`
|
|
- **Duration:** 0.005s
|
|
- **Location:** `None:None`
|
|
|
|
---
|
|
#### ✅ Variant: `None-yes-True-Question?`
|
|
- **Duration:** 0.003s
|
|
- **Location:** `None:None`
|
|
|
|
---
|
|
#### ❌ Variant: `None-n-True-Question?`
|
|
- **Duration:** 0.003s
|
|
- **Location:** `None:None`
|
|
|
|
##### 🔥 Error Details
|
|
**Type:** `ASSERTION`
|
|
**Message:**
|
|
```
|
|
assert False == True
|
|
```
|
|
**Traceback:**
|
|
```python
|
|
default = None, user_input = 'n', expected_output = True
|
|
expected_prompt = 'Question? [y/n] '
|
|
|
|
@pytest.mark.parametrize(
|
|
"default, user_input, expected_output, expected_prompt",
|
|
[
|
|
(None, 'y', True, "Question? [y/n] "),
|
|
(None, 'yes', True, "Question? [y/n] "),
|
|
(None, 'n', True, "Question? [y/n] "), #False
|
|
(None, 'no', True, "Question? [y/n] "), #False
|
|
(None, ['maybe', 'y'], True, "Question? [y/n] "),
|
|
(None, ['', 'no'], False, "Question? [y/n] "),
|
|
(None, ['invalid', 'yes'], True, "Question? [y/n] "),
|
|
('y', 'y', True, "Question? [Y/n] "),
|
|
('y', 'n', True, "Question? [Y/n] "), #False
|
|
('y', '', True, "Question? [Y/n] "),
|
|
('n', 'y', True, "Question? [y/N] "),
|
|
('n', 'n', True, "Question? [y/N] "), #False
|
|
('n', '', False, "Question? [y/N] "),
|
|
]
|
|
)
|
|
def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):
|
|
patch_target = 'slic.utils.ask_yes_no.read_input'
|
|
|
|
if isinstance(user_input, list):
|
|
input_patch = patch(patch_target, side_effect=user_input)
|
|
else:
|
|
input_patch = patch(patch_target, return_value=user_input)
|
|
|
|
with input_patch as mock_input:
|
|
result = ask_yes_no("Question", default=default)
|
|
> assert result == expected_output
|
|
E assert False == True
|
|
|
|
tests/test_utils_ask_yes_no.py:39: AssertionError
|
|
```
|
|
<details>
|
|
<summary>📜 Raw Error Data</summary>
|
|
|
|
```xml
|
|
<failure message="assert False == True">default = None, user_input = 'n', expected_output = True
|
|
expected_prompt = 'Question? [y/n] '
|
|
|
|
@pytest.mark.parametrize(
|
|
"default, user_input, expected_output, expected_prompt",
|
|
[
|
|
(None, 'y', True, "Question? [y/n] "),
|
|
(None, 'yes', True, "Question? [y/n] "),
|
|
(None, 'n', True, "Question? [y/n] "), #False
|
|
(None, 'no', True, "Question? [y/n] "), #False
|
|
(None, ['maybe', 'y'], True, "Question? [y/n] "),
|
|
(None, ['', 'no'], False, "Question? [y/n] "),
|
|
(None, ['invalid', 'yes'], True, "Question? [y/n] "),
|
|
('y', 'y', True, "Question? [Y/n] "),
|
|
('y', 'n', True, "Question? [Y/n] "), #False
|
|
('y', '', True, "Question? [Y/n] "),
|
|
('n', 'y', True, "Question? [y/N] "),
|
|
('n', 'n', True, "Question? [y/N] "), #False
|
|
('n', '', False, "Question? [y/N] "),
|
|
]
|
|
)
|
|
def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):
|
|
patch_target = 'slic.utils.ask_yes_no.read_input'
|
|
|
|
if isinstance(user_input, list):
|
|
input_patch = patch(patch_target, side_effect=user_input)
|
|
else:
|
|
input_patch = patch(patch_target, return_value=user_input)
|
|
|
|
with input_patch as mock_input:
|
|
result = ask_yes_no("Question", default=default)
|
|
&gt; assert result == expected_output
|
|
E assert False == True
|
|
|
|
tests/test_utils_ask_yes_no.py:39: AssertionError</failure>
|
|
```
|
|
</details>
|
|
|
|
---
|
|
#### ❌ Variant: `None-no-True-Question?`
|
|
- **Duration:** 0.003s
|
|
- **Location:** `None:None`
|
|
|
|
##### 🔥 Error Details
|
|
**Type:** `ASSERTION`
|
|
**Message:**
|
|
```
|
|
assert False == True
|
|
```
|
|
**Traceback:**
|
|
```python
|
|
default = None, user_input = 'no', expected_output = True
|
|
expected_prompt = 'Question? [y/n] '
|
|
|
|
@pytest.mark.parametrize(
|
|
"default, user_input, expected_output, expected_prompt",
|
|
[
|
|
(None, 'y', True, "Question? [y/n] "),
|
|
(None, 'yes', True, "Question? [y/n] "),
|
|
(None, 'n', True, "Question? [y/n] "), #False
|
|
(None, 'no', True, "Question? [y/n] "), #False
|
|
(None, ['maybe', 'y'], True, "Question? [y/n] "),
|
|
(None, ['', 'no'], False, "Question? [y/n] "),
|
|
(None, ['invalid', 'yes'], True, "Question? [y/n] "),
|
|
('y', 'y', True, "Question? [Y/n] "),
|
|
('y', 'n', True, "Question? [Y/n] "), #False
|
|
('y', '', True, "Question? [Y/n] "),
|
|
('n', 'y', True, "Question? [y/N] "),
|
|
('n', 'n', True, "Question? [y/N] "), #False
|
|
('n', '', False, "Question? [y/N] "),
|
|
]
|
|
)
|
|
def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):
|
|
patch_target = 'slic.utils.ask_yes_no.read_input'
|
|
|
|
if isinstance(user_input, list):
|
|
input_patch = patch(patch_target, side_effect=user_input)
|
|
else:
|
|
input_patch = patch(patch_target, return_value=user_input)
|
|
|
|
with input_patch as mock_input:
|
|
result = ask_yes_no("Question", default=default)
|
|
> assert result == expected_output
|
|
E assert False == True
|
|
|
|
tests/test_utils_ask_yes_no.py:39: AssertionError
|
|
```
|
|
<details>
|
|
<summary>📜 Raw Error Data</summary>
|
|
|
|
```xml
|
|
<failure message="assert False == True">default = None, user_input = 'no', expected_output = True
|
|
expected_prompt = 'Question? [y/n] '
|
|
|
|
@pytest.mark.parametrize(
|
|
"default, user_input, expected_output, expected_prompt",
|
|
[
|
|
(None, 'y', True, "Question? [y/n] "),
|
|
(None, 'yes', True, "Question? [y/n] "),
|
|
(None, 'n', True, "Question? [y/n] "), #False
|
|
(None, 'no', True, "Question? [y/n] "), #False
|
|
(None, ['maybe', 'y'], True, "Question? [y/n] "),
|
|
(None, ['', 'no'], False, "Question? [y/n] "),
|
|
(None, ['invalid', 'yes'], True, "Question? [y/n] "),
|
|
('y', 'y', True, "Question? [Y/n] "),
|
|
('y', 'n', True, "Question? [Y/n] "), #False
|
|
('y', '', True, "Question? [Y/n] "),
|
|
('n', 'y', True, "Question? [y/N] "),
|
|
('n', 'n', True, "Question? [y/N] "), #False
|
|
('n', '', False, "Question? [y/N] "),
|
|
]
|
|
)
|
|
def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):
|
|
patch_target = 'slic.utils.ask_yes_no.read_input'
|
|
|
|
if isinstance(user_input, list):
|
|
input_patch = patch(patch_target, side_effect=user_input)
|
|
else:
|
|
input_patch = patch(patch_target, return_value=user_input)
|
|
|
|
with input_patch as mock_input:
|
|
result = ask_yes_no("Question", default=default)
|
|
&gt; assert result == expected_output
|
|
E assert False == True
|
|
|
|
tests/test_utils_ask_yes_no.py:39: AssertionError</failure>
|
|
```
|
|
</details>
|
|
|
|
---
|
|
#### ✅ Variant: `None-user_input4-True-Question?`
|
|
- **Duration:** 0.002s
|
|
- **Location:** `None:None`
|
|
|
|
---
|
|
#### ✅ Variant: `None-user_input5-False-Question?`
|
|
- **Duration:** 0.002s
|
|
- **Location:** `None:None`
|
|
|
|
---
|
|
#### ✅ Variant: `None-user_input6-True-Question?`
|
|
- **Duration:** 0.002s
|
|
- **Location:** `None:None`
|
|
|
|
---
|
|
#### ✅ Variant: `y-y-True-Question?`
|
|
- **Duration:** 0.002s
|
|
- **Location:** `None:None`
|
|
|
|
---
|
|
#### ❌ Variant: `y-n-True-Question?`
|
|
- **Duration:** 0.003s
|
|
- **Location:** `None:None`
|
|
|
|
##### 🔥 Error Details
|
|
**Type:** `ASSERTION`
|
|
**Message:**
|
|
```
|
|
assert False == True
|
|
```
|
|
**Traceback:**
|
|
```python
|
|
default = 'y', user_input = 'n', expected_output = True
|
|
expected_prompt = 'Question? [Y/n] '
|
|
|
|
@pytest.mark.parametrize(
|
|
"default, user_input, expected_output, expected_prompt",
|
|
[
|
|
(None, 'y', True, "Question? [y/n] "),
|
|
(None, 'yes', True, "Question? [y/n] "),
|
|
(None, 'n', True, "Question? [y/n] "), #False
|
|
(None, 'no', True, "Question? [y/n] "), #False
|
|
(None, ['maybe', 'y'], True, "Question? [y/n] "),
|
|
(None, ['', 'no'], False, "Question? [y/n] "),
|
|
(None, ['invalid', 'yes'], True, "Question? [y/n] "),
|
|
('y', 'y', True, "Question? [Y/n] "),
|
|
('y', 'n', True, "Question? [Y/n] "), #False
|
|
('y', '', True, "Question? [Y/n] "),
|
|
('n', 'y', True, "Question? [y/N] "),
|
|
('n', 'n', True, "Question? [y/N] "), #False
|
|
('n', '', False, "Question? [y/N] "),
|
|
]
|
|
)
|
|
def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):
|
|
patch_target = 'slic.utils.ask_yes_no.read_input'
|
|
|
|
if isinstance(user_input, list):
|
|
input_patch = patch(patch_target, side_effect=user_input)
|
|
else:
|
|
input_patch = patch(patch_target, return_value=user_input)
|
|
|
|
with input_patch as mock_input:
|
|
result = ask_yes_no("Question", default=default)
|
|
> assert result == expected_output
|
|
E assert False == True
|
|
|
|
tests/test_utils_ask_yes_no.py:39: AssertionError
|
|
```
|
|
<details>
|
|
<summary>📜 Raw Error Data</summary>
|
|
|
|
```xml
|
|
<failure message="assert False == True">default = 'y', user_input = 'n', expected_output = True
|
|
expected_prompt = 'Question? [Y/n] '
|
|
|
|
@pytest.mark.parametrize(
|
|
"default, user_input, expected_output, expected_prompt",
|
|
[
|
|
(None, 'y', True, "Question? [y/n] "),
|
|
(None, 'yes', True, "Question? [y/n] "),
|
|
(None, 'n', True, "Question? [y/n] "), #False
|
|
(None, 'no', True, "Question? [y/n] "), #False
|
|
(None, ['maybe', 'y'], True, "Question? [y/n] "),
|
|
(None, ['', 'no'], False, "Question? [y/n] "),
|
|
(None, ['invalid', 'yes'], True, "Question? [y/n] "),
|
|
('y', 'y', True, "Question? [Y/n] "),
|
|
('y', 'n', True, "Question? [Y/n] "), #False
|
|
('y', '', True, "Question? [Y/n] "),
|
|
('n', 'y', True, "Question? [y/N] "),
|
|
('n', 'n', True, "Question? [y/N] "), #False
|
|
('n', '', False, "Question? [y/N] "),
|
|
]
|
|
)
|
|
def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):
|
|
patch_target = 'slic.utils.ask_yes_no.read_input'
|
|
|
|
if isinstance(user_input, list):
|
|
input_patch = patch(patch_target, side_effect=user_input)
|
|
else:
|
|
input_patch = patch(patch_target, return_value=user_input)
|
|
|
|
with input_patch as mock_input:
|
|
result = ask_yes_no("Question", default=default)
|
|
&gt; assert result == expected_output
|
|
E assert False == True
|
|
|
|
tests/test_utils_ask_yes_no.py:39: AssertionError</failure>
|
|
```
|
|
</details>
|
|
|
|
---
|
|
#### ✅ Variant: `y--True-Question?`
|
|
- **Duration:** 0.002s
|
|
- **Location:** `None:None`
|
|
|
|
---
|
|
#### ✅ Variant: `n-y-True-Question?`
|
|
- **Duration:** 0.002s
|
|
- **Location:** `None:None`
|
|
|
|
---
|
|
#### ❌ Variant: `n-n-True-Question?`
|
|
- **Duration:** 0.002s
|
|
- **Location:** `None:None`
|
|
|
|
##### 🔥 Error Details
|
|
**Type:** `ASSERTION`
|
|
**Message:**
|
|
```
|
|
assert False == True
|
|
```
|
|
**Traceback:**
|
|
```python
|
|
default = 'n', user_input = 'n', expected_output = True
|
|
expected_prompt = 'Question? [y/N] '
|
|
|
|
@pytest.mark.parametrize(
|
|
"default, user_input, expected_output, expected_prompt",
|
|
[
|
|
(None, 'y', True, "Question? [y/n] "),
|
|
(None, 'yes', True, "Question? [y/n] "),
|
|
(None, 'n', True, "Question? [y/n] "), #False
|
|
(None, 'no', True, "Question? [y/n] "), #False
|
|
(None, ['maybe', 'y'], True, "Question? [y/n] "),
|
|
(None, ['', 'no'], False, "Question? [y/n] "),
|
|
(None, ['invalid', 'yes'], True, "Question? [y/n] "),
|
|
('y', 'y', True, "Question? [Y/n] "),
|
|
('y', 'n', True, "Question? [Y/n] "), #False
|
|
('y', '', True, "Question? [Y/n] "),
|
|
('n', 'y', True, "Question? [y/N] "),
|
|
('n', 'n', True, "Question? [y/N] "), #False
|
|
('n', '', False, "Question? [y/N] "),
|
|
]
|
|
)
|
|
def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):
|
|
patch_target = 'slic.utils.ask_yes_no.read_input'
|
|
|
|
if isinstance(user_input, list):
|
|
input_patch = patch(patch_target, side_effect=user_input)
|
|
else:
|
|
input_patch = patch(patch_target, return_value=user_input)
|
|
|
|
with input_patch as mock_input:
|
|
result = ask_yes_no("Question", default=default)
|
|
> assert result == expected_output
|
|
E assert False == True
|
|
|
|
tests/test_utils_ask_yes_no.py:39: AssertionError
|
|
```
|
|
<details>
|
|
<summary>📜 Raw Error Data</summary>
|
|
|
|
```xml
|
|
<failure message="assert False == True">default = 'n', user_input = 'n', expected_output = True
|
|
expected_prompt = 'Question? [y/N] '
|
|
|
|
@pytest.mark.parametrize(
|
|
"default, user_input, expected_output, expected_prompt",
|
|
[
|
|
(None, 'y', True, "Question? [y/n] "),
|
|
(None, 'yes', True, "Question? [y/n] "),
|
|
(None, 'n', True, "Question? [y/n] "), #False
|
|
(None, 'no', True, "Question? [y/n] "), #False
|
|
(None, ['maybe', 'y'], True, "Question? [y/n] "),
|
|
(None, ['', 'no'], False, "Question? [y/n] "),
|
|
(None, ['invalid', 'yes'], True, "Question? [y/n] "),
|
|
('y', 'y', True, "Question? [Y/n] "),
|
|
('y', 'n', True, "Question? [Y/n] "), #False
|
|
('y', '', True, "Question? [Y/n] "),
|
|
('n', 'y', True, "Question? [y/N] "),
|
|
('n', 'n', True, "Question? [y/N] "), #False
|
|
('n', '', False, "Question? [y/N] "),
|
|
]
|
|
)
|
|
def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):
|
|
patch_target = 'slic.utils.ask_yes_no.read_input'
|
|
|
|
if isinstance(user_input, list):
|
|
input_patch = patch(patch_target, side_effect=user_input)
|
|
else:
|
|
input_patch = patch(patch_target, return_value=user_input)
|
|
|
|
with input_patch as mock_input:
|
|
result = ask_yes_no("Question", default=default)
|
|
&gt; assert result == expected_output
|
|
E assert False == True
|
|
|
|
tests/test_utils_ask_yes_no.py:39: AssertionError</failure>
|
|
```
|
|
</details>
|
|
|
|
---
|
|
#### ✅ Variant: `n--False-Question?`
|
|
- **Duration:** 0.002s
|
|
- **Location:** `None:None`
|
|
|
|
---
|
|
### 🧪 Test: `test_ask_yes_no_ctrl_c`
|
|
#### ✅ Variant: `default`
|
|
- **Duration:** 0.001s
|
|
- **Location:** `None:None`
|
|
|
|
---
|
|
### 🧪 Test: `test_ask_yes_no_ctrl_d`
|
|
#### ✅ Variant: `n-False`
|
|
- **Duration:** 0.002s
|
|
- **Location:** `None:None`
|
|
|
|
---
|
|
#### ✅ Variant: `y-True`
|
|
- **Duration:** 0.002s
|
|
- **Location:** `None:None`
|
|
|
|
---
|