///|
fn main {
try {
let files = {
"Kconfig": "config MODULES\n bool\n option modules\n default y\nsource \"drivers/Kconfig\"\nconfig QUEUE\n int \"Queue depth\"\n range 1 64\n default 8",
"drivers/Kconfig": "config UART\n tristate \"UART driver\"\n default m\n select SERIAL\nconfig SERIAL\n tristate",
}
let schema = @config.parse_sources("Kconfig", files)
let board = schema.parse_config("CONFIG_UART=y\nCONFIG_QUEUE=16")
let result = schema.resolve(board)
assert_eq(result.value("SERIAL"), @config.Logic(@config.Y))
assert_eq(result.value("QUEUE"), @config.Number(16L))
println(schema.export_header(result))
} catch {
_ => abort("firmware workflow failed")
}
}