Testing wireless configuration generation.

-- Testcase --
{%
	let real_include = include;

	include("./cfg/ucentral.uc", {
		TRACE_CALLS: "stderr",

		/* wrap include() to fixup the include paths */
		include: function(path, scope) {
			path = replace(path, "/usr/share/ucentral/", "../cfg/");

			/* make path absolute */
			if (index(path, "/") != 0) {
				try {
					die();
				} catch(e) {
					path = replace(e.stacktrace[1].filename, /\/[^\/]+$/, '') + '/' + path;
				};
			}

			return real_include(path, scope);
		}
	})
%}
-- End --

-- Environment --
{
	"capab": {
		"network" : {
			"lan" : {
				"ifname" : "lan1 lan2 lan3 lan4",
				"macaddr" : "00:11:22:f5:37:d3",
				"protocol" : "static"
			},
			"wan" : {
				"ifname" : "wan",
				"macaddr" : "00:11:22:f5:37:d2",
				"protocol" : "dhcp"
			}
		},
		"wifi" : {
			"1a143000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0" : {
				"band" : [
					"5"
				],
				"channels" : [
					36,
					40,
					44,
					48,
					52,
					56,
					60,
					64,
					100,
					104,
					108,
					112,
					116,
					120,
					124,
					128,
					132,
					136,
					140,
					144,
					149,
					153,
					157,
					161,
					165
				],
				"he_mac_capa" : [
					5,
					6664,
					4164
				],
				"he_phy_capa" : [
					7168,
					52768,
					28562,
					36691,
					16,
					0
				],
				"ht_capa" : 2559,
				"htmode" : [
					"HT20",
					"HT40",
					"VHT20",
					"VHT40",
					"VHT80",
					"VHT80+80",
					"VHT160",
					"HE20",
					"HE80",
					"HE160",
					"HE80+80"
				],
				"rx_ant" : 15,
				"tx_ant" : 15,
				"vht_capa" : 865827321
			},
			"platform/18000000.wmac" : {
				"band" : [
					"2"
				],
				"channels" : [
					1,
					2,
					3,
					4,
					5,
					6,
					7,
					8,
					9,
					10,
					11,
					12,
					13,
					14
				],
				"ht_capa" : 511,
				"htmode" : [
					"HT20",
					"HT40"
				],
				"rx_ant" : 15,
				"tx_ant" : 15
			}
		}
	},
	"cfg": {
		"phy" : [
			{
				"band" : "2",
				"cfg" : {
					"beacon_int" : 100,
					"chanbw" : 20,
					"channel" : 6,
					"country" : "DE",
					"disabled" : 0,
					"htmode" : "HE40",
					"hwmode" : "11g",
					"txpower" : 30
				}
			},
			{
				"band" : "5",
				"cfg" : {
					"channel" : 0,
					"country" : "DE",
					"disabled" : 0,
					"htmode" : "HE80",
					"mimo" : "4x4"
				}
			},
			{
				"band" : "5u",
				"cfg" : {
					"channel" : 100,
					"country" : "DE",
					"disabled" : 0,
					"htmode" : "VHT80"
				}
			},
			{
				"band" : "5l",
				"cfg" : {
					"channel" : 36,
					"country" : "DE",
					"disabled" : 0,
					"htmode" : "VHT80"
				}
			}
		],
		"ssid" : [
			{
				"band" : [
					"2"
				],
				"cfg" : {
					"encryption" : "psk2",
					"ft_over_ds" : 1,
					"ft_psk_generate_local" : 1,
					"ieee80211k" : 1,
					"ieee80211r" : 1,
					"ieee80211v" : 1,
					"isolate" : 1,
					"key" : "12345678",
					"mobility_domain" : "4f57",
					"mode" : "ap",
					"network" : "guest",
					"ssid" : "uCentral.Guest"
				}
			},
			{
				"band" : [
					"5l",
					"5"
				],
				"cfg" : {
					"encryption" : "psk2",
					"ft_over_ds" : 1,
					"ft_psk_generate_local" : 1,
					"ieee80211k" : 1,
					"ieee80211r" : 1,
					"ieee80211v" : 1,
					"key" : "87654321",
					"mobility_domain" : "4f51",
					"mode" : "ap",
					"network" : "nat200",
					"ssid" : "uCentral-NAT.200"
				}
			},
			{
				"band" : [
					"5l",
					"5"
				],
				"cfg" : {
					"auth_secret" : "12345678",
					"encryption" : "wpa2",
					"ft_over_ds" : 1,
					"ft_psk_generate_local" : 1,
					"ieee80211k" : 1,
					"ieee80211r" : 1,
					"ieee80211v" : 1,
					"mobility_domain" : "4f51",
					"mode" : "ap",
					"network" : "lan",
					"port" : 1812,
					"server" : "0.0.0.0",
					"ssid" : "uCentral-EAP"
				}
			},
			{
				"band" : [
					"5l",
					"5"
				],
				"cfg" : {
					"encryption" : "psk2",
					"ft_over_ds" : 1,
					"ft_psk_generate_local" : 1,
					"ieee80211k" : 1,
					"ieee80211r" : 1,
					"ieee80211v" : 1,
					"key" : "87654321",
					"mobility_domain" : "4f51",
					"mode" : "ap",
					"network" : "wan",
					"ssid" : "uCentral"
				}
			}
		]
	}
}
-- End --

