/* LICENSE BEGIN This file is part of the SixtyFPS Project -- https://sixtyfps.io Copyright (c) 2020 Olivier Goffart Copyright (c) 2020 Simon Hausmann SPDX-License-Identifier: GPL-3.0-only This file is also available under commercial licensing terms. Please contact info@sixtyfps.io for more information. LICENSE END */ use std::error::Error; pub fn test(testcase: &test_driver_lib::TestCase) -> Result<(), Box> { let source = std::fs::read_to_string(&testcase.absolute_path)?; let include_paths = &test_driver_lib::extract_include_paths(&source) .map(std::path::PathBuf::from) .collect::>(); let config = sixtyfps_compilerlib::CompilerConfiguration { include_paths: &include_paths, ..Default::default() }; let component = match sixtyfps_interpreter::load(source, &testcase.absolute_path, &config) { Ok(c) => c, Err(diag) => { let vec = diag.to_string_vec(); diag.print(); return Err(vec.join("\n").into()); } }; component.create(); Ok(()) }