IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Comment tester les erreurs système


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    ingénierie gros ouvrages mobiles
    Inscrit en
    Août 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ingénierie gros ouvrages mobiles
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2014
    Messages : 21
    Par défaut Comment tester les erreurs système
    Bonjour,

    Je réalise une fonction de manipulation de fichiers sur le disque dur.
    Vous pouvez la voir ici .
    Pour les tests principaux, pas de problème mais pour tester une erreur de copie je ne voit pas.

    J'ai tenté de changer les droits du fichier (lecture seule) mais aucune erreur n'est renvoyée par os.rename(). Ce ne parait pas normal.

    Comment faites-vous pour déclencher ce genre d'erreur ?

    Cordialement

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 754
    Par défaut
    Salut,

    Citation Envoyé par johnsdoeuf Voir le message
    Comment faites-vous pour déclencher ce genre d'erreur ?
    Vous avez 2 solutions.
    La première sera de créer un répertoire avec les protections suffisante pour que rename (côté OS) plante pour des questions de droits.
    La seconde sera de faire un "mock", i.e. de replacer os.rename par du code à vous qui remonte une erreur ou une exception à l'appelant. Exemple, je crée my_rename:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> def my_rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None):
    ...     raise ValueError("pour tester")
    ...
    Puis je remplace la fonction standard par ma prose:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> import os
    >>> os.rename = my_rename
    Et çà plante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> os.rename('a', 'b')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "<stdin>", line 2, in my_rename
    ValueError: pour tester
    >>>
    Un peu de recherche sur "Python mock" vous montrera un tas de packages qui utilisent cela de façon plus élaborée.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    ingénierie gros ouvrages mobiles
    Inscrit en
    Août 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ingénierie gros ouvrages mobiles
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2014
    Messages : 21
    Par défaut
    Merci,

    La première solution, était ma première approche, sans succès à ce jour.

    les Mocks ont l'air puissant, je vais me renseigner.

Discussions similaires

  1. Comment récupérer les icones système ?
    Par Reynald dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 27/07/2005, 14h05
  2. Comment modifier les couleurs système ?
    Par yousserr dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 24/07/2005, 10h57
  3. [pgAdminIII] Comment ignorer les erreurs de script
    Par Escandil dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 22/07/2005, 12h03
  4. [SAX] Comment gerer les erreurs soulevés par sax
    Par tipaquo dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 03/07/2005, 12h00
  5. [web] comment afficher les erreur d'un cgi
    Par chtiboss dans le forum Web
    Réponses: 6
    Dernier message: 24/12/2003, 11h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo