42shpimanmls / 42sh

Shell project at 42
3 stars 0 forks source link

SH under OSX #240

Closed pilespin closed 7 years ago

pilespin commented 7 years ago

[KO] "echo -n lol" lol -n lol [KO] "exit -99999" 42sh: wrong exit value: -99999

DIFFERENT SIGNAL: 42sh=2 vs sh=97 [KO] "exit -1" 42sh: wrong exit value: -1

DIFFERENT SIGNAL: 42sh=2 vs sh=255 [KO] "env -lol ls" 1c1,3 Usage: env [-i] name[=word]… env: illegal option -- l usage: env [-iv] [-P utilpath] [-S string] [-u name] [name=value ...] [utility [argument ...]] DIFFERENT SIGNAL: 42sh=125 vs sh=1

n0izn0iz commented 7 years ago

oui ça fait la même chez moi, c'est juste des valeurs de retour différents, ce qui n'est pas standardisé

n0izn0iz commented 7 years ago

ton test devrait convertir la valeur de retour en booleen et comparer ça

pilespin commented 7 years ago

zero its OK or not?

pilespin commented 7 years ago

if (RETURN != 0) ----ERROR

n0izn0iz commented 7 years ago
(42sh_exit_status != 0) != (refshell_exit_status != 0)
    ERROR

ou

(42sh_exit_status == 0) != (refshell_exit_status == 0)
    ERROR
pilespin commented 7 years ago

pourquoi convertir un bool?

n0izn0iz commented 7 years ago

pas sur de comprendre.

Si un programe retourne 0 c'est SUCCESS si un programme retourne != 0 c'est FAILURE, nous on doirtcomparer que quand le shell de reference fait SUCCESS nous aussi on fait SUCCESS et que quand il fait FAILURE, nous aussi on fait failure. Sauf pour les tests genre exit ou il faut une valeur de retour particuliére

pilespin commented 7 years ago

ton test devrait convertir la valeur de retour en booleen et comparer ça

pourquoi convertir un bool?

pilespin commented 7 years ago

les command not found 127 il se retrouverait en TRUE ou FALSE

n0izn0iz commented 7 years ago

mais c'est pas standardisé ce truc la!

n0izn0iz commented 7 years ago

le gros truc chiant c'est qu'on peux plus tester exit

n0izn0iz commented 7 years ago

mais on peux faire 2 suites de tests, une qui est stricte sur la valeur de retour et une qui fait le test booleen

pilespin commented 7 years ago

je pense que c'est BAD le test booleen

n0izn0iz commented 7 years ago

ok mais du coup ça va faire des erreur sur nos sh mais pas sur travis ou vis versa

pilespin commented 7 years ago

pourquoi travis il passe

n0izn0iz commented 7 years ago

parceque j'ai modifié pour que les valeurs de retour match le shell de travis (retourne 2 quand il y a des erreurs de syntaxe ou d'usage et (% n) ou (2 si n < 0) dans exit)

pilespin commented 7 years ago

il y a que le SH de travis qui est en BOOLEEN?

n0izn0iz commented 7 years ago

wut?? non, comme tu l'a fait remarquer, les shells envoient tous des valeurs de retour différentes pour certains tests (mais toujours != 0 ou == 0) Il faudrait faire la validation booléenne pour ces tests la

pilespin commented 7 years ago

dans les test il faudrait que je rajoute: [CK] si c'est pas le meme signal et que les deux sont different de zero

n0izn0iz commented 7 years ago

je le fait dans #241 ?

pilespin commented 7 years ago

non

pilespin commented 7 years ago

242

n0izn0iz commented 7 years ago

242