diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2015-05-02 11:49:11 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2015-05-02 11:49:11 -0700 |
commit | d9a7e6abc7dba8e84a5e80a6593145f1aaeb6f6c (patch) | |
tree | af2345c92315d623124d5612931914c54042a42b /cpp/.traces/scheduler_runs_single_routine | |
parent | 981cc9e8e9fd2f76b4dced8b88f3dac41c87d761 (diff) | |
download | mu-d9a7e6abc7dba8e84a5e80a6593145f1aaeb6f6c.tar.gz |
1239 - scheduler bugfix
In the process, some extra unit tests as well. The final scenario is newly fixed. Between the earlier support for '%' escaping C code inside scenarios, and the previous commit, we now actually have the ability to setup the Routines data structure just so to simulate different situations. One unanticipated but happy consequence of ignoring run(""): I can interleave '+' lines with '-' lines to avoid making any ordering assertions between '+' lines. So the '+' lines here are checked in order: +layer1: a +layer3: c But here they will pass even if present out of order: +layer1: a -layer2: b +layer3: c This might be too confusing. In general, relying on run("") is just a temporary hack. It might well have even worse counter-intuitive effects. At least I'm not seeing any string-escaping issues so far.
Diffstat (limited to 'cpp/.traces/scheduler_runs_single_routine')
-rw-r--r-- | cpp/.traces/scheduler_runs_single_routine | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/cpp/.traces/scheduler_runs_single_routine b/cpp/.traces/scheduler_runs_single_routine new file mode 100644 index 00000000..8f5d7102 --- /dev/null +++ b/cpp/.traces/scheduler_runs_single_routine @@ -0,0 +1,21 @@ +parse/0: instruction: copy +parse/0: ingredient: {name: "0", value: 0, type: 0, properties: ["0": "literal"]} +parse/0: product: {name: "1", value: 0, type: 1, properties: ["1": "integer"]} +parse/0: instruction: copy +parse/0: ingredient: {name: "0", value: 0, type: 0, properties: ["0": "literal"]} +parse/0: product: {name: "2", value: 0, type: 1, properties: ["2": "integer"]} +after-brace/0: recipe f1 +after-brace/0: copy ... +after-brace/0: copy ... +new/0: routine allocated memory from 1000 to 101000 +schedule/0: f1 +run/0: instruction f1/0 +run/0: {name: "1", value: 1, type: 1, properties: ["1": "integer"]} <- copy {name: "0", value: 0, type: 0, properties: ["0": "literal"]} +run/0: ingredient 0 is 0 +mem/0: storing 0 in location 1 +schedule/0: f1 +run/0: instruction f1/1 +run/0: {name: "2", value: 2, type: 1, properties: ["2": "integer"]} <- copy {name: "0", value: 0, type: 0, properties: ["0": "literal"]} +run/0: ingredient 0 is 0 +mem/0: storing 0 in location 2 +schedule/0: f1 |