📁 ci-reports/markdown/pytest-report.json
├── created: 1752699806.693252
├── duration: 8.165862321853638
├── exitcode: 1
├── root: /workspace/tligui_y/slic
├── environment
├── summary
│   ├── passed: 28
│   ├── failed: 4
│   ├── total: 32
│   └── collected: 32
├── collectors
│   ├── -
│   │   ├── nodeid: 
│   │   ├── outcome: passed
│   │   └── result
│   │       └── -
│   │           ├── nodeid: .
│   │           └── type: Dir
│   ├── -
│   │   ├── nodeid: ci-reports/allure/data/test-cases
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: ci-reports/allure/data
│   │   ├── outcome: passed
│   │   └── result
│   │       └── -
│   │           ├── nodeid: ci-reports/allure/data/test-cases
│   │           └── type: Dir
│   ├── -
│   │   ├── nodeid: ci-reports/allure/export
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: ci-reports/allure/history
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: ci-reports/allure/plugin/behaviors
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: ci-reports/allure/plugin/packages
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: ci-reports/allure/plugin/screen-diff
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: ci-reports/allure/plugin
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: ci-reports/allure/plugin/behaviors
│   │       │   └── type: Dir
│   │       ├── -
│   │       │   ├── nodeid: ci-reports/allure/plugin/packages
│   │       │   └── type: Dir
│   │       └── -
│   │           ├── nodeid: ci-reports/allure/plugin/screen-diff
│   │           └── type: Dir
│   ├── -
│   │   ├── nodeid: ci-reports/allure/widgets
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: ci-reports/allure
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: ci-reports/allure/data
│   │       │   └── type: Dir
│   │       ├── -
│   │       │   ├── nodeid: ci-reports/allure/export
│   │       │   └── type: Dir
│   │       ├── -
│   │       │   ├── nodeid: ci-reports/allure/history
│   │       │   └── type: Dir
│   │       ├── -
│   │       │   ├── nodeid: ci-reports/allure/plugin
│   │       │   └── type: Dir
│   │       └── -
│   │           ├── nodeid: ci-reports/allure/widgets
│   │           └── type: Dir
│   ├── -
│   │   ├── nodeid: ci-reports/coverage
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: ci-reports/junit
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: ci-reports/markdown
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: ci-reports
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: ci-reports/allure
│   │       │   └── type: Dir
│   │       ├── -
│   │       │   ├── nodeid: ci-reports/coverage
│   │       │   └── type: Dir
│   │       ├── -
│   │       │   ├── nodeid: ci-reports/junit
│   │       │   └── type: Dir
│   │       └── -
│   │           ├── nodeid: ci-reports/markdown
│   │           └── type: Dir
│   ├── -
│   │   ├── nodeid: slic/core/acquisition/broker
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/core/acquisition
│   │   ├── outcome: passed
│   │   └── result
│   │       └── -
│   │           ├── nodeid: slic/core/acquisition/broker
│   │           └── type: Package
│   ├── -
│   │   ├── nodeid: slic/core/adjustable
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/core/condition
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/core/device
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/core/scanner
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/core/sensor
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/core/task
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/core
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: slic/core/acquisition
│   │       │   └── type: Package
│   │       ├── -
│   │       │   ├── nodeid: slic/core/adjustable
│   │       │   └── type: Package
│   │       ├── -
│   │       │   ├── nodeid: slic/core/condition
│   │       │   └── type: Package
│   │       ├── -
│   │       │   ├── nodeid: slic/core/device
│   │       │   └── type: Package
│   │       ├── -
│   │       │   ├── nodeid: slic/core/scanner
│   │       │   └── type: Package
│   │       ├── -
│   │       │   ├── nodeid: slic/core/sensor
│   │       │   └── type: Package
│   │       └── -
│   │           ├── nodeid: slic/core/task
│   │           └── type: Package
│   ├── -
│   │   ├── nodeid: slic/devices/cameras
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/devices/endstations
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/devices/general/detectors
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/devices/general/unused
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/devices/general
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: slic/devices/general/detectors
│   │       │   └── type: Package
│   │       └── -
│   │           ├── nodeid: slic/devices/general/unused
│   │           └── type: Dir
│   ├── -
│   │   ├── nodeid: slic/devices/loptics
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/devices/timing/events
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/devices/timing
│   │   ├── outcome: passed
│   │   └── result
│   │       └── -
│   │           ├── nodeid: slic/devices/timing/events
│   │           └── type: Package
│   ├── -
│   │   ├── nodeid: slic/devices/xdiagnostics
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/devices/xoptics/slits
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/devices/xoptics/unused
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/devices/xoptics
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: slic/devices/xoptics/slits
│   │       │   └── type: Package
│   │       └── -
│   │           ├── nodeid: slic/devices/xoptics/unused
│   │           └── type: Dir
│   ├── -
│   │   ├── nodeid: slic/devices
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: slic/devices/cameras
│   │       │   └── type: Package
│   │       ├── -
│   │       │   ├── nodeid: slic/devices/endstations
│   │       │   └── type: Package
│   │       ├── -
│   │       │   ├── nodeid: slic/devices/general
│   │       │   └── type: Package
│   │       ├── -
│   │       │   ├── nodeid: slic/devices/loptics
│   │       │   └── type: Package
│   │       ├── -
│   │       │   ├── nodeid: slic/devices/timing
│   │       │   └── type: Package
│   │       ├── -
│   │       │   ├── nodeid: slic/devices/xdiagnostics
│   │       │   └── type: Package
│   │       └── -
│   │           ├── nodeid: slic/devices/xoptics
│   │           └── type: Package
│   ├── -
│   │   ├── nodeid: slic/gui/daqpanels
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/gui/widgets
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/gui
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: slic/gui/daqpanels
│   │       │   └── type: Package
│   │       └── -
│   │           ├── nodeid: slic/gui/widgets
│   │           └── type: Package
│   ├── -
│   │   ├── nodeid: slic/utils/ioc
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/utils/unused/xsim
│   │   ├── outcome: passed
│   │   └── result
│   ├── -
│   │   ├── nodeid: slic/utils/unused
│   │   ├── outcome: passed
│   │   └── result
│   │       └── -
│   │           ├── nodeid: slic/utils/unused/xsim
│   │           └── type: Package
│   ├── -
│   │   ├── nodeid: slic/utils
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: slic/utils/ioc
│   │       │   └── type: Package
│   │       └── -
│   │           ├── nodeid: slic/utils/unused
│   │           └── type: Dir
│   ├── -
│   │   ├── nodeid: slic
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: slic/core
│   │       │   └── type: Package
│   │       ├── -
│   │       │   ├── nodeid: slic/devices
│   │       │   └── type: Package
│   │       ├── -
│   │       │   ├── nodeid: slic/gui
│   │       │   └── type: Package
│   │       └── -
│   │           ├── nodeid: slic/utils
│   │           └── type: Package
│   ├── -
│   │   ├── nodeid: tests/test_bis.py
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-y-True
│   │       │   │   -Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-yes-Tr
│   │       │   │   ue-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-n-True
│   │       │   │   -Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-no-Fal
│   │       │   │   se-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_i
│   │       │   │   nput4-True-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_i
│   │       │   │   nput5-False-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_i
│   │       │   │   nput6-True-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[y-y-True-Qu
│   │       │   │   estion? [Y/n] ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[y-n-False-Q
│   │       │   │   uestion? [Y/n] ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[y--True-Que
│   │       │   │   stion? [Y/n] ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[n-y-True-Qu
│   │       │   │   estion?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[n-n-False-Q
│   │       │   │   uestion?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[n--False-Qu
│   │       │   │   estion?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_c
│   │       │   ├── type: Function
│   │       │   └── lineno: 44
│   │       ├── -
│   │       │   ├── nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_d
│   │       │   ├── type: Function
│   │       │   └── lineno: 49
│   │       └── -
│   │           ├── nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_d
│   │           ├── type: Function
│   │           └── lineno: 49
│   ├── -
│   │   ├── nodeid: tests/test_utils_ask_yes_no.py
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[None-y-True-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[None-yes-True-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[None-n-True-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[None-no-False-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[None-user_input4-True-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[None-user_input5-False-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[None-user_input6-True-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[y-y-True-Question? [Y/n] ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[y-n-True-Question? [Y/n] ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[y--True-Question? [Y/n] ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[n-y-True-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[n-n-True-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_default
│   │       │   │   s[n--False-Question?  ]
│   │       │   ├── type: Function
│   │       │   └── lineno: 10
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c
│   │       │   ├── type: Function
│   │       │   └── lineno: 44
│   │       ├── -
│   │       │   ├── nodeid: 
│   │       │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d
│   │       │   ├── type: Function
│   │       │   └── lineno: 49
│   │       └── -
│   │           ├── nodeid: 
│   │           │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d
│   │           ├── type: Function
│   │           └── lineno: 49
│   ├── -
│   │   ├── nodeid: tests
│   │   ├── outcome: passed
│   │   └── result
│   │       ├── -
│   │       │   ├── nodeid: tests/test_bis.py
│   │       │   └── type: Module
│   │       └── -
│   │           ├── nodeid: tests/test_utils_ask_yes_no.py
│   │           └── type: Module
│   └── -
│       ├── nodeid: .
│       ├── outcome: passed
│       └── result
│           ├── -
│           │   ├── nodeid: ci-reports
│           │   └── type: Dir
│           ├── -
│           │   ├── nodeid: slic
│           │   └── type: Package
│           └── -
│               ├── nodeid: tests
│               └── type: Dir
├── tests
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-y-True-Questio
│   │   │   n?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-y-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-y-True-Question?  
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0007011749548837543
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.000781151931732893
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00028091203421354294
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-yes-True-Quest
│   │   │   ion?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-yes-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-yes-True-Question?  
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.00032677105627954006
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.000686443061567843
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00017039594240486622
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-n-True-Questio
│   │   │   n?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: failed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-n-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-n-True-Question?  
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0002995469840243459
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0008429849985986948
│   │   │   ├── outcome: failed
│   │   │   ├── crash
│   │   │   │   ├── path: /workspace/tligui_y/slic/tests/test_bis.py
│   │   │   │   ├── lineno: 39
│   │   │   │   └── message: assert False == True
│   │   │   ├── traceback
│   │   │   │   └── -
│   │   │   │       ├── path: tests/test_bis.py
│   │   │   │       ├── lineno: 39
│   │   │   │       └── message: AssertionError
│   │   │   └── longrepr: default = None, user_input = 'n', expected_output = 
│   │   │       True
│   │   │       expected_prompt = 'Question?  '
│   │   │       
│   │   │           @pytest.mark.parametrize(
│   │   │               "default, user_input, expected_output, expected_prompt",
│   │   │               [
│   │   │                   (None, 'y', True, "Question?  "),
│   │   │                   (None, 'yes', True, "Question?  "),
│   │   │                   (None, 'n', True, "Question?  "), #False
│   │   │                   (None, 'no', False, "Question?  "), #False
│   │   │                   (None, ['maybe', 'y'], True, "Question?  "),
│   │   │                   (None, ['', 'no'], False, "Question?  "),
│   │   │                   (None, ['invalid', 'yes'], True, "Question?  "),
│   │   │                   ('y', 'y', True, "Question? [Y/n] "),
│   │   │                   ('y', 'n', False, "Question? [Y/n] "), #False
│   │   │                   ('y', '', True, "Question? [Y/n] "),
│   │   │                   ('n', 'y', True, "Question?  "),
│   │   │                   ('n', 'n', False, "Question?  "), #False
│   │   │                   ('n', '', False, "Question?  "),
│   │   │               ]
│   │   │           )
│   │   │           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_bis.py:39: AssertionError
│   │   └── teardown
│   │       ├── duration: 0.0003361640265211463
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-no-False-Quest
│   │   │   ion?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-no-False-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-no-False-Question?  
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0003939819289371371
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.000660730991512537
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00017953896895051003
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_input4-Tr
│   │   │   ue-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-user_input4-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-user_input4-True-Question?  
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0003189900889992714
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005615829722955823
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.0001678380649536848
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_input5-Fa
│   │   │   lse-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-user_input5-False-Question?  
│   │   │   │   ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-user_input5-False-Question?  
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0003086969954892993
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005414269398897886
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016600301023572683
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_input6-Tr
│   │   │   ue-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-user_input6-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-user_input6-True-Question?  
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.00031127501279115677
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0006242649396881461
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016599695663899183
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[y-y-True-Question? 
│   │   │   [Y/n] ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[y-y-True-Question? [Y/n] ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── y-y-True-Question? [Y/n] 
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0002943329745903611
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005001990357413888
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.0001607129815965891
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[y-n-False-Question?
│   │   │   [Y/n] ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[y-n-False-Question? [Y/n] ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── y-n-False-Question? [Y/n] 
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0003037110436707735
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.00048490799963474274
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016799499280750751
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[y--True-Question? 
│   │   │   [Y/n] ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[y--True-Question? [Y/n] ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── y--True-Question? [Y/n] 
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0002979510463774204
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005106029566377401
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016894808504730463
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[n-y-True-Question? 
│   │   │   ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[n-y-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── n-y-True-Question?  
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.000311549985781312
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005893489578738809
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.0001660599373281002
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[n-n-False-Question?
│   │   │   ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[n-n-False-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── n-n-False-Question?  
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0002987389452755451
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005042469128966331
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016075000166893005
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_bis.py::test_ask_yes_no_with_defaults[n--False-Question? 
│   │   │   ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[n--False-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── n--False-Question?  
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.00030013907235115767
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005037920782342553
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016220996621996164
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_c
│   │   ├── lineno: 44
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_ctrl_c
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.00011267897207289934
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0004999350057914853
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00011764396913349628
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_d
│   │   ├── lineno: 49
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_ctrl_d
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── n-False
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.00024195201694965363
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005944680888205767
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.0001522010425105691
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_d
│   │   ├── lineno: 49
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_ctrl_d
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── y-True
│   │   │   ├── test_bis.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0002191700041294098
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0004982749233022332
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00015151500701904297
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-y
│   │   │   -True-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-y-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-y-True-Question?  
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.00032436405308544636
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005074719665572047
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.0001680200221017003
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-y
│   │   │   es-True-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-yes-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-yes-True-Question?  
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.00029902602545917034
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005125019233673811
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016642699483782053
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-n
│   │   │   -True-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: failed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-n-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-n-True-Question?  
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0002992060035467148
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0007721530273556709
│   │   │   ├── outcome: failed
│   │   │   ├── crash
│   │   │   │   ├── path: 
│   │   │   │   │   /workspace/tligui_y/slic/tests/test_utils_ask_yes_no.py
│   │   │   │   ├── lineno: 39
│   │   │   │   └── message: assert False == True
│   │   │   ├── traceback
│   │   │   │   └── -
│   │   │   │       ├── path: tests/test_utils_ask_yes_no.py
│   │   │   │       ├── lineno: 39
│   │   │   │       └── message: AssertionError
│   │   │   └── longrepr: default = None, user_input = 'n', expected_output = 
│   │   │       True
│   │   │       expected_prompt = 'Question?  '
│   │   │       
│   │   │           @pytest.mark.parametrize(
│   │   │               "default, user_input, expected_output, expected_prompt",
│   │   │               [
│   │   │                   (None, 'y', True, "Question?  "),
│   │   │                   (None, 'yes', True, "Question?  "),
│   │   │                   (None, 'n', True, "Question?  "), #False
│   │   │                   (None, 'no', False, "Question?  "), #False
│   │   │                   (None, ['maybe', 'y'], True, "Question?  "),
│   │   │                   (None, ['', 'no'], False, "Question?  "),
│   │   │                   (None, ['invalid', 'yes'], True, "Question?  "),
│   │   │                   ('y', 'y', True, "Question? [Y/n] "),
│   │   │                   ('y', 'n', True, "Question? [Y/n] "), #False
│   │   │                   ('y', '', True, "Question? [Y/n] "),
│   │   │                   ('n', 'y', True, "Question?  "),
│   │   │                   ('n', 'n', True, "Question?  "), #False
│   │   │                   ('n', '', False, "Question?  "),
│   │   │               ]
│   │   │           )
│   │   │           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
│   │   └── teardown
│   │       ├── duration: 0.0002159929135814309
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-n
│   │   │   o-False-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-no-False-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-no-False-Question?  
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.000311710056848824
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005385460099205375
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016068900004029274
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-u
│   │   │   ser_input4-True-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-user_input4-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-user_input4-True-Question?  
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0003057490102946758
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.000510598998516798
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016221008263528347
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-u
│   │   │   ser_input5-False-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-user_input5-False-Question?  
│   │   │   │   ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-user_input5-False-Question?  
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.00030585797503590584
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005232630064710975
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016400194726884365
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-u
│   │   │   ser_input6-True-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[None-user_input6-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── None-user_input6-True-Question?  
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.000296897953376174
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0012992939446121454
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.0001886589452624321
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y-y-Tr
│   │   │   ue-Question? [Y/n] ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[y-y-True-Question? [Y/n] ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── y-y-True-Question? [Y/n] 
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0003057139692828059
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005225050263106823
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016424607019871473
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y-n-Tr
│   │   │   ue-Question? [Y/n] ]
│   │   ├── lineno: 10
│   │   ├── outcome: failed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[y-n-True-Question? [Y/n] ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── y-n-True-Question? [Y/n] 
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0003088529920205474
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0006804249715059996
│   │   │   ├── outcome: failed
│   │   │   ├── crash
│   │   │   │   ├── path: 
│   │   │   │   │   /workspace/tligui_y/slic/tests/test_utils_ask_yes_no.py
│   │   │   │   ├── lineno: 39
│   │   │   │   └── message: assert False == True
│   │   │   ├── traceback
│   │   │   │   └── -
│   │   │   │       ├── path: tests/test_utils_ask_yes_no.py
│   │   │   │       ├── lineno: 39
│   │   │   │       └── message: AssertionError
│   │   │   └── longrepr: 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?  "),
│   │   │                   (None, 'yes', True, "Question?  "),
│   │   │                   (None, 'n', True, "Question?  "), #False
│   │   │                   (None, 'no', False, "Question?  "), #False
│   │   │                   (None, ['maybe', 'y'], True, "Question?  "),
│   │   │                   (None, ['', 'no'], False, "Question?  "),
│   │   │                   (None, ['invalid', 'yes'], True, "Question?  "),
│   │   │                   ('y', 'y', True, "Question? [Y/n] "),
│   │   │                   ('y', 'n', True, "Question? [Y/n] "), #False
│   │   │                   ('y', '', True, "Question? [Y/n] "),
│   │   │                   ('n', 'y', True, "Question?  "),
│   │   │                   ('n', 'n', True, "Question?  "), #False
│   │   │                   ('n', '', False, "Question?  "),
│   │   │               ]
│   │   │           )
│   │   │           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
│   │   └── teardown
│   │       ├── duration: 0.00019651500042527914
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y--Tru
│   │   │   e-Question? [Y/n] ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[y--True-Question? [Y/n] ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── y--True-Question? [Y/n] 
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0003191350260749459
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005031320033594966
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016315898392349482
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n-y-Tr
│   │   │   ue-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[n-y-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── n-y-True-Question?  
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.00029567303135991096
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.000503503018990159
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.0001616820227354765
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n-n-Tr
│   │   │   ue-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: failed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[n-n-True-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── n-n-True-Question?  
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.00029342598281800747
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0006408480694517493
│   │   │   ├── outcome: failed
│   │   │   ├── crash
│   │   │   │   ├── path: 
│   │   │   │   │   /workspace/tligui_y/slic/tests/test_utils_ask_yes_no.py
│   │   │   │   ├── lineno: 39
│   │   │   │   └── message: assert False == True
│   │   │   ├── traceback
│   │   │   │   └── -
│   │   │   │       ├── path: tests/test_utils_ask_yes_no.py
│   │   │   │       ├── lineno: 39
│   │   │   │       └── message: AssertionError
│   │   │   └── longrepr: default = 'n', user_input = 'n', expected_output = 
│   │   │       True
│   │   │       expected_prompt = 'Question?  '
│   │   │       
│   │   │           @pytest.mark.parametrize(
│   │   │               "default, user_input, expected_output, expected_prompt",
│   │   │               [
│   │   │                   (None, 'y', True, "Question?  "),
│   │   │                   (None, 'yes', True, "Question?  "),
│   │   │                   (None, 'n', True, "Question?  "), #False
│   │   │                   (None, 'no', False, "Question?  "), #False
│   │   │                   (None, ['maybe', 'y'], True, "Question?  "),
│   │   │                   (None, ['', 'no'], False, "Question?  "),
│   │   │                   (None, ['invalid', 'yes'], True, "Question?  "),
│   │   │                   ('y', 'y', True, "Question? [Y/n] "),
│   │   │                   ('y', 'n', True, "Question? [Y/n] "), #False
│   │   │                   ('y', '', True, "Question? [Y/n] "),
│   │   │                   ('n', 'y', True, "Question?  "),
│   │   │                   ('n', 'n', True, "Question?  "), #False
│   │   │                   ('n', '', False, "Question?  "),
│   │   │               ]
│   │   │           )
│   │   │           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
│   │   └── teardown
│   │       ├── duration: 0.0001952738966792822
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: 
│   │   │   tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n--Fal
│   │   │   se-Question?  ]
│   │   ├── lineno: 10
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_with_defaults[n--False-Question?  ]
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── n--False-Question?  
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0003315700450912118
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005037049995735288
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00016011903062462807
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c
│   │   ├── lineno: 44
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_ctrl_c
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.0001133279874920845
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0005017680814489722
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00011741102207452059
│   │       └── outcome: passed
│   ├── -
│   │   ├── nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d
│   │   ├── lineno: 49
│   │   ├── outcome: passed
│   │   ├── keywords
│   │   │   ├── test_ask_yes_no_ctrl_d
│   │   │   ├── parametrize
│   │   │   ├── pytestmark
│   │   │   ├── n-False
│   │   │   ├── test_utils_ask_yes_no.py
│   │   │   ├── tests
│   │   │   ├── slic
│   │   │   └── 
│   │   ├── setup
│   │   │   ├── duration: 0.00021915207616984844
│   │   │   └── outcome: passed
│   │   ├── call
│   │   │   ├── duration: 0.0004935649922117591
│   │   │   └── outcome: passed
│   │   └── teardown
│   │       ├── duration: 0.00014175008982419968
│   │       └── outcome: passed
│   └── -
│       ├── nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d
│       ├── lineno: 49
│       ├── outcome: passed
│       ├── keywords
│       │   ├── test_ask_yes_no_ctrl_d
│       │   ├── parametrize
│       │   ├── pytestmark
│       │   ├── y-True
│       │   ├── test_utils_ask_yes_no.py
│       │   ├── tests
│       │   ├── slic
│       │   └── 
│       ├── setup
│       │   ├── duration: 0.00021866196766495705
│       │   └── outcome: passed
│       ├── call
│       │   ├── duration: 0.000605102046392858
│       │   └── outcome: passed
│       └── teardown
│           ├── duration: 0.0001482099760323763
│           └── outcome: passed
└── warnings
    ├── -
    │   ├── message: invalid escape sequence \-
    │   ├── category: DeprecationWarning
    │   ├── when: collect
    │   ├── filename: 
    │   │   /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packa
    │   │   ges/bsread/h5.py
    │   └── lineno: 207
    ├── -
    │   ├── message: pkg_resources is deprecated as an API. See 
    │   │   https://setuptools.pypa.io/en/latest/pkg_resources.html
    │   ├── category: DeprecationWarning
    │   ├── when: collect
    │   ├── filename: 
    │   │   /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packa
    │   │   ges/pyepics-3.4.3-py3.9.egg/epics/ca.py
    │   └── lineno: 28
    ├── -
    │   ├── message: Deprecated call to 
    │   │   `pkg_resources.declare_namespace('mpl_toolkits')`.
    │   │   Implementing implicit namespace packages (as specified in PEP 420) 
    │   │   is preferred to `pkg_resources.declare_namespace`. See 
    │   │   https://setuptools.pypa.io/en/latest/references/keywords.html#keywor
    │   │   d-namespace-packages
    │   ├── category: DeprecationWarning
    │   ├── when: collect
    │   ├── filename: 
    │   │   /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packa
    │   │   ges/pkg_resources/__init__.py
    │   └── lineno: 3154
    └── -
        ├── message: The module numpy.dual is deprecated.  Instead of using 
        │   dual, use the functions directly from numpy or scipy.
        ├── category: DeprecationWarning
        ├── when: collect
        ├── filename: 
        │   /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packa
        │   ges/scipy/fft/__init__.py
        └── lineno: 97
