mirror of
https://github.com/GlowstoneMC/Glowstone
synced 2026-08-19 08:23:05 -04:00
28 lines
1 KiB
Bash
Executable file
28 lines
1 KiB
Bash
Executable file
#!/bin/sh
|
|
# Generates test stubs for all the command classes that are lacking tests.
|
|
# These stubs will inherit testExecuteFailsWithoutPermission().
|
|
TESTS=$(find src/main/java/net/glowstone/command -iname "*Command.java" | sed s/\.java$/Test.java/ | sed s_^src/main_src/test_)
|
|
for TEST in ${TESTS}; do
|
|
if [ ! -f ${TEST} ]; then
|
|
SIMPLE_NAME=$(echo ${TEST} | sed 's_^.*/__' | sed 's/\.java$//')
|
|
# Exclude SaveToggleCommand since it's tested by SaveOffCommandTest and SaveOnCommandTest
|
|
if (( 'SaveToggleCommandTest' != ${SIMPLE_NAME} )); then
|
|
PACKAGE=$(echo ${TEST} | sed 's_/[^/]*$__' | sed 's_^src/test/java/__' | sed s_/_._g)
|
|
SUBJECT=$(echo ${SIMPLE_NAME} | sed 's/Test$//') # class under test
|
|
echo "\
|
|
package ${PACKAGE};\n\
|
|
\n\
|
|
import net.glowstone.command.CommandTest;\n\
|
|
\n\
|
|
public class ${SIMPLE_NAME} extends CommandTest<${SUBJECT}> {\n\
|
|
\n\
|
|
// TODO: Add more tests.\n\
|
|
\n\
|
|
public ${SIMPLE_NAME}() {\n\
|
|
super(${SUBJECT}::new);\n\
|
|
}\n\
|
|
}\n\
|
|
" >> ${TEST}
|
|
fi
|
|
fi
|
|
done
|