name: "Builtins: hash" cases: - name: "Non-existent program" ignore_stderr: true stdin: | hash non-existent-program echo "Result: $?" - name: "Re-hash non-existent program" ignore_stderr: true stdin: | hash -p /some/path non-existent-program hash -t non-existent-program && echo "1. Result: $?" hash non-existent-program && echo "2. Result: $?" hash -t non-existent-program && echo "3. Result: $?" - name: "Existent program" stdin: | hash ls echo "Result: $?" - name: "Display not-yet-hashed program" ignore_stderr: true stdin: | hash -t ls echo "1. Result: $?" ls >/dev/null 2>&1 hash -t ls echo "2. Result: $?" - name: "Display hashed program" stdin: | hash -p /some/path somecmd && echo "1. Result: $?" hash -t somecmd && echo "2. Result: $?" - name: "Display multiple hashed programs" stdin: | hash -p /some/path somecmd1 && echo "1. Result: $?" hash -p /some/path somecmd2 && echo "2. Result: $?" hash -t somecmd1 somecmd2 && echo "3. Result: $?" - name: "Display -l path" stdin: | hash -p "/some/spaces path" somecmd && echo "1. Result: $?" hash -t somecmd && echo "2. Result: $?" hash -t -l somecmd && echo "3. Result: $?" - name: "Remove" ignore_stderr: true stdin: | hash -p /some/path somecmd && echo "1. Result: $?" hash -t somecmd && echo "2. Result: $?" hash -d somecmd && echo "3. Result: $?" hash -t somecmd && echo "4. Result: $?" - name: "Remove all" ignore_stderr: true stdin: | hash -p /some/path somecmd1 && echo "1. Result: $?" hash -p /some/path somecmd2 && echo "2. Result: $?" hash -r && echo "3. Result: $?" hash -t somecmd1 && echo "4. Result: $?" hash -t somecmd2 && echo "5. Result: $?" - name: "Hash file path" ignore_stderr: true stdin: | hash /dev/null && echo "1. Result: $?" hash /dev/nulll && echo "2. Result: $?"