Cram supplies the complete generated test script through the shell's
stdin. SSH inherits that input from the shared remote-command alias and
drains the script beyond the shell's read-ahead buffer. The shell then
reaches EOF in the middle of a quoted command near byte 8,192:
```text
/bin/sh: 74: Syntax error: Unterminated quoted string
```
This is independent of the Python interpreter. Freedom job 15484314070
failed the 49-command probe at chunk 0036 under Python 3.14.6. With the
same probe and firmware, job 15484856804 passed all 49 chunks under
Python 3.13 after adding the SSH stdin protection.
Pass -n to the shared SSH command so it reads from /dev/null instead of
the test script. Apply the same safe default to the MXL fallback alias.
Assisted-by: codex:gpt-5
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
References: PCF-2222
Problem:
reboot TimeStamp precision has changed: unnecessary fraction of seconds have been removed
This simplification change has been introduced in PPW-1605 in the reboot-service when
the reboot timestamp is now set to unknow when the HGW isn't NTP synced.
Solution:
change the cram test timestamp check
Reference: PPW-1605
Signed-off-by: Florian Rouzaud <florian.rouzaud@softathome.com>
As part of PCF-2632, when no default Trusted Element is available,
the TrustedElement.SIM data model is now populated using the active
IMSI obtained from the modem.
Since a prepopulated Trusted SIM is now available, removed the
creation of a new Trusted Element during validation. This prevents
duplicate entries and resolves the cram test failure.
Updated 018-cellular-trusted-elements.t to validate Trusted SIM
based on the prepopulated active IMSI.
References: PCF-2632
Signed-off-by: Sathishkumar Selvam <sathishkumar.selvam@capgemini.com>
Integrates following changes:
- Issue: PPW-500 [CWMP] ACS did not receive Inform from CPE on original ACS server after 302 redirect. (0877f0b5)
References: PPW-500
Signed-off-by: prplbot <bot@prplfoundation.org>
Integrates:
- Moved odl with required AP defauilts directly to pwhm's defaults
- Moved odl with required Mesh ManagementMode directly to prplmesh-process-manager's defaults
Closes: PPW-991, PPW-992
Signed-off-by: avatara.kuznetsov <a.kuznetsov@inango-systems.com>
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
- Added runtime environment string about in which CPE_OPMODE firmware been built by default
- Modified odl-generator to add this string to netlayout.json so it can be used in .uc files
- Moved extender-related odls to their respective packages and modified them to use new flag in netlayout.json so they be processed when required
Closes: PPW-991, PPW-992
Signed-off-by: a.kuznetsov <a.kuznetsov@inango-systems.com>
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
Add two dhcpv4 client tests. first one check if option provided by a
client is correctly provided in the DHCPv4.Server DM. Second one check
that if multiple client provide the same option with different value,
the value are not mixed up.
References: PCF-2262
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
Cram tests emit .t.err files on failure; ignore them so they don't
accumulate as untracked noise.
References: PCF-2262
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
Remove the `$` symbol from the random sets from which password is generated because it breaks ODL expansion.
Closes: PPW-2035
References: FEAT-28
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
In 05a30b1404 we removed "# CONFIG_VERSION_CODE_FILENAMES is not set" from the cram tests after aligning with openwrt 24.10.5.
However, this was forgotten for the freedom and valyrian board.
References: PPW-2167
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Adding cram testcase to subscribe to ubus events for the
notify flow created and verify no other unexpected events
listed in ubus notifications subscribed for enumerate
connection tracking object.
References: PPW-1201
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
Align the Easymesh R1 smoke test with the DUT flashing procedure from FEAT-29.
This commit aligns the DUT deploy scripts from the prplMesh repository.
Reference: PPM-4139
Signed-off-by: Maarten De Decker <maarten.dedecker@mind.be>
During the course of the test, containers are created and tested to properly survive a simulated software upgrade.
However, pcm does not guarantee that indexes will be the same after SWU, especially if there were any gaps
in numbering prior to the upgrade.
This change to the test makes it index-agnostic by replacing all possibly affected indexes with placeholders.
References: PPW-1787
Closes: PPW-1787
Signed-off-by: a.kuznetsov <a.kuznetsov@inango-systems.com>
Currently the final DNS host check after configuration restore
accepts only one digit in the generated alias. The failing
testbed-02 job reaches instance 10, restores a valid object, and
reports this Cram difference:
- "Alias": "cpe-X_PRPLWARE-COM_Host-\d", (re)
+ "Alias": "cpe-X_PRPLWARE-COM_Host-10",
The comparable testbed-01 control job reaches instance 9 and passes
the same check. Both jobs successfully restore the DNS object, so
the failure depends on the allocator crossing the single-digit
boundary, not on invalid restored state.
The additional testbed-02 topology from PCF-2504 is the supported
trigger for the one-instance delta. It exposes the restrictive
expectation but does not make the restored alias invalid.
So lets fix the final alias expectation to accept one or more
digits, matching the equivalent check earlier in the test. This
keeps the test independent of the current multi-instance allocator
position.
Closes: PPW-1934
References: PCF-2504
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/15294595185
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/15300965299
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Several parameters for Download/Activate RPC are defined but are not
implemented yet, so setting them will not take any action.
Update package documentation to explicitly state it
Implements: PCF-2340
References: FEAT-356, FEAT-357, FEAT-358
Signed-off-by: Mykhailo Polnyi <mykhailo.polnyi@globallogic.com>
Currently the BulkData MQTT cram test assumes that every DUT uses the
legacy SN[A-F0-9]+ serial-number format. SFL devices instead expose the
manufacturing serial through readmfg, including values such as
ospv2_A8C2463D425C and freedom_58E403D21127.
This makes a valid report fail the complete-payload grep even though the
reported SN is exactly DeviceInfo.SerialNumber. Both OSPv2 and Freedom
jobs show the following assertion failure:
$ R 'cat /tmp/mqtt_subscriber' | \
> grep -cP '^\{"Report":\[\{"SN":"SN[A-F0-9]+","CollectionTime":"[0-9]{13}"\}\]\}$'
-[1-9][0-9]* (re)
+0
+[1]
So lets fix the test by reading DeviceInfo.SerialNumber from the DUT and
passing that value to jq. Require exactly one report and compare its SN
with the live serial. Validate CollectionTime independently as a string
of exactly 13 digits. Print the payload when validation fails so future
cram diffs preserve the malformed message.
Closes: PPW-2102
References: PCF-2643
Assisted-by: codex:gpt-5.6-sol:high
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Problem:
network_security.t fails deterministically on latest-24.10. The
service-readiness block added by !2697 (adc82ee3, PPW-887) starts
with "$ R '" without the two-space indent cram requires for a
command line.
Root cause:
cram does not parse the malformed line as a command, so it is
absorbed as expected output of the preceding nmap check. Its
continuation lines then attach to that check and run in the local
testbed shell instead of on the DUT via the R alias:
/bin/sh: 6: pgrep: not found
/bin/sh: 14: Syntax error: Unterminated quoted string (no-eol)
adc82ee3 was reverted (72f0994e) once DUT jobs were finally
triggered and exposed the failure; no DUT cram job ran against any
revision of !2697 before it merged.
Solution:
Re-add the service-readiness wait, indenting "$ R '" by two spaces
so cram parses it as a command and dispatches the wait script to the
DUT through the R alias, matching every other "$ R '...'" usage in
this test suite.
Reference: PPW-2150, PPW-887, PPW-455
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
When finishing the pwhm-wpa3-cm.t test script, MLDUnits are currently
restored to the same values as in Freedom (0: Private MLD, 1: Guest
MLD).
However, MLO is not yet supported on OSPv2, so MLDUnits should instead
remain at their default value (-1, as set through MXL UPDK).
Closes: PPW-1713
References: PCF-2395
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
After re-enabling the wifi-scheduler script, update the test to:
- Add backhaul interfaces
- Use the correct prplMesh AccessPoint creation method
- Use the generic wifi_dm helper
- Adapt AP status checks to keep the script generic
References: PPW-774
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
The test was hardcoded to expect wan and br-lan as interface names,
but the actual kernel/netdev interface name that showed up in the mangle table was eth1.
Instead of resolving the interface name at test time (hardcoded),
we resolve it at test run time as a dynamic resolution by
walking through the data model to extract the real netdev name whatever the project (ospv2/freedom)
the test now emit OK if this check passes or FAIL with explicit message if the check fails.
Tracked-by: PPW-1998
Signed-off-by: Yousfi Neji <yousfi.neji_ext@softathome.com>
Integrates:
- d12d632a: ("fix reload-time crash in AMX bus and interface handling", 2026-06-05)
References: PPW-2041
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
When removing the last BSS of an AP MLD, the associated MLD
control interface may be left unused, leaving its control
socket lingering.
Invoke hostapd_cleanup_unused_mlds() after BSS removal to
clean up unused MLD objects. This ensures that stale MLD
state and control sockets are properly release
Fixes: PCF-2605
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>