void impl::tc::init(const vars_map& config) { atf_error_t err; utils::auto_array< const char * > array( new const char*[(config.size() * 2) + 1]); const char **ptr = array.get(); for (vars_map::const_iterator iter = config.begin(); iter != config.end(); iter++) { *ptr = (*iter).first.c_str(); *(ptr + 1) = (*iter).second.c_str(); ptr += 2; } *ptr = NULL; wraps[&pimpl->m_tc] = this; cwraps[&pimpl->m_tc] = this; err = atf_tc_init(&pimpl->m_tc, pimpl->m_ident.c_str(), pimpl->wrap_head, pimpl->wrap_body, pimpl->m_has_cleanup ? pimpl->wrap_cleanup : NULL, array.get()); if (atf_is_error(err)) throw_atf_error(err); }
static void check_property(const vars_map& props, const char* name, const char* value) { const vars_map::const_iterator iter = props.find(name); ATF_REQUIRE(iter != props.end()); ATF_REQUIRE_EQ(value, (*iter).second); }