///|
async fn main {
let file = @fs.open("tests/fixtures/ihp-sg13g2-typ.lib", mode=ReadOnly)
defer file.close()
let size = file.size()
if size < 0L || size > 16777216L {
abort("fixture exceeds input budget")
}
let text = @utf8.decode(file.read_exactly_at(size.to_int(), position=0L))
let library = @liberty.load_library(text) catch {
error => abort(error.render())
}
let findings = @liberty.lint_library(library)
@stdio.stdout.write(@liberty.lint_json(library).stringify(indent=2) + "\n")
if findings.any(f => f.severity is Error) {
abort("real library has lint errors")
}
let query = @liberty.query_timing(
library, "sg13g2_inv_1", "Y", "A", "cell_rise", 1.0e-10, 2.0e-14,
) catch {
error => abort(error.render())
}
@stdio.stdout.write(@liberty.query_json(query).stringify(indent=2) + "\n")
}