Clone
1
run 2403 TEST commit 2448fbb
ci-bot edited this page 2025-08-18 11:43:39 +00:00

Test Report

View CI Run 2403 | Commit 2448fbb

🧪 Test Report

Generated on 2025-08-18 13:43:12 CEST

🧾 General Info

  • duration: 5.144365310668945
  • root: /workspace/tligui_y/slic
  • environment: {}

📋 Summary

  • Passed: 2
  • Failed: 3
  • Total: 5
  • Collected: 5

🔎 Tests

Passed (2)
  • 📄 test_utils_duo.py

    Function: TestPickledDictReal

    • Test 1

      📌 Setup phase

      duration:

      0.00046221306547522545
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.006564432755112648
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003258693031966686
      

      outcome:

      passed
      
    • Test 2

      📌 Setup phase

      duration:

      0.0001477440819144249
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.005147510673850775
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019724387675523758
      

      outcome:

      passed
      
Failed (3)
  • 📄 test_utils_duo.py

    Function: TestSecrets

    • Test 3

      📌 Setup phase

      duration:

      0.0008324431255459785
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001312717329710722
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/getpass.py
      lineno: 148
      message: EOFError
      

      traceback:

      -   path: tests/test_utils_duo.py
        lineno: 89
        message: None
      -   path: slic/utils/duo.py
        lineno: 14
        message: in set
      -   path: .pixi/envs/default/lib/python3.8/getpass.py
        lineno: 91
        message: in unix_getpass
      -   path: .pixi/envs/default/lib/python3.8/getpass.py
        lineno: 126
        message: in fallback_getpass
      -   path: .pixi/envs/default/lib/python3.8/getpass.py
        lineno: 148
        message: EOFError
      

      longrepr:

      prompt = 'Please enter the secret "api_key": '
      stream = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
      
          def unix_getpass(prompt='Password: ', stream=None):
              """Prompt for a password, with echo turned off.
      
              Args:
                prompt: Written on stream to ask for the input.  Default: 'Password: '
                stream: A writable file object to display the prompt.  Defaults to
                        the tty.  If no tty is available defaults to sys.stderr.
              Returns:
                The seKr3t input.
              Raises:
                EOFError: If our input tty or stdin was closed.
                GetPassWarning: When we were unable to turn echo off on the input.
      
              Always restores terminal settings before returning.
              """
              passwd = None
              with contextlib.ExitStack() as stack:
                  try:
                      # Always try reading and writing directly on the tty first.
                      fd = os.open('/dev/tty', os.O_RDWR|os.O_NOCTTY)
                      tty = io.FileIO(fd, 'w+')
                      stack.enter_context(tty)
                      input = io.TextIOWrapper(tty)
                      stack.enter_context(input)
                      if not stream:
                          stream = input
                  except OSError as e:
                      # If that fails, see if stdin can be controlled.
                      stack.close()
                      try:
                          fd = sys.stdin.fileno()
                      except (AttributeError, ValueError):
                          fd = None
                          passwd = fallback_getpass(prompt, stream)
                      input = sys.stdin
                      if not stream:
                          stream = sys.stderr
      
                  if fd is not None:
                      try:
      >                   old = termios.tcgetattr(fd)     # a copy to save
      E                   termios.error: (25, 'Inappropriate ioctl for device')
      
      .pixi/envs/default/lib/python3.8/getpass.py:69: error
      
      During handling of the above exception, another exception occurred:
      
      self = <test_utils_duo.TestSecrets object at 0x7f7ebb1b2f70>
      temp_home = PosixPath('/tmp/tmpetj4370k')
      
          def test_default_filename(self, temp_home):
              """Test le stockage dans ~/.slic/secrets"""
              secrets = Secrets()
      
              with patch("getpass.getpass", return_value="secret123"):
      >           secrets.set("api_key")
      
      tests/test_utils_duo.py:89: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/duo.py:14: in set
          secret = getpass(prompt=f"Please enter the secret \"{name}\": ")
      .pixi/envs/default/lib/python3.8/getpass.py:91: in unix_getpass
          passwd = fallback_getpass(prompt, stream)
      .pixi/envs/default/lib/python3.8/getpass.py:126: in fallback_getpass
          return _raw_input(prompt, stream)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      prompt = 'Please enter the secret "api_key": '
      stream = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
      input = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>
      
          def _raw_input(prompt="", stream=None, input=None):
              # This doesn't save the string in the GNU readline history.
              if not stream:
                  stream = sys.stderr
              if not input:
                  input = sys.stdin
              prompt = str(prompt)
              if prompt:
                  try:
                      stream.write(prompt)
                  except UnicodeEncodeError:
                      # Use replace error handler to get as much as possible printed.
                      prompt = prompt.encode(stream.encoding, 'replace')
                      prompt = prompt.decode(stream.encoding)
                      stream.write(prompt)
                  stream.flush()
              # NOTE: The Python C API calls flockfile() (and unlock) during readline.
              line = input.readline()
              if not line:
      >           raise EOFError
      E           EOFError
      
      .pixi/envs/default/lib/python3.8/getpass.py:148: EOFError
      

      📌 Teardown phase

      duration:

      0.0006028627976775169
      

      outcome:

      passed
      
    • Test 4

      📌 Setup phase

      duration:

      0.0006265100091695786
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009473338723182678
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/getpass.py
      lineno: 148
      message: EOFError
      

      traceback:

      -   path: tests/test_utils_duo.py
        lineno: 105
        message: None
      -   path: slic/utils/duo.py
        lineno: 14
        message: in set
      -   path: .pixi/envs/default/lib/python3.8/getpass.py
        lineno: 91
        message: in unix_getpass
      -   path: .pixi/envs/default/lib/python3.8/getpass.py
        lineno: 126
        message: in fallback_getpass
      -   path: .pixi/envs/default/lib/python3.8/getpass.py
        lineno: 148
        message: EOFError
      

      longrepr:

      prompt = 'Please enter the secret "db_user": '
      stream = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
      
          def unix_getpass(prompt='Password: ', stream=None):
              """Prompt for a password, with echo turned off.
      
              Args:
                prompt: Written on stream to ask for the input.  Default: 'Password: '
                stream: A writable file object to display the prompt.  Defaults to
                        the tty.  If no tty is available defaults to sys.stderr.
              Returns:
                The seKr3t input.
              Raises:
                EOFError: If our input tty or stdin was closed.
                GetPassWarning: When we were unable to turn echo off on the input.
      
              Always restores terminal settings before returning.
              """
              passwd = None
              with contextlib.ExitStack() as stack:
                  try:
                      # Always try reading and writing directly on the tty first.
                      fd = os.open('/dev/tty', os.O_RDWR|os.O_NOCTTY)
                      tty = io.FileIO(fd, 'w+')
                      stack.enter_context(tty)
                      input = io.TextIOWrapper(tty)
                      stack.enter_context(input)
                      if not stream:
                          stream = input
                  except OSError as e:
                      # If that fails, see if stdin can be controlled.
                      stack.close()
                      try:
                          fd = sys.stdin.fileno()
                      except (AttributeError, ValueError):
                          fd = None
                          passwd = fallback_getpass(prompt, stream)
                      input = sys.stdin
                      if not stream:
                          stream = sys.stderr
      
                  if fd is not None:
                      try:
      >                   old = termios.tcgetattr(fd)     # a copy to save
      E                   termios.error: (25, 'Inappropriate ioctl for device')
      
      .pixi/envs/default/lib/python3.8/getpass.py:69: error
      
      During handling of the above exception, another exception occurred:
      
      self = <test_utils_duo.TestSecrets object at 0x7f7ebb1bb0d0>
      temp_home = PosixPath('/tmp/tmpppgv5min')
      
          def test_secret_workflow(self, temp_home):
              """Test complet du workflow Secrets"""
              secrets = Secrets()
      
              # Ajout de deux secrets
              with patch("getpass.getpass", side_effect=["pass1", "pass2"]):
      >           secrets.set("db_user")
      
      tests/test_utils_duo.py:105: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/duo.py:14: in set
          secret = getpass(prompt=f"Please enter the secret \"{name}\": ")
      .pixi/envs/default/lib/python3.8/getpass.py:91: in unix_getpass
          passwd = fallback_getpass(prompt, stream)
      .pixi/envs/default/lib/python3.8/getpass.py:126: in fallback_getpass
          return _raw_input(prompt, stream)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      prompt = 'Please enter the secret "db_user": '
      stream = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
      input = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>
      
          def _raw_input(prompt="", stream=None, input=None):
              # This doesn't save the string in the GNU readline history.
              if not stream:
                  stream = sys.stderr
              if not input:
                  input = sys.stdin
              prompt = str(prompt)
              if prompt:
                  try:
                      stream.write(prompt)
                  except UnicodeEncodeError:
                      # Use replace error handler to get as much as possible printed.
                      prompt = prompt.encode(stream.encoding, 'replace')
                      prompt = prompt.decode(stream.encoding)
                      stream.write(prompt)
                  stream.flush()
              # NOTE: The Python C API calls flockfile() (and unlock) during readline.
              line = input.readline()
              if not line:
      >           raise EOFError
      E           EOFError
      
      .pixi/envs/default/lib/python3.8/getpass.py:148: EOFError
      

      📌 Teardown phase

      duration:

      0.0005606007762253284
      

      outcome:

      passed
      
    • Test 5

      📌 Setup phase

      duration:

      0.0008721370249986649
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0027567120268940926
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/getpass.py
      lineno: 148
      message: EOFError
      

      traceback:

      -   path: tests/test_utils_duo.py
        lineno: 123
        message: None
      -   path: slic/utils/duo.py
        lineno: 14
        message: in set
      -   path: .pixi/envs/default/lib/python3.8/getpass.py
        lineno: 91
        message: in unix_getpass
      -   path: .pixi/envs/default/lib/python3.8/getpass.py
        lineno: 126
        message: in fallback_getpass
      -   path: .pixi/envs/default/lib/python3.8/getpass.py
        lineno: 148
        message: EOFError
      

      longrepr:

      prompt = 'Please enter the secret "canceled_key": '
      stream = <_io.TextIOWrapper encoding='UTF-8'>
      
          def unix_getpass(prompt='Password: ', stream=None):
              """Prompt for a password, with echo turned off.
      
              Args:
                prompt: Written on stream to ask for the input.  Default: 'Password: '
                stream: A writable file object to display the prompt.  Defaults to
                        the tty.  If no tty is available defaults to sys.stderr.
              Returns:
                The seKr3t input.
              Raises:
                EOFError: If our input tty or stdin was closed.
                GetPassWarning: When we were unable to turn echo off on the input.
      
              Always restores terminal settings before returning.
              """
              passwd = None
              with contextlib.ExitStack() as stack:
                  try:
                      # Always try reading and writing directly on the tty first.
                      fd = os.open('/dev/tty', os.O_RDWR|os.O_NOCTTY)
                      tty = io.FileIO(fd, 'w+')
                      stack.enter_context(tty)
                      input = io.TextIOWrapper(tty)
                      stack.enter_context(input)
                      if not stream:
                          stream = input
                  except OSError as e:
                      # If that fails, see if stdin can be controlled.
                      stack.close()
                      try:
                          fd = sys.stdin.fileno()
                      except (AttributeError, ValueError):
                          fd = None
                          passwd = fallback_getpass(prompt, stream)
                      input = sys.stdin
                      if not stream:
                          stream = sys.stderr
      
                  if fd is not None:
                      try:
      >                   old = termios.tcgetattr(fd)     # a copy to save
      E                   termios.error: (25, 'Inappropriate ioctl for device')
      
      .pixi/envs/default/lib/python3.8/getpass.py:69: error
      
      During handling of the above exception, another exception occurred:
      
      self = <test_utils_duo.TestSecrets object at 0x7f7ebb1bb490>
      temp_home = PosixPath('/tmp/tmp2ddb65bf')
      capsys = <_pytest.capture.CaptureFixture object at 0x7f7eba69c8e0>
      
          def test_keyboard_interrupt(self, temp_home, capsys):
              """Test l'annulation par Ctrl+C"""
              secrets = Secrets()
      
              with patch("getpass.getpass", side_effect=KeyboardInterrupt):
      >           secrets.set("canceled_key")
      
      tests/test_utils_duo.py:123: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/duo.py:14: in set
          secret = getpass(prompt=f"Please enter the secret \"{name}\": ")
      .pixi/envs/default/lib/python3.8/getpass.py:91: in unix_getpass
          passwd = fallback_getpass(prompt, stream)
      .pixi/envs/default/lib/python3.8/getpass.py:126: in fallback_getpass
          return _raw_input(prompt, stream)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      prompt = 'Please enter the secret "canceled_key": '
      stream = <_io.TextIOWrapper encoding='UTF-8'>
      input = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>
      
          def _raw_input(prompt="", stream=None, input=None):
              # This doesn't save the string in the GNU readline history.
              if not stream:
                  stream = sys.stderr
              if not input:
                  input = sys.stdin
              prompt = str(prompt)
              if prompt:
                  try:
                      stream.write(prompt)
                  except UnicodeEncodeError:
                      # Use replace error handler to get as much as possible printed.
                      prompt = prompt.encode(stream.encoding, 'replace')
                      prompt = prompt.decode(stream.encoding)
                      stream.write(prompt)
                  stream.flush()
              # NOTE: The Python C API calls flockfile() (and unlock) during readline.
              line = input.readline()
              if not line:
      >           raise EOFError
      E           EOFError
      
      .pixi/envs/default/lib/python3.8/getpass.py:148: EOFError
      

      📌 Teardown phase

      duration:

      0.0006707510910928249
      

      outcome:

      passed
      

