mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2026-01-28 01:47:18 +01:00
Test to check memory leak in datamodel
This commit is contained in:
parent
1ebbb82cd1
commit
333c4b4fd7
19 changed files with 943 additions and 8 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -38,4 +38,5 @@ tools/*.pyc
|
|||
tools/__pycache__
|
||||
*.gcov
|
||||
*.gcno
|
||||
*.log
|
||||
*\.log
|
||||
.libs
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ stages:
|
|||
- functional_test
|
||||
- functional_api_test
|
||||
- tools_test
|
||||
- memory_test
|
||||
- uspd
|
||||
|
||||
variables:
|
||||
|
|
@ -70,6 +71,24 @@ run_tools_test:
|
|||
- tools/out/datamodel_hdm.xml
|
||||
- tools/out/datamodel.xls
|
||||
|
||||
run_memory_test:
|
||||
stage: memory_test
|
||||
image: iopsys/code-analysis:latest
|
||||
allow_failure: false
|
||||
script:
|
||||
- "./gitlab-ci/setup.sh"
|
||||
- "./gitlab-ci/memory-test.sh"
|
||||
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- timestamp.log
|
||||
- memory-report-get.xml
|
||||
- memory-report-operate.xml
|
||||
- memory-report-schema.xml
|
||||
- memory-report-instances.xml
|
||||
- memory-test-coverage.xml
|
||||
|
||||
run_uspd:
|
||||
stage: uspd
|
||||
variables:
|
||||
|
|
|
|||
46
gitlab-ci/memory-test.sh
Executable file
46
gitlab-ci/memory-test.sh
Executable file
|
|
@ -0,0 +1,46 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "Functional API Tests"
|
||||
pwd
|
||||
source ./gitlab-ci/shared.sh
|
||||
|
||||
date +%s > timestamp.log
|
||||
# compile and install libbbf
|
||||
install_libbbf
|
||||
|
||||
install_libbbf_test
|
||||
|
||||
supervisorctl status all
|
||||
supervisorctl update
|
||||
sleep 5
|
||||
supervisorctl status all
|
||||
|
||||
echo "Running memory check on datamodel"
|
||||
ret=0
|
||||
valgrind --xml=yes --xml-file=/builds/iopsys/bbf/memory-report-get.xml --leak-check=full --show-reachable=yes --show-leak-kinds=all --errors-for-leak-kinds=all --error-exitcode=1 --track-origins=yes /builds/iopsys/bbf/test/bbf_test/bbf_dm -u get Device.
|
||||
ret=$?
|
||||
|
||||
valgrind --xml=yes --xml-file=/builds/iopsys/bbf/memory-report-operate.xml --leak-check=full --show-reachable=yes --show-leak-kinds=all --errors-for-leak-kinds=all --error-exitcode=1 --track-origins=yes /builds/iopsys/bbf/test/bbf_test/bbf_dm -u list_operate
|
||||
ret=$(( ret + $? ))
|
||||
|
||||
valgrind --xml=yes --xml-file=/builds/iopsys/bbf/memory-report-schema.xml --leak-check=full --show-reachable=yes --show-leak-kinds=all --errors-for-leak-kinds=all --error-exitcode=1 --track-origins=yes /builds/iopsys/bbf/test/bbf_test/bbf_dm -u get_schema
|
||||
ret=$(( ret + $? ))
|
||||
|
||||
valgrind --xml=yes --xml-file=/builds/iopsys/bbf/memory-report-instances.xml --leak-check=full --show-reachable=yes --show-leak-kinds=all --errors-for-leak-kinds=all --error-exitcode=1 --track-origins=yes /builds/iopsys/bbf/test/bbf_test/bbf_dm -u instances Device.
|
||||
ret=$(( ret + $? ))
|
||||
|
||||
if [ "$ret" -ne 0 ]; then
|
||||
echo "Memory check failed"
|
||||
return $ret
|
||||
fi
|
||||
|
||||
supervisorctl stop all
|
||||
supervisorctl status
|
||||
|
||||
#report part
|
||||
#GitLab-CI output
|
||||
gcovr -r . 2> /dev/null #throw away stderr
|
||||
# Artefact
|
||||
gcovr -r . 2> /dev/null --xml -o ./memory-test-coverage.xml
|
||||
|
||||
echo "Memory Test :: PASS"
|
||||
3
test/bbf_test/.gitignore
vendored
Normal file
3
test/bbf_test/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
bbf_dm
|
||||
*.so
|
||||
*.o
|
||||
|
|
@ -1,16 +1,22 @@
|
|||
LIB = libbbf_test.so
|
||||
BIN = bbf_dm
|
||||
|
||||
BIN_OBJ = bbf_dm.o
|
||||
LIB_OBJS = libbbf_test.o
|
||||
LIB_CFLAGS = $(CFLAGS) -Wall -Werror -fPIC
|
||||
LIB_CFLAGS = $(CFLAGS) -fPIC -I /usr/local/include/
|
||||
LIB_LDFLAGS = $(LDFLAGS) -lbbf_api
|
||||
BIN_LDFLAGS = $(LDFLAGS) -lbbfdm
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(PROG_CFLAGS) $(FPIC) -c -o $@ $<
|
||||
$(CC) $(LIB_CFLAGS) $(FPIC) -c -o $@ $<
|
||||
|
||||
all: $(LIB)
|
||||
all: $(LIB) $(BIN)
|
||||
|
||||
$(LIB): $(LIB_OBJS)
|
||||
$(CC) $(LIB_CFLAGS) $(LIB_LDFLAGS) -shared -o $@ $^
|
||||
|
||||
$(BIN): $(BIN_OBJ)
|
||||
$(CC) -o $@ $^ $(BIN_LDFLAGS)
|
||||
|
||||
clean:
|
||||
rm -fv *.o $(LIB)
|
||||
rm -fv *.o $(LIB) $(BIN)
|
||||
|
|
|
|||
98
test/bbf_test/bbf_dm.c
Normal file
98
test/bbf_test/bbf_dm.c
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
#include <stdio.h>
|
||||
|
||||
#include <libbbfdm/dmentry.h>
|
||||
#include <libbbfdm/dmbbfcommon.h>
|
||||
|
||||
static int g_proto = BBFDM_USP;
|
||||
|
||||
typedef struct {
|
||||
int id;
|
||||
char *str;
|
||||
} cmd_t;
|
||||
|
||||
|
||||
cmd_t CMD[] = {
|
||||
{ CMD_GET_VALUE, "get"},
|
||||
{ CMD_GET_NAME, "get_name"},
|
||||
//{ CMD_SET_VALUE, "set"},
|
||||
//{ CMD_ADD_OBJECT, "add"},
|
||||
//{ CMD_DEL_OBJECT, "del"},
|
||||
//{ CMD_USP_OPERATE, "operate"},
|
||||
{ CMD_USP_LIST_OPERATE, "list_operate"},
|
||||
//{ CMD_USP_LIST_EVENT, "list_event"},
|
||||
{ CMD_GET_SCHEMA, "get_schema"},
|
||||
{ CMD_GET_INSTANCES, "instances"}
|
||||
};
|
||||
|
||||
int get_cmd_from_str(char *str)
|
||||
{
|
||||
int i, cmd = CMD_GET_VALUE;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(CMD); i++) {
|
||||
if (strcmp(CMD[i].str, str) == 0) {
|
||||
cmd = CMD[i].id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return cmd;
|
||||
}
|
||||
|
||||
void print_help(char *prog)
|
||||
{
|
||||
printf("Valid commands:\n");
|
||||
printf("%s -c => Run with cwmp proto\n", prog);
|
||||
printf("%s -u => Run with usp proto\n", prog);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
int usp_dm_exec(int cmd, char *path, char *arg1, char *arg2)
|
||||
{
|
||||
int fault = 0;
|
||||
struct dmctx bbf_ctx;
|
||||
struct dm_parameter *n;
|
||||
|
||||
memset(&bbf_ctx, 0, sizeof(struct dmctx));
|
||||
|
||||
printf("cmd[%d], path[%s]", cmd, path);
|
||||
set_bbfdatamodel_type(g_proto);
|
||||
|
||||
dm_ctx_init(&bbf_ctx, 0);
|
||||
fault = dm_entry_param_method(&bbf_ctx, cmd, path, arg1, arg2);
|
||||
|
||||
if (!fault) {
|
||||
list_for_each_entry(n, &bbf_ctx.list_parameter, list) {
|
||||
printf(" %s::%s::%s\n", n->name, n->data, n->type);
|
||||
}
|
||||
} else {
|
||||
printf("Fault %d", fault);
|
||||
}
|
||||
|
||||
dm_ctx_clean(&bbf_ctx);
|
||||
return fault;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
char *param = NULL, *value = NULL;
|
||||
int cmd;
|
||||
|
||||
if (argc < 3) {
|
||||
print_help(argv[0]);
|
||||
}
|
||||
|
||||
if (strcmp(argv[1], "-c") == 0)
|
||||
g_proto = BBFDM_CWMP;
|
||||
|
||||
cmd = get_cmd_from_str(argv[2]);
|
||||
|
||||
if (argc > 3 && strlen(argv[3]))
|
||||
param = argv[3];
|
||||
|
||||
if (argc > 4 && strlen(argv[4]))
|
||||
value = argv[3];
|
||||
|
||||
usp_dm_exec(cmd, param, NULL, NULL);
|
||||
|
||||
free_dynamic_arrays();
|
||||
}
|
||||
3
test/cmocka/.gitignore
vendored
Normal file
3
test/cmocka/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
functional_test_bbfd
|
||||
functional_api_test_bbfd
|
||||
unit_test_bbfd
|
||||
146
test/files/etc/config/asterisk
Normal file
146
test/files/etc/config/asterisk
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
config asterisk 'general'
|
||||
option enabled '1'
|
||||
option log_stderr '1'
|
||||
option log_stdout '1'
|
||||
|
||||
config tel_line 'telline0'
|
||||
option enabled '1'
|
||||
option extension '0000'
|
||||
option noise '0'
|
||||
option vad '0'
|
||||
option txgain '4'
|
||||
option rxgain '4'
|
||||
option echo_cancel '1'
|
||||
option clir '0'
|
||||
option sip_account 'sip0'
|
||||
option callwaiting_enabled '0'
|
||||
option do_not_disturb '0'
|
||||
option name 'DECT 1'
|
||||
|
||||
config tel_line 'telline1'
|
||||
option enabled '1'
|
||||
option extension '1111'
|
||||
option noise '0'
|
||||
option vad '0'
|
||||
option txgain '4'
|
||||
option rxgain '4'
|
||||
option echo_cancel '1'
|
||||
option clir '0'
|
||||
option sip_account 'sip0'
|
||||
option callwaiting_enabled '0'
|
||||
option do_not_disturb '0'
|
||||
option name 'DECT 2'
|
||||
|
||||
config tel_line 'telline2'
|
||||
option enabled '1'
|
||||
option extension '2222'
|
||||
option sip_account 'sip0'
|
||||
option noise '0'
|
||||
option vad '0'
|
||||
option txgain '4'
|
||||
option rxgain '4'
|
||||
option echo_cancel '1'
|
||||
option clir '0'
|
||||
option callwaiting_enabled '0'
|
||||
option do_not_disturb '0'
|
||||
option name 'DECT 3'
|
||||
|
||||
config tel_line 'telline3'
|
||||
option enabled '1'
|
||||
option extension '3333'
|
||||
option sip_account 'sip0'
|
||||
option noise '0'
|
||||
option vad '0'
|
||||
option txgain '4'
|
||||
option rxgain '4'
|
||||
option echo_cancel '1'
|
||||
option clir '0'
|
||||
option callwaiting_enabled '0'
|
||||
option do_not_disturb '0'
|
||||
option name 'Tel 1'
|
||||
|
||||
config dialplan 'custom_dialplan'
|
||||
option custom_outgoing_enabled '0'
|
||||
option custom_incoming_enabled '0'
|
||||
option custom_hangup_enabled '0'
|
||||
option all_ports_extension '#123456'
|
||||
option test_audio_extension '#123457'
|
||||
option test_echo_extension '#123458'
|
||||
option record_message_extension '#999999'
|
||||
|
||||
config sip_advanced 'sip_options'
|
||||
option rtpstart '10000'
|
||||
option rtpend '20000'
|
||||
option dtmfmode 'rfc4733'
|
||||
option remotehold 'yes'
|
||||
option tls_version 'sslv23'
|
||||
option dnsmgr 'no'
|
||||
option dnsmgr_refresh_interval '300'
|
||||
option srvlookup 'yes'
|
||||
|
||||
config tel_advanced 'tel_options'
|
||||
option country 'se'
|
||||
option jbenable 'yes'
|
||||
option jbforce 'no'
|
||||
option jbmaxsize '500'
|
||||
option jbimpl 'adaptive'
|
||||
option dialoutmsec '4000'
|
||||
option echo_cancel '1'
|
||||
|
||||
config advanced_features 'call_features'
|
||||
option cbbs_type 'internal'
|
||||
option callforward_enabled '1'
|
||||
option redial_enabled '1'
|
||||
option callreturn_enabled '1'
|
||||
option moh_passthrough '1'
|
||||
option mwi_enabled '0'
|
||||
option internal_service '0'
|
||||
|
||||
config log 'log_options'
|
||||
option console 'notice,warning,error'
|
||||
option messages 'error'
|
||||
option syslog_facility 'local0'
|
||||
|
||||
config cdr 'cdr_options'
|
||||
option csv_max_row '100'
|
||||
|
||||
config call_filter 'call_filter0'
|
||||
option block_outgoing '0'
|
||||
option block_incoming '0'
|
||||
|
||||
config codec_profile 'alaw'
|
||||
option name 'G.711ALaw'
|
||||
option ptime '20'
|
||||
|
||||
config codec_profile 'ulaw'
|
||||
option name 'G.711MuLaw'
|
||||
option ptime '20'
|
||||
|
||||
config sip_service_provider 'sip0'
|
||||
option name 'account 1'
|
||||
option enabled '0'
|
||||
list codecs 'alaw'
|
||||
list codecs 'ulaw'
|
||||
option cbbs_key '5'
|
||||
option cbbs_maxretry '5'
|
||||
option cbbs_retrytime '300'
|
||||
option cbbs_waittime '30'
|
||||
option cfim_on '*21*'
|
||||
option cfim_off '#21#'
|
||||
option cfbs_on '*61*'
|
||||
option cfbs_off '#61#'
|
||||
option cfb_on '*67*'
|
||||
option cfb_off '#67#'
|
||||
option cw_on '*43#'
|
||||
option cw_off '#43#'
|
||||
option cw_status '*#43#'
|
||||
option dnd_on '*261#'
|
||||
option dnd_off '#261#'
|
||||
option dnd_status '*#261#'
|
||||
option call_return '*69'
|
||||
option redial '*66'
|
||||
option is_fax '0'
|
||||
option transport 'udp'
|
||||
option encryption 'no'
|
||||
option mediasec '0'
|
||||
option dtmf_mode 'rfc4733'
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
config acs 'acs'
|
||||
option enabled '0'
|
||||
option enable '0'
|
||||
option url ''
|
||||
option userid '' #$OUI-$SER
|
||||
option passwd 'iopsys'
|
||||
|
|
@ -30,7 +30,6 @@ config cpe 'cpe'
|
|||
option userid '' #$OUI-$SER
|
||||
option passwd 'iopsys'
|
||||
option port '7547'
|
||||
option ubus_socket '/var/run/ubus.sock'
|
||||
option provisioning_code ''
|
||||
option amd_version '5'
|
||||
# compression possible configs: InstanceNumber, InstanceAlias
|
||||
|
|
@ -56,4 +55,3 @@ config inform_extra
|
|||
option enabled '0'
|
||||
option parameter 'Device.DeviceInfo.SerialNumber'
|
||||
option events '0 BOOTSTRAP'
|
||||
|
||||
|
|
|
|||
45
test/files/etc/config/dsl
Normal file
45
test/files/etc/config/dsl
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
config dsl-line 'line'
|
||||
list mode 'gdmt'
|
||||
list mode 'glite'
|
||||
list mode 't1413'
|
||||
list mode 'adsl2'
|
||||
list mode 'adsl2p'
|
||||
list mode 'annexl'
|
||||
list mode 'annexm'
|
||||
list mode 'vdsl2'
|
||||
list profile '8a'
|
||||
list profile '8b'
|
||||
list profile '8c'
|
||||
list profile '8d'
|
||||
list profile '12a'
|
||||
list profile '12b'
|
||||
list profile '17a'
|
||||
list profile '30a'
|
||||
list profile '35b'
|
||||
list profile '35b'
|
||||
list profile '35b'
|
||||
list profile '35b'
|
||||
list profile '35b'
|
||||
list profile '35b'
|
||||
option bitswap '1'
|
||||
option sra '1'
|
||||
option us0 '1'
|
||||
option sesdrop '0'
|
||||
option sos '0'
|
||||
option phyReXmtUs '0'
|
||||
option phyReXmtDs '1'
|
||||
|
||||
config atm-device 'atm0'
|
||||
option name 'ATM'
|
||||
option vpi '8'
|
||||
option vci '35'
|
||||
option device 'atm0'
|
||||
option link_type 'eoa'
|
||||
option encapsulation 'llc'
|
||||
option qos_class 'ubr'
|
||||
|
||||
config ptm-device 'ptm0'
|
||||
option name 'PTM'
|
||||
option device 'ptm0'
|
||||
option priority '1'
|
||||
option portid '1'
|
||||
164
test/files/etc/config/firewall
Normal file
164
test/files/etc/config/firewall
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
config globals 'globals'
|
||||
option enabled '1'
|
||||
|
||||
config defaults
|
||||
option syn_flood '1'
|
||||
option input 'ACCEPT'
|
||||
option output 'ACCEPT'
|
||||
option forward 'REJECT'
|
||||
|
||||
config zone
|
||||
option name 'lan'
|
||||
list network 'lan'
|
||||
option input 'ACCEPT'
|
||||
option output 'ACCEPT'
|
||||
option forward 'ACCEPT'
|
||||
|
||||
config zone
|
||||
option name 'wan'
|
||||
list network 'wan'
|
||||
list network 'wan6'
|
||||
option input 'REJECT'
|
||||
option output 'ACCEPT'
|
||||
option forward 'REJECT'
|
||||
option masq '1'
|
||||
option mtu_fix '1'
|
||||
|
||||
config forwarding
|
||||
option src 'lan'
|
||||
option dest 'wan'
|
||||
|
||||
config rule
|
||||
option name 'Allow-DHCP-Renew'
|
||||
option src 'wan'
|
||||
option proto 'udp'
|
||||
option dest_port '68'
|
||||
option target 'ACCEPT'
|
||||
option family 'ipv4'
|
||||
option dest 'lan'
|
||||
|
||||
config rule
|
||||
option name 'Allow-Ping'
|
||||
option src 'wan'
|
||||
option proto 'icmp'
|
||||
option icmp_type 'echo-request'
|
||||
option family 'ipv4'
|
||||
option target 'ACCEPT'
|
||||
|
||||
config rule
|
||||
option name 'Allow-IGMP'
|
||||
option src 'wan'
|
||||
option proto 'igmp'
|
||||
option family 'ipv4'
|
||||
option target 'ACCEPT'
|
||||
|
||||
config rule
|
||||
option name 'Allow-DHCPv6'
|
||||
option src 'wan'
|
||||
option proto 'udp'
|
||||
option src_ip 'fc00::/6'
|
||||
option dest_ip 'fc00::/6'
|
||||
option dest_port '546'
|
||||
option family 'ipv6'
|
||||
option target 'ACCEPT'
|
||||
|
||||
config rule
|
||||
option name 'Allow-MLD'
|
||||
option src 'wan'
|
||||
option proto 'icmp'
|
||||
option src_ip 'fe80::/10'
|
||||
list icmp_type '130/0'
|
||||
list icmp_type '131/0'
|
||||
list icmp_type '132/0'
|
||||
list icmp_type '143/0'
|
||||
option family 'ipv6'
|
||||
option target 'ACCEPT'
|
||||
|
||||
config rule
|
||||
option name 'Allow-ICMPv6-Input'
|
||||
option src 'wan'
|
||||
option proto 'icmp'
|
||||
list icmp_type 'echo-request'
|
||||
list icmp_type 'echo-reply'
|
||||
list icmp_type 'destination-unreachable'
|
||||
list icmp_type 'packet-too-big'
|
||||
list icmp_type 'time-exceeded'
|
||||
list icmp_type 'bad-header'
|
||||
list icmp_type 'unknown-header-type'
|
||||
list icmp_type 'router-solicitation'
|
||||
list icmp_type 'neighbour-solicitation'
|
||||
list icmp_type 'router-advertisement'
|
||||
list icmp_type 'neighbour-advertisement'
|
||||
option limit '1000/sec'
|
||||
option family 'ipv6'
|
||||
option target 'ACCEPT'
|
||||
|
||||
config rule
|
||||
option name 'Allow-ICMPv6-Forward'
|
||||
option src 'wan'
|
||||
option dest '*'
|
||||
option proto 'icmp'
|
||||
list icmp_type 'echo-request'
|
||||
list icmp_type 'echo-reply'
|
||||
list icmp_type 'destination-unreachable'
|
||||
list icmp_type 'packet-too-big'
|
||||
list icmp_type 'time-exceeded'
|
||||
list icmp_type 'bad-header'
|
||||
list icmp_type 'unknown-header-type'
|
||||
option limit '1000/sec'
|
||||
option family 'ipv6'
|
||||
option target 'ACCEPT'
|
||||
|
||||
config rule
|
||||
option name 'Allow-IPSec-ESP'
|
||||
option src 'wan'
|
||||
option dest 'lan'
|
||||
option proto 'esp'
|
||||
option target 'ACCEPT'
|
||||
|
||||
config rule
|
||||
option name 'Allow-ISAKMP'
|
||||
option src 'wan'
|
||||
option dest 'lan'
|
||||
option dest_port '500'
|
||||
option proto 'udp'
|
||||
option target 'ACCEPT'
|
||||
|
||||
config dmz 'dmz'
|
||||
option enabled '0'
|
||||
option exclude_ports '5060 7547'
|
||||
|
||||
config include
|
||||
option path '/etc/firewall.user'
|
||||
option reload '1'
|
||||
|
||||
config include 'ddos'
|
||||
option path '/etc/firewall.ddos'
|
||||
option reload '1'
|
||||
|
||||
config include 'parental'
|
||||
option path '/etc/firewall.parental'
|
||||
option reload '1'
|
||||
|
||||
config include 'qos'
|
||||
option path '/etc/firewall.qos'
|
||||
option reload '1'
|
||||
|
||||
config include 'cwmp'
|
||||
option path '/etc/firewall.cwmp'
|
||||
option reload '1'
|
||||
|
||||
config include 'miniupnpd'
|
||||
option type 'script'
|
||||
option path '/usr/share/miniupnpd/firewall.include'
|
||||
option family 'any'
|
||||
option reload '1'
|
||||
|
||||
config include 'sip'
|
||||
option path '/etc/firewall.sip'
|
||||
option reload '1'
|
||||
|
||||
config include 'dmzhost'
|
||||
option path '/etc/firewall.dmz'
|
||||
option reload '1'
|
||||
|
||||
44
test/files/tmp/dect.data
Normal file
44
test/files/tmp/dect.data
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"base": [
|
||||
{
|
||||
"id": 1,
|
||||
"status": "up",
|
||||
"standard": "CAT-iq 3.0",
|
||||
"rfpi": "036CD3AAC8",
|
||||
"subscription_enabled": true,
|
||||
"firmware_version": "410",
|
||||
"eeprom_version": "6DEE",
|
||||
"hardware_version": "DCX81 Version C"
|
||||
}
|
||||
],
|
||||
"handsets": [
|
||||
{
|
||||
"id": 1,
|
||||
"status": "up",
|
||||
"registration_status": "In reach",
|
||||
"ipui": "02FED686D3",
|
||||
"ipui_length": 40,
|
||||
"base_id": 1,
|
||||
"portable_type": "CAT-iq 2",
|
||||
"subscription_time": "2021-09-02T08:57:57Z",
|
||||
"hardware_version": "X65_BT_HW0.3",
|
||||
"software_version": "X65_BT_H31029",
|
||||
"software_upgrade": "true",
|
||||
"last_update_datetime": "0001-01-01T00:00:00Z"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"status": "up",
|
||||
"registration_status": "in reach",
|
||||
"ipui": "02FED6860E",
|
||||
"ipui_length": 40,
|
||||
"base_id": 1,
|
||||
"portable_type": "CAT-iq 2",
|
||||
"subscription_time": "2021-09-02T09:50:11Z",
|
||||
"hardware_version": "X65_BT_HW0.3",
|
||||
"software_version": "X65_BT_H31029",
|
||||
"software_upgrade": "true",
|
||||
"last_update_datetime": "0001-01-01T00:00:00Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
32
test/files/tmp/dsl.channel.data
Normal file
32
test/files/tmp/dsl.channel.data
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"status": "lower_layer_down",
|
||||
"link_encapsulation_used": "auto",
|
||||
"curr_rate": {
|
||||
"us": 4294967295,
|
||||
"ds": 4294967295
|
||||
},
|
||||
"actndr": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"link_encapsulation_supported": [
|
||||
"adsl2_atm",
|
||||
"adsl2_ptm",
|
||||
"vdsl2_atm",
|
||||
"vdsl2_ptm",
|
||||
"auto"
|
||||
],
|
||||
"lpath": 0,
|
||||
"intlvdepth": 0,
|
||||
"intlvblock": 0,
|
||||
"actual_interleaving_delay": 0,
|
||||
"actinp": 0,
|
||||
"inpreport": false,
|
||||
"nfec": 0,
|
||||
"rfec": -1,
|
||||
"lsymb": 0,
|
||||
"actinprein": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
}
|
||||
}
|
||||
151
test/files/tmp/dsl.data
Normal file
151
test/files/tmp/dsl.data
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
{
|
||||
"line": [
|
||||
{
|
||||
"id": 1,
|
||||
"status": "down",
|
||||
"upstream": true,
|
||||
"firmware_version": "A2pvfbH045q.d27l_rc4",
|
||||
"link_status": "no_signal",
|
||||
"xtse_used": [
|
||||
"00",
|
||||
"00",
|
||||
"00",
|
||||
"00",
|
||||
"00",
|
||||
"00",
|
||||
"00",
|
||||
"00"
|
||||
],
|
||||
"current_profile": "unknown",
|
||||
"power_management_state": "l3",
|
||||
"max_bit_rate": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"line_encoding": "dmt",
|
||||
"xtse": [
|
||||
"0d",
|
||||
"03",
|
||||
"0c",
|
||||
"00",
|
||||
"c0",
|
||||
"03",
|
||||
"0c",
|
||||
"01"
|
||||
],
|
||||
"standards_supported": [
|
||||
"t1413",
|
||||
"gdmt_annexa",
|
||||
"glite",
|
||||
"adsl2_annexa",
|
||||
"adsl2_annexm",
|
||||
"adsl2p_annexa",
|
||||
"adsl2p_annexm",
|
||||
"vdsl2_annexa"
|
||||
],
|
||||
"allowed_profiles": [
|
||||
"8a",
|
||||
"8b",
|
||||
"8c",
|
||||
"8d",
|
||||
"12a",
|
||||
"12b",
|
||||
"17a",
|
||||
"30a"
|
||||
],
|
||||
"success_failure_cause": 0,
|
||||
"upbokler_pb": [
|
||||
|
||||
],
|
||||
"rxthrsh_ds": [
|
||||
0
|
||||
],
|
||||
"act_ra_mode": {
|
||||
"us": 1,
|
||||
"ds": 1
|
||||
},
|
||||
"snr_mroc_us": 0,
|
||||
"last_state_transmitted": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"us0_mask": 8323072,
|
||||
"trellis": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"act_snr_mode": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"line_number": 1,
|
||||
"noise_margin": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"snr_mpb_us": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"snr_mpb_ds": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"attenuation": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"power": {
|
||||
"us": -512,
|
||||
"ds": 0
|
||||
},
|
||||
"xtur_vendor": "00000000",
|
||||
"xtur_country": "0000",
|
||||
"xtur_ansi_std": 0,
|
||||
"xtur_ansi_rev": 0,
|
||||
"xtuc_vendor": "00000000",
|
||||
"xtuc_country": "0000",
|
||||
"xtuc_ansi_std": 0,
|
||||
"xtuc_ansi_rev": 0,
|
||||
"channel": [
|
||||
{
|
||||
"id": 1,
|
||||
"status": "lower_layer_down",
|
||||
"link_encapsulation_used": "auto",
|
||||
"curr_rate": {
|
||||
"us": 4294967295,
|
||||
"ds": 4294967295
|
||||
},
|
||||
"actndr": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"link_encapsulation_supported": [
|
||||
"adsl2_atm",
|
||||
"adsl2_ptm",
|
||||
"vdsl2_atm",
|
||||
"vdsl2_ptm",
|
||||
"auto"
|
||||
],
|
||||
"lpath": 0,
|
||||
"intlvdepth": 0,
|
||||
"intlvblock": 0,
|
||||
"actual_interleaving_delay": 0,
|
||||
"actinp": 0,
|
||||
"inpreport": false,
|
||||
"nfec": 0,
|
||||
"rfec": -1,
|
||||
"lsymb": 0,
|
||||
"actinprein": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
111
test/files/tmp/dsl.line.data
Normal file
111
test/files/tmp/dsl.line.data
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
{
|
||||
"status": "down",
|
||||
"upstream": true,
|
||||
"firmware_version": "A2pvfbH045q.d27l_rc4",
|
||||
"link_status": "no_signal",
|
||||
"xtse_used": [
|
||||
"00",
|
||||
"00",
|
||||
"00",
|
||||
"00",
|
||||
"00",
|
||||
"00",
|
||||
"00",
|
||||
"00"
|
||||
],
|
||||
"current_profile": "unknown",
|
||||
"power_management_state": "l3",
|
||||
"max_bit_rate": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"line_encoding": "dmt",
|
||||
"xtse": [
|
||||
"0d",
|
||||
"03",
|
||||
"0c",
|
||||
"00",
|
||||
"c0",
|
||||
"03",
|
||||
"0c",
|
||||
"01"
|
||||
],
|
||||
"standards_supported": [
|
||||
"t1413",
|
||||
"gdmt_annexa",
|
||||
"glite",
|
||||
"adsl2_annexa",
|
||||
"adsl2_annexm",
|
||||
"adsl2p_annexa",
|
||||
"adsl2p_annexm",
|
||||
"vdsl2_annexa"
|
||||
],
|
||||
"allowed_profiles": [
|
||||
"8a",
|
||||
"8b",
|
||||
"8c",
|
||||
"8d",
|
||||
"12a",
|
||||
"12b",
|
||||
"17a",
|
||||
"30a"
|
||||
],
|
||||
"success_failure_cause": 0,
|
||||
"upbokler_pb": [
|
||||
|
||||
],
|
||||
"rxthrsh_ds": [
|
||||
0
|
||||
],
|
||||
"act_ra_mode": {
|
||||
"us": 1,
|
||||
"ds": 1
|
||||
},
|
||||
"snr_mroc_us": 0,
|
||||
"last_state_transmitted": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"us0_mask": 8323072,
|
||||
"trellis": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"act_snr_mode": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"line_number": 1,
|
||||
"noise_margin": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"snr_mpb_us": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"snr_mpb_ds": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"attenuation": {
|
||||
"us": 0,
|
||||
"ds": 0
|
||||
},
|
||||
"power": {
|
||||
"us": -512,
|
||||
"ds": 0
|
||||
},
|
||||
"xtur_vendor": "00000000",
|
||||
"xtur_country": "0000",
|
||||
"xtur_ansi_std": 0,
|
||||
"xtur_ansi_rev": 0,
|
||||
"xtuc_vendor": "00000000",
|
||||
"xtuc_country": "0000",
|
||||
"xtuc_ansi_std": 0,
|
||||
"xtuc_ansi_rev": 0
|
||||
}
|
||||
17
test/files/usr/libexec/rpcd/dect
Executable file
17
test/files/usr/libexec/rpcd/dect
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
. /usr/share/libubox/jshn.sh
|
||||
|
||||
case "$1" in
|
||||
list)
|
||||
echo '{ "status" : {} }'
|
||||
;;
|
||||
call)
|
||||
case "$2" in
|
||||
status)
|
||||
cat /tmp/dect.data
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
17
test/files/usr/libexec/rpcd/dsl
Executable file
17
test/files/usr/libexec/rpcd/dsl
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
. /usr/share/libubox/jshn.sh
|
||||
|
||||
case "$1" in
|
||||
list)
|
||||
echo '{ "status" : {} }'
|
||||
;;
|
||||
call)
|
||||
case "$2" in
|
||||
status)
|
||||
cat /tmp/dsl.data 2>/dev/null
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
17
test/files/usr/libexec/rpcd/dsl.channel.1
Executable file
17
test/files/usr/libexec/rpcd/dsl.channel.1
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
. /usr/share/libubox/jshn.sh
|
||||
|
||||
case "$1" in
|
||||
list)
|
||||
echo '{ "status" : {} }'
|
||||
;;
|
||||
call)
|
||||
case "$2" in
|
||||
status)
|
||||
cat /tmp/dsl.channel.data 2>/dev/null
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
17
test/files/usr/libexec/rpcd/dsl.line.1
Executable file
17
test/files/usr/libexec/rpcd/dsl.line.1
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
. /usr/share/libubox/jshn.sh
|
||||
|
||||
case "$1" in
|
||||
list)
|
||||
echo '{ "status" : {} }'
|
||||
;;
|
||||
call)
|
||||
case "$2" in
|
||||
status)
|
||||
cat /tmp/dsl.line.data 2>/dev/null
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
Loading…
Add table
Reference in a new issue