-- File fs/stat~_usr_share_ucentral_cfg_phy_uc.json --
{ "type": "file" }
-- End --

-- Expect stderr --
[call] fs.stat path </usr/share/ucentral/cfg_phy.uc>
[call] ubusconn.call object <ucentral> method <rejected> args <{ "rejected": [ /* 1 items */ ] }>
-- End --

-- Expect stdout --
set wireless.radio1='wifi-device'
set wireless.radio1.htmode='HE80'
set wireless.radio1.txantenna='15'
set wireless.radio1.rxantenna='15'
set wireless.radio1.disabled='0'
set wireless.radio1.country='DE'
set wireless.radio1.he_bss_color='64'
set wireless.radio1.multiple_bssid='0'
set wireless.radio1.ema='0'
set wireless.radio1.channel='0'
set wireless.radio1_nat200='wifi-iface'
set wireless.radio1_nat200.device='radio1'
set wireless.radio1_nat200.ssid='uCentral-NAT.200'
set wireless.radio1_nat200.network='nat200'
set wireless.radio1_nat200.mode='ap'
set wireless.radio1_nat200.ieee80211r='1'
set wireless.radio1_nat200.ieee80211k='1'
set wireless.radio1_nat200.ieee80211v='1'
set wireless.radio1_nat200.ft_over_ds='1'
set wireless.radio1_nat200.ft_psk_generate_local='1'
set wireless.radio1_nat200.mobility_domain='4f51'
set wireless.radio1_nat200.encryption='psk2'
set wireless.radio1_nat200.key='87654321'
set wireless.radio1_lan='wifi-iface'
set wireless.radio1_lan.device='radio1'
set wireless.radio1_lan.ssid='uCentral-EAP'
set wireless.radio1_lan.network='lan'
set wireless.radio1_lan.mode='ap'
set wireless.radio1_lan.ieee80211r='1'
set wireless.radio1_lan.ieee80211k='1'
set wireless.radio1_lan.ieee80211v='1'
set wireless.radio1_lan.ft_over_ds='1'
set wireless.radio1_lan.ft_psk_generate_local='1'
set wireless.radio1_lan.mobility_domain='4f51'
set wireless.radio1_lan.encryption='wpa2'
set wireless.radio1_lan.server='0.0.0.0'
set wireless.radio1_lan.port='1812'
set wireless.radio1_lan.auth_secret='12345678'
set wireless.radio1_wan='wifi-iface'
set wireless.radio1_wan.device='radio1'
set wireless.radio1_wan.ssid='uCentral'
set wireless.radio1_wan.network='wan'
set wireless.radio1_wan.mode='ap'
set wireless.radio1_wan.ieee80211r='1'
set wireless.radio1_wan.ieee80211k='1'
set wireless.radio1_wan.ieee80211v='1'
set wireless.radio1_wan.ft_over_ds='1'
set wireless.radio1_wan.ft_psk_generate_local='1'
set wireless.radio1_wan.mobility_domain='4f51'
set wireless.radio1_wan.encryption='psk2'
set wireless.radio1_wan.key='87654321'
set wireless.radio0='wifi-device'
set wireless.radio0.htmode='HT20'
set wireless.radio0.channel='6'
set wireless.radio0.disabled='0'
set wireless.radio0.country='DE'
set wireless.radio0.beacon_int='100'
set wireless.radio0.txpower='30'
set wireless.radio0.chanbw='20'
set wireless.radio0_guest='wifi-iface'
set wireless.radio0_guest.device='radio0'
set wireless.radio0_guest.ssid='uCentral.Guest'
set wireless.radio0_guest.network='guest'
set wireless.radio0_guest.mode='ap'
set wireless.radio0_guest.ieee80211r='1'
set wireless.radio0_guest.ieee80211k='1'
set wireless.radio0_guest.ieee80211v='1'
set wireless.radio0_guest.isolate='1'
set wireless.radio0_guest.ft_over_ds='1'
set wireless.radio0_guest.ft_psk_generate_local='1'
set wireless.radio0_guest.mobility_domain='4f57'
set wireless.radio0_guest.encryption='psk2'
set wireless.radio0_guest.key='12345678'
-- End --
