Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Lancer un test utilisant scapy dans pipenv

+1 vote

J'exécute une batterie de tests sous pytest, dans un environnement pipenv (python2.7). Certains tests s'appuient sur scapy, qui nécessite les droits root. Lorsque je lance mes tests sans les droits root, dans un pipenv shell, ça me donne

    >       loopback_itf.open()

scripts/fixtures.py:147: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../../../development/AggloToolKit/python/atk/io/io_connection.py:128: in open
    self.io_hub.open(self._io_device)
../../../../development/AggloToolKit/python/atk/io/io_hub.py:118: in open
    io_device.open()
../../../../development/AggloToolKit/python/atk/io/scapy/io_device.py:155: in open
    self.__scapy_output = cls_l3_socket(iface=self.itf_name, type=ETH_P_ALL)
/home/etienne/.local/share/virtualenvs/pipenv-F-TL6FKQ/local/lib/python2.7/site-packages/scapy/supersocket.py:78: in __init__
    self.outs = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_RAW)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <socket._socketobject object at 0x7f88c59c1830>, family = 2, type = 3, proto = 255, _sock = None

    def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0, _sock=None):
        if _sock is None:
>           _sock = _realsocket(family, type, proto)
E           error: [Errno 1] Operation not permitted

/usr/lib/python2.7/socket.py:191: error

Du coup je tente de lancer mes tests en sudo, toujours dans pipenv shell :

sudo pytest
sudo: pytest : commande introuvable

Comment faire pour exécuter mes tests en sudo (ou basculer en droit root à l'intérieur de mes tests) ?

Merci,

Étienne

demandé 24-Jul par toub (430 points)
reclassée 30-Jul par toub

As-tu essayé cette manip' : https://stackoverflow.com/a/36356783/1117028 ?

Merci pour ta réponse,
oui j'avais essayé ça mais sans succès. J'ai fini par trouver la réponse il suffit de lancer pipenv shell en sudo (alors qu'auparavant je lançais pipenv shell puis je lancais pytest en sudo. Je maitrise pas assez linux pour dire ou se situe la différence)

Votre réponse

Preview

Votre nom à afficher ( en option ):
Vie privée: . Votre adresse de messagerie ne sera utilisée que pour l'envoi de ces notifications .
Vérification anti -spam:
Pour éviter cette vérification à l'avenir, Connectez vous ou inscrivez vous.
...