📚 Collected files

(1 tests)
    • Outcome: passed
    • result:
    -   nodeid: tests/test_utils_duo.py
      type: Module
    
tests (3 tests)
  • tests/test_utils_duo.py
    • Outcome: passed
    • result:
    -   nodeid: tests/test_utils_duo.py::TestPickledDictReal
      type: Class
    -   nodeid: tests/test_utils_duo.py::TestSecrets
      type: Class
    
    • tests/test_utils_duo.py::TestPickledDictReal
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_duo.py::TestPickledDictReal::test_set_get
        type: Function
        lineno: 13
      -   nodeid: tests/test_utils_duo.py::TestPickledDictReal::test_load
        type: Function
        lineno: 47
      
    • tests/test_utils_duo.py::TestSecrets
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_duo.py::TestSecrets::test_default_filename
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_duo.py::TestSecrets::test_secret_workflow
        type: Function
        lineno: 98
      -   nodeid: tests/test_utils_duo.py::TestSecrets::test_keyboard_interrupt
        type: Function
        lineno: 117
      

⚠️ Warnings

Warnings nº1
message: invalid escape sequence \-
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py
lineno: 207
Warnings nº2
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-packages/scipy/fft/__init__.py
lineno: 97
Warnings nº3
message: Can not control echo on the terminal.
category: GetPassWarning
when: runtest
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/getpass.py
lineno: 91
Warnings nº4
message: Can not control echo on the terminal.
category: GetPassWarning
when: runtest
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/getpass.py
lineno: 91
Warnings nº5
message: Can not control echo on the terminal.
category: GetPassWarning
when: runtest
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/getpass.py
lineno: 91