Skip to content

Commit d328f75

Browse files
authored
docs: Put valgrind command into shell rc files
1 parent 7602a98 commit d328f75

File tree

1 file changed

+28
-16
lines changed

1 file changed

+28
-16
lines changed

README.md

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -606,23 +606,35 @@ Reference:
606606

607607
# How to test with Valgrind
608608

609-
To test your minishell extensively with Valgrind, but without any reports from external commands, you can use this command:
609+
To test your minishell extensively with Valgrind, but without any reports from external commands, you can add the `valms` function to your bash and zsh:
610610
```bash
611-
bash -c '
612-
export SUPPRESSION_FILE=$(mktemp)
613-
curl -s https://raw.githubusercontent.com/LeaYeh/42_minishell_tester/master/utils/minishell.supp > $SUPPRESSION_FILE
614-
export VALGRIND=$(which valgrind)
615-
export VALGRINDFLAGS="--errors-for-leak-kinds=all --leak-check=full --read-var-info=yes --show-error-list=yes --show-leak-kinds=all --suppressions=$SUPPRESSION_FILE --trace-children=yes --track-origins=yes"
616-
export VALGRINDFDFLAGS="--track-fds=all"
617-
export IGNORED_PATHS="/bin/* /usr/bin/* /usr/sbin/* $(which -a norminette)"
618-
export VALGRINDFLAGS+=" --trace-children-skip=$(echo $IGNORED_PATHS | sed '"'"'s/ /,/g'"'"')"
619-
export PATH="/bin:/usr/bin:/usr/sbin:$PATH"
620-
$VALGRIND $VALGRINDFLAGS $VALGRINDFDFLAGS ./minishell
621-
EXIT_CODE=$?
622-
rm -f $SUPPRESSION_FILE
623-
echo "Exit code: $EXIT_CODE"
624-
exit $EXIT_CODE
625-
'
611+
tee -a ~/.zshrc ~/.bashrc >/dev/null << 'EOF'
612+
613+
valms() {
614+
bash -c '
615+
export SUPPRESSION_FILE=$(mktemp)
616+
curl -s https://raw.githubusercontent.com/LeaYeh/42_minishell_tester/master/utils/minishell.supp > $SUPPRESSION_FILE
617+
export VALGRIND=$(which valgrind)
618+
export VALGRINDFLAGS="--errors-for-leak-kinds=all --leak-check=full --read-var-info=yes --show-error-list=yes --show-leak-kinds=all --suppressions=$SUPPRESSION_FILE --trace-children=yes --track-origins=yes"
619+
export VALGRINDFDFLAGS="--track-fds=all"
620+
export IGNORED_PATHS="/bin/* /usr/bin/* /usr/sbin/* $(which -a norminette)"
621+
export VALGRINDFLAGS+=" --trace-children-skip=$(echo $IGNORED_PATHS | sed '"'"'s/ /,/g'"'"')"
622+
export PATH="/bin:/usr/bin:/usr/sbin:$PATH"
623+
$VALGRIND $VALGRINDFLAGS $VALGRINDFDFLAGS ./minishell
624+
EXIT_CODE=$?
625+
rm -f $SUPPRESSION_FILE
626+
echo "Exit code: $EXIT_CODE"
627+
exit $EXIT_CODE
628+
'
629+
}
630+
631+
EOF
632+
exec $SHELL
633+
```
634+
635+
**Usage:**
636+
```bash
637+
valms
626638
```
627639

628640
# Liked it?

0 commit comments

Comments
 (0)