Ported test_support_material from upstream Slic3r.

Reworked the FFF testing framework & ConfigBase::set_deserialize()
for more compact tests: set_deserialize() now accepts list
of key / value pairs.

Fixed an incorrect assert in LayerRegion.
This commit is contained in:
bubnikv 2019-10-17 17:09:15 +02:00
parent 0ee78543a4
commit c228a49fe0
13 changed files with 769 additions and 536 deletions

View file

@ -19,16 +19,19 @@ SCENARIO("Extrusion width specifics", "[!mayfail]") {
GIVEN("A config with a skirt, brim, some fill density, 3 perimeters, and 1 bottom solid layer and a 20mm cube mesh") {
// this is a sharedptr
DynamicPrintConfig config = Slic3r::DynamicPrintConfig::full_print_config();
config.opt_int("skirts") = 1;
config.opt_float("brim_width") = 2.;
config.opt_int("perimeters") = 3;
config.set_deserialize("fill_density", "40%");
config.set_deserialize("first_layer_height", "100%");
config.set_deserialize({
{ "brim_width", "2" },
{ "skirts", "1" },
{ "perimeters", "3" },
{ "fill_density", "40%" },
{ "first_layer_height", "100%" }
});
WHEN("first layer width set to 2mm") {
Slic3r::Model model;
config.set_deserialize("first_layer_extrusion_width", "2");
std::shared_ptr<Print> print = Slic3r::Test::init_print({TestMesh::cube_20x20x20}, model, config);
Slic3r::Print print;
Slic3r::Test::init_print({TestMesh::cube_20x20x20}, print, model, config);
std::vector<double> E_per_mm_bottom;
std::string gcode = Test::gcode(print);