adding test + install script + cleanup

This commit is contained in:
2026-05-05 08:12:48 +02:00
parent d3beaca075
commit 43697c8953
8 changed files with 70 additions and 36 deletions
+5
View File
@@ -0,0 +1,5 @@
O.*
.cvsignore
testenv/
__pycache__
.pytest_cache
+4 -4
View File
@@ -1,12 +1,12 @@
record(longout, "$(DEVICE)_config_$(CONFIG_PARAMETER_NAME)") {
record(longout, "$(DEVICE_NAME)_config_$(CONFIG_PARAMETER_NAME)") {
field(VAL, "$(OUTLET_NUMBER)")
}
record(scalcout, "$(DEVICE)_outlet_getter") {
record(scalcout, "$(DEVICE_NAME)_outlet_getter") {
field(DTYP, "stream")
field(SCAN, "1 second")
field(CALC, "0")
field(OUT, "@$(PROTO) get$(OUTLET_NUMBER)() $(PORT)")
field(FLNK, "$(DEVICE)_get_outlet_0")
field(OUT, "@$(DB)command.proto get$(OUTLET_NUMBER)() $(PORT)")
field(FLNK, "$(DEVICE_NAME)_get_outlet_0")
}
+5 -5
View File
@@ -1,13 +1,13 @@
record(stringout, "$(DEVICE)_set_$(PARAMETER_NAME)_$(PARAMETER_ID)") {
record(stringout, "$(DEVICE_NAME)_set_$(PARAMETER_NAME)_$(PARAMETER_ID)") {
field(DTYP, "stream")
field(VAL, "Off")
field(PINI, "YES")
field(OUT, "@$(PROTO) set($(PARAMETER_ID)) $(PORT)")
field(OUT, "@$(DB)command.proto set($(PARAMETER_ID)) $(PORT)")
}
record(stringin, "$(DEVICE)_get_$(PARAMETER_NAME)_$(PARAMETER_ID)") {
field(INP, "$(DEVICE)_outlet_getter.$(SCALCOUT_FIELD_INPUT) NPP MS")
field(FLNK, "$(DEVICE)_get_$(PARAMETER_NAME)_$(FORWARDED_ID)")
record(stringin, "$(DEVICE_NAME)_get_$(PARAMETER_NAME)_$(PARAMETER_ID)") {
field(INP, "$(DEVICE_NAME)_outlet_getter.$(SCALCOUT_FIELD_INPUT) NPP MS")
field(FLNK, "$(DEVICE_NAME)_get_$(PARAMETER_NAME)_$(FORWARDED_ID)")
}
+9 -9
View File
@@ -1,16 +1,16 @@
file db/socket_record.db
file socket_record.db
{
pattern
{ DEVICE, PARAMETER_NAME, PARAMETER_ID, SCALCOUT_FIELD_INPUT, FORWARDED_ID}
{ "$(DEVICE_NAME)", "outlet", 0, "AA", 1}
{ "$(DEVICE_NAME)", "outlet", 1, "BB", 2}
{ "$(DEVICE_NAME)", "outlet", 2, "CC", 3}
{ "$(DEVICE_NAME)", "outlet", 3, "DD", 3}
{ PARAMETER_NAME, PARAMETER_ID, SCALCOUT_FIELD_INPUT, FORWARDED_ID}
{ "outlet", 0, "AA", 1}
{ "outlet", 1, "BB", 2}
{ "outlet", 2, "CC", 3}
{ "outlet", 3, "DD", 3}
}
file db/feedback_records.db
file feedback_records.db
{
pattern
{ DEVICE, CONFIG_PARAMETER_NAME, OUTLET_NUMBER, GETTER_OUTPUT_PARAMETER_NAME}
{ "$(DEVICE_NAME)", "maxOutlet", 4, "outlet"}
{ CONFIG_PARAMETER_NAME, OUTLET_NUMBER, GETTER_OUTPUT_PARAMETER_NAME}
{ "maxOutlet", 4, "outlet"}
}
+13 -13
View File
@@ -1,20 +1,20 @@
file db/socket_record.db
file socket_record.db
{
pattern
{ DEVICE, PARAMETER_NAME, PARAMETER_ID, SCALCOUT_FIELD_INPUT, FORWARDED_ID}
{ "$(DEVICE_NAME)", "outlet", 0, "AA", 1}
{ "$(DEVICE_NAME)", "outlet", 1, "BB", 2}
{ "$(DEVICE_NAME)", "outlet", 2, "CC", 3}
{ "$(DEVICE_NAME)", "outlet", 3, "DD", 4}
{ "$(DEVICE_NAME)", "outlet", 4, "EE", 5}
{ "$(DEVICE_NAME)", "outlet", 5, "FF", 6}
{ "$(DEVICE_NAME)", "outlet", 6, "GG", 7}
{ "$(DEVICE_NAME)", "outlet", 7, "HH", 7}
{ PARAMETER_NAME, PARAMETER_ID, SCALCOUT_FIELD_INPUT, FORWARDED_ID}
{ "outlet", 0, "AA", 1}
{ "outlet", 1, "BB", 2}
{ "outlet", 2, "CC", 3}
{ "outlet", 3, "DD", 4}
{ "outlet", 4, "EE", 5}
{ "outlet", 5, "FF", 6}
{ "outlet", 6, "GG", 7}
{ "outlet", 7, "HH", 7}
}
file db/feedback_records.db
file feedback_records.db
{
pattern
{DEVICE, CONFIG_PARAMETER_NAME, OUTLET_NUMBER, GETTER_OUTPUT_PARAMETER_NAME}
{ "$(DEVICE_NAME)", "maxOutlet", 8, "outlet"}
{CONFIG_PARAMETER_NAME, OUTLET_NUMBER, GETTER_OUTPUT_PARAMETER_NAME}
{"maxOutlet", 8, "outlet"}
}
Executable
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash
/usr/bin/python3.11 -m venv "testenv"
source testenv/bin/activate
pip install 'caproto'
pip install 'pytest'
pip install 'pyyaml'
pip install 'numpy'
+5 -5
View File
@@ -1,12 +1,12 @@
require stream
require ePowerSwitch,ponsin_h
epicsEnvSet("ASYN_PORT","myDriverPort")
epicsEnvSet("ASYN_PORT", "myDriverPort")
epicsEnvSet("EPOWERSWITCH_SOCKET_NUMBER", 8)
epicsEnvSet("DB", "$(ePowerSwitch_DB)")
# I use HTTP to use TCP and disconnect after, but no disconnection is done, so I disconnect manually.
drvAsynIPPortConfigure("$(ASYN_PORT)","127.0.0.1:55555 http", 0, 0, 0)
dbLoadTemplate("db/template$(EPOWERSWITCH_SOCKET_NUMBER).substitutions", "PORT=$(ASYN_PORT), DEVICE_NAME=ePowerSwitch, PROTO=db/command.proto")
dbLoadTemplate("$(DB)template$(EPOWERSWITCH_SOCKET_NUMBER).substitutions", "PORT=$(ASYN_PORT), DEVICE_NAME=ePowerSwitch, DB=$(DB)")
iocInit()
+20
View File
@@ -0,0 +1,20 @@
from caproto.threading.client import Context
def test_main():
assert(0 == 1)
class CaprotoWrapper:
def __init__(self, timeout = 3.0):
self._pvs = {}
self._ctx = Context()
def connect_pv(self, pvname):
if pvname in self._pvs:
return
pv = self._ctx.get_pvs(pvname)
self._pvs[pvname] = pv
def get_pv_value(self, pvname):
self.connect_pv(pvname)
pv = self._pvs[pvname]