diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2015-04-08 01:02:42 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2015-04-08 01:02:42 -0700 |
commit | 96f19e1e57c9d8508c7003aa4de4a87d0c7239c3 (patch) | |
tree | f4030c20c24202fd814b9a1ee04d507cd7b07c9c /cpp/011load | |
parent | e38c85a1eb6a0107ed43d7d7dbc9f4080a917c59 (diff) | |
download | mu-96f19e1e57c9d8508c7003aa4de4a87d0c7239c3.tar.gz |
1038 - clean up layer organization a little
Things are quite intricate to avoid reloading all recipes before every test. But mu wasn't really intended to sidestep intrinsic intricacy.
Diffstat (limited to 'cpp/011load')
-rw-r--r-- | cpp/011load | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/cpp/011load b/cpp/011load index c111ba42..3ef1a409 100644 --- a/cpp/011load +++ b/cpp/011load @@ -24,7 +24,6 @@ vector<recipe_number> add_recipes(istream& in) { // Command Handlers if (command == "recipe") { result.push_back(add_recipe(in)); - recipes_added_by_test.push_back(result.back()); } // End Command Handlers else { @@ -65,6 +64,8 @@ recipe_number add_recipe(istream& in) { } Recipe[r].name = recipe_name; //? cout << "recipe " << recipe_name << " has " << Recipe[r].steps.size() << " steps.\n"; //? 1 + // track added recipes because we may need to undo them in tests; see below + recently_added_recipes.push_back(r); return r; } @@ -187,6 +188,18 @@ void skip_comma(istream& in) { skip_whitespace(in); } +//: Recipes added for tests should be easy to remove as well. +:(before "End Globals") +vector<recipe_number> recently_added_recipes; +:(before "End Setup") +for (size_t i = 0; i < recently_added_recipes.size(); ++i) { +//? cout << "AAA clearing " << Recipe[recently_added_recipes[i]].name << '\n'; //? 2 + Recipe_number.erase(Recipe[recently_added_recipes[i]].name); + Recipe.erase(recently_added_recipes[i]); +} +// Clear state for recently_added_recipes +recently_added_recipes.clear(); + :(scenario parse_comment_outside_recipe) # comment recipe main [ |