Import LinuxCNC source tree
This commit is contained in:
2
tests/halcompile/userspace-count-names/.gitignore
vendored
Normal file
2
tests/halcompile/userspace-count-names/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
*.result
|
||||
userspace_count_names
|
||||
2
tests/halcompile/userspace-count-names/both.hal
Normal file
2
tests/halcompile/userspace-count-names/both.hal
Normal file
@@ -0,0 +1,2 @@
|
||||
loadusr -W userspace_count_names count=3 names=no,way
|
||||
list pin
|
||||
9
tests/halcompile/userspace-count-names/checkresult
Executable file
9
tests/halcompile/userspace-count-names/checkresult
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
cd "$(dirname "$1")" || { echo "E: Could not change directory to '$(dirname "$1")'"; exit 1; }
|
||||
RETVAL=0
|
||||
for EXPECTED in *.expected ; do
|
||||
BASE=$(basename "$EXPECTED" .expected)
|
||||
RESULT=$BASE.result
|
||||
diff -u "$EXPECTED" "$RESULT" || RETVAL=1
|
||||
done
|
||||
exit $RETVAL
|
||||
@@ -0,0 +1,26 @@
|
||||
count=2
|
||||
argc=2
|
||||
argv[0]=userspace_count_names
|
||||
argv[1]=zip
|
||||
argv[2]=(null)
|
||||
userspace-count-names.0.out
|
||||
userspace-count-names.1.out
|
||||
|
||||
count=2
|
||||
argc=3
|
||||
argv[0]=userspace_count_names
|
||||
argv[1]=zip
|
||||
argv[2]=zap
|
||||
argv[3]=(null)
|
||||
userspace-count-names.0.out
|
||||
userspace-count-names.1.out
|
||||
|
||||
count=2
|
||||
argc=3
|
||||
argv[0]=userspace_count_names
|
||||
argv[1]=zap
|
||||
argv[2]=zoot
|
||||
argv[3]=(null)
|
||||
userspace-count-names.0.out
|
||||
userspace-count-names.1.out
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
loadusr -W userspace_count_names count=2 zip
|
||||
list pin
|
||||
unloadusr userspace_count_names
|
||||
waitusr userspace_count_names
|
||||
|
||||
loadusr -W userspace_count_names zip count=2 zap
|
||||
list pin
|
||||
unloadusr userspace_count_names
|
||||
waitusr userspace_count_names
|
||||
|
||||
loadusr -W userspace_count_names zap zoot count=2
|
||||
list pin
|
||||
unloadusr userspace_count_names
|
||||
waitusr userspace_count_names
|
||||
|
||||
8
tests/halcompile/userspace-count-names/count=3.expected
Normal file
8
tests/halcompile/userspace-count-names/count=3.expected
Normal file
@@ -0,0 +1,8 @@
|
||||
count=3
|
||||
argc=1
|
||||
argv[0]=userspace_count_names
|
||||
argv[1]=(null)
|
||||
userspace-count-names.0.out
|
||||
userspace-count-names.1.out
|
||||
userspace-count-names.2.out
|
||||
|
||||
2
tests/halcompile/userspace-count-names/count=3.hal
Normal file
2
tests/halcompile/userspace-count-names/count=3.hal
Normal file
@@ -0,0 +1,2 @@
|
||||
loadusr -W userspace_count_names count=3
|
||||
list pin
|
||||
@@ -0,0 +1,33 @@
|
||||
count=0
|
||||
names[0]=swim
|
||||
names[1]=swish
|
||||
argc=3
|
||||
argv[0]=userspace_count_names
|
||||
argv[1]=slap
|
||||
argv[2]=slop
|
||||
argv[3]=(null)
|
||||
swim.out
|
||||
swish.out
|
||||
|
||||
count=0
|
||||
names[0]=swat
|
||||
names[1]=swap
|
||||
argc=4
|
||||
argv[0]=userspace_count_names
|
||||
argv[1]=slam
|
||||
argv[2]=slalom
|
||||
argv[3]=slap
|
||||
argv[4]=(null)
|
||||
swap.out
|
||||
swat.out
|
||||
|
||||
count=0
|
||||
names[0]=sock
|
||||
names[1]=slack
|
||||
argc=2
|
||||
argv[0]=userspace_count_names
|
||||
argv[1]=slip
|
||||
argv[2]=(null)
|
||||
slack.out
|
||||
sock.out
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
loadusr -W userspace_count_names names=swim,swish slap slop
|
||||
list pin
|
||||
unloadusr userspace_count_names
|
||||
waitusr userspace_count_names
|
||||
|
||||
loadusr -W userspace_count_names slam slalom names=swat,swap slap
|
||||
list pin
|
||||
unloadusr userspace_count_names
|
||||
waitusr userspace_count_names
|
||||
|
||||
loadusr -W userspace_count_names slip names=sock,slack
|
||||
list pin
|
||||
unloadusr userspace_count_names
|
||||
waitusr userspace_count_names
|
||||
|
||||
9
tests/halcompile/userspace-count-names/names.expected
Normal file
9
tests/halcompile/userspace-count-names/names.expected
Normal file
@@ -0,0 +1,9 @@
|
||||
count=0
|
||||
names[0]=bibble
|
||||
names[1]=bobble
|
||||
argc=1
|
||||
argv[0]=userspace_count_names
|
||||
argv[1]=(null)
|
||||
bibble.out
|
||||
bobble.out
|
||||
|
||||
2
tests/halcompile/userspace-count-names/names.hal
Normal file
2
tests/halcompile/userspace-count-names/names.hal
Normal file
@@ -0,0 +1,2 @@
|
||||
loadusr -W userspace_count_names names=bibble,bobble
|
||||
list pin
|
||||
6
tests/halcompile/userspace-count-names/no-args.expected
Normal file
6
tests/halcompile/userspace-count-names/no-args.expected
Normal file
@@ -0,0 +1,6 @@
|
||||
count=0
|
||||
argc=1
|
||||
argv[0]=userspace_count_names
|
||||
argv[1]=(null)
|
||||
userspace-count-names.0.out
|
||||
|
||||
2
tests/halcompile/userspace-count-names/no-args.hal
Normal file
2
tests/halcompile/userspace-count-names/no-args.hal
Normal file
@@ -0,0 +1,2 @@
|
||||
loadusr -W userspace_count_names
|
||||
list pin
|
||||
23
tests/halcompile/userspace-count-names/test.sh
Executable file
23
tests/halcompile/userspace-count-names/test.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
${SUDO} halcompile --install userspace_count_names.comp
|
||||
|
||||
INSTALLED_FILE="${EMC2_HOME}/bin/userspace_count_names"
|
||||
if [[ ! -f "${INSTALLED_FILE}" ]]; then
|
||||
echo "'halcompile --install' did not install '${INSTALLED_FILE}'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MODE=$(stat --printf '%#03a\n' "${INSTALLED_FILE}")
|
||||
if [[ $((MODE & 0111)) == '0' ]]; then
|
||||
echo "installed file '${INSTALLED_FILE}' has incorrect permissions"
|
||||
echo "expected *some* execute bit, got ${MODE}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for HAL in *.hal; do
|
||||
echo "testing $HAL"
|
||||
BASE=$(basename "$HAL" .hal)
|
||||
halrun "$HAL" | tr ' ' '\n' >| "$BASE".result
|
||||
done
|
||||
@@ -0,0 +1,35 @@
|
||||
component userspace_count_names;
|
||||
option userspace;
|
||||
option userinit;
|
||||
|
||||
pin out signed out = 42;
|
||||
license "GPL";
|
||||
;;
|
||||
#include <unistd.h>
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
|
||||
void exit_handler(int signo) {
|
||||
;
|
||||
}
|
||||
|
||||
void userinit(int argc, char **argv) {
|
||||
int i;
|
||||
printf("count=%d\n", count);
|
||||
for (i = 0; i < 16; i ++) {
|
||||
if (names[i] != NULL) {
|
||||
printf("names[%d]=%s\n", i, names[i]);
|
||||
}
|
||||
}
|
||||
printf("argc=%d\n", argc);
|
||||
for (i = 0; i <= argc; i ++) {
|
||||
printf("argv[%d]=%s\n", i, argv[i]);
|
||||
}
|
||||
signal(SIGTERM, exit_handler);
|
||||
fflush(NULL);
|
||||
}
|
||||
|
||||
void user_mainloop(void) {
|
||||
pause();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user