diff --git a/test-all-native.sh b/test-all-native.sh index c08bcb3..574e0bc 100755 --- a/test-all-native.sh +++ b/test-all-native.sh @@ -43,6 +43,10 @@ switchkins_checker_unknown_option_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchki switchkins_checker_too_many_args_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_checker_too_many_args.XXXXXX.log") switchkins_cached_missing_cache_dir_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_cached_missing_cache_dir.XXXXXX.log") switchkins_cached_whitespace_cache_dir_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_cached_whitespace_cache_dir.XXXXXX.log") +switchkins_generator_unknown_option_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_generator_unknown_option.XXXXXX.log") +switchkins_generator_missing_output_dir_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_generator_missing_output_dir.XXXXXX.log") +switchkins_generator_too_many_args_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_generator_too_many_args.XXXXXX.log") +switchkins_generator_whitespace_output_dir_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_generator_whitespace_output_dir.XXXXXX.log") bad_line_manifest=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_bad_manifest_line.XXXXXX.txt") bad_line_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_bad_manifest_line.XXXXXX.log") absolute_source_manifest=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_absolute_manifest_source.XXXXXX.txt") @@ -84,6 +88,10 @@ cleanup_native_test_temps() { "$switchkins_checker_too_many_args_log" \ "$switchkins_cached_missing_cache_dir_log" \ "$switchkins_cached_whitespace_cache_dir_log" \ + "$switchkins_generator_unknown_option_log" \ + "$switchkins_generator_missing_output_dir_log" \ + "$switchkins_generator_too_many_args_log" \ + "$switchkins_generator_whitespace_output_dir_log" \ "$bad_line_manifest" \ "$bad_line_log" \ "$absolute_source_manifest" \ @@ -209,6 +217,10 @@ for forbidden_manual_cleanup in \ 'rm -f "$switchkins_checker_too_many_args_log"' \ 'rm -f "$switchkins_cached_missing_cache_dir_log"' \ 'rm -f "$switchkins_cached_whitespace_cache_dir_log"' \ + 'rm -f "$switchkins_generator_unknown_option_log"' \ + 'rm -f "$switchkins_generator_missing_output_dir_log"' \ + 'rm -f "$switchkins_generator_too_many_args_log"' \ + 'rm -f "$switchkins_generator_whitespace_output_dir_log"' \ 'rm -f "$bad_line_manifest" "$bad_line_log"' \ 'rm -f "$absolute_source_manifest" "$absolute_source_log"' \ 'rm -f "$invalid_build_jobs_log"' \ @@ -1344,6 +1356,49 @@ if ! grep -F "CNC_SIM_PREFLIGHT_CACHE_DIR must not contain whitespace: build/swi sed -n '1,20p' "$switchkins_cached_whitespace_cache_dir_log" >&2 exit 1 fi +if ./generate-linuxcnc-switchkins-remap-table.sh --unknown >"$switchkins_generator_unknown_option_log" 2>&1; then + echo "switchkins remap table generator accepted an unknown option" >&2 + exit 1 +fi +if ! grep -F "unknown switchkins remap table generator option: --unknown" \ + "$switchkins_generator_unknown_option_log" >/dev/null; then + echo "switchkins remap table generator did not report unknown options clearly" >&2 + sed -n '1,20p' "$switchkins_generator_unknown_option_log" >&2 + exit 1 +fi +if ./generate-linuxcnc-switchkins-remap-table.sh --all-output-dir \ + >"$switchkins_generator_missing_output_dir_log" 2>&1; then + echo "switchkins remap table generator accepted --all-output-dir without a directory" >&2 + exit 1 +fi +if ! grep -F "missing output directory for --all-output-dir" \ + "$switchkins_generator_missing_output_dir_log" >/dev/null; then + echo "switchkins remap table generator did not report missing output directories clearly" >&2 + sed -n '1,20p' "$switchkins_generator_missing_output_dir_log" >&2 + exit 1 +fi +if ./generate-linuxcnc-switchkins-remap-table.sh linuxcnc-kinematics-source-files.txt extra \ + >"$switchkins_generator_too_many_args_log" 2>&1; then + echo "switchkins remap table generator accepted too many arguments" >&2 + exit 1 +fi +if ! grep -F "too many switchkins remap table generator arguments" \ + "$switchkins_generator_too_many_args_log" >/dev/null; then + echo "switchkins remap table generator did not report too many arguments clearly" >&2 + sed -n '1,20p' "$switchkins_generator_too_many_args_log" >&2 + exit 1 +fi +if ./generate-linuxcnc-switchkins-remap-table.sh --all-output-dir "build/switchkins output" \ + linuxcnc-kinematics-source-files.txt >"$switchkins_generator_whitespace_output_dir_log" 2>&1; then + echo "switchkins remap table generator accepted whitespace in output dir" >&2 + exit 1 +fi +if ! grep -F "switchkins remap output directory must not contain whitespace: build/switchkins output" \ + "$switchkins_generator_whitespace_output_dir_log" >/dev/null; then + echo "switchkins remap table generator did not report whitespace output dirs clearly" >&2 + sed -n '1,20p' "$switchkins_generator_whitespace_output_dir_log" >&2 + exit 1 +fi grep -Fx "HALCMD = sets :x-offset -20" "$linuxcnc_root/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini" >/dev/null grep -Fx "HALCMD = sets :z-offset -15" "$linuxcnc_root/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini" >/dev/null grep -Fx "HALCMD = setp xyzbc-trt-kins.x-rot-point 0" "$linuxcnc_root/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini" >/dev/null