extra test proc with brackets
This commit is contained in:
parent
386e2d20e4
commit
3031d576f5
23
README.md
23
README.md
|
@ -153,3 +153,26 @@ Before calling `execute()`, you can preload input port values using `mockinput()
|
||||||
For instance, `.mockinput(0, 4)` will preload input port 0 with value 4. Psm statements like `input s0, 0` will load 4 into register s4.
|
For instance, `.mockinput(0, 4)` will preload input port 0 with value 4. Psm statements like `input s0, 0` will load 4 into register s4.
|
||||||
opbtest acutally replaces the statement with `load s0, 4`, so no actual input statements will be processed.
|
opbtest acutally replaces the statement with `load s0, 4`, so no actual input statements will be processed.
|
||||||
|
|
||||||
|
### Debugging Tests
|
||||||
|
|
||||||
|
Somethings, a failing test does not clearly indicate the underlying problem. The Assembly source file is not the same source code as the code that is simulated to get to this result.
|
||||||
|
For example, when mocking, parts are replaced, and when registers are setup, extra loads are done. If you want to take a look at the Assembly file to be compiled and interpreted, add the following to your `setUp` testcase:
|
||||||
|
|
||||||
|
```python
|
||||||
|
def setUp(self):
|
||||||
|
self.do_not_cleanup_files()
|
||||||
|
```
|
||||||
|
|
||||||
|
This will leave the generated Assembly files in the test directory after test execution:
|
||||||
|
|
||||||
|
1. tmp_[timestamp].psm4
|
||||||
|
2. tmp_[timestamp].gen.psm - PicoBlaze macro expanded instructionset
|
||||||
|
3. tmp_[timestamp].fmt, .log metafiles
|
||||||
|
4. tmp_[timestamp].mem - binary.
|
||||||
|
|
||||||
|
Run the assembler yourself:
|
||||||
|
|
||||||
|
1. compiling: `opbasm --6 -c file.psm4` (or `--3` for PicoBlaze 3)
|
||||||
|
2. simulating: `opbsim -v -m:file.mem --pb6` (or `--pb3` for PicoBlaze 3)
|
||||||
|
|
||||||
|
For more information about the commandline flags, see the [Open PicoBlaze Assembler documentation](http://kevinpt.github.io/opbasm/).
|
|
@ -19,6 +19,15 @@ func func1(s1 is val) : 1 {
|
||||||
load val, 52
|
load val, 52
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc func_with_brackets_in() {
|
||||||
|
if(s0 == 0) {
|
||||||
|
if(s1 == 0) {
|
||||||
|
load s2, 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
add s2, 1
|
||||||
|
}
|
||||||
|
|
||||||
main:
|
main:
|
||||||
load s2, 11
|
load s2, 11
|
||||||
add s2, 1
|
add s2, 1
|
||||||
|
|
|
@ -21,6 +21,10 @@ class TestFunctions(OpbTestCase):
|
||||||
except AssertionError:
|
except AssertionError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def test_proc_with_brackets_in(self):
|
||||||
|
assert_that = self.load_file("functions.psm4").testproc("func_with_brackets_in").execute()
|
||||||
|
assert_that.regs(["s2"]).contains([3])
|
||||||
|
|
||||||
def test_proc_with_tab_statements_replaced_well(self):
|
def test_proc_with_tab_statements_replaced_well(self):
|
||||||
assert_that = self.load_file("functions.psm4").testproc("proc3").replace("add bla, 1", "add bla, 2").execute()
|
assert_that = self.load_file("functions.psm4").testproc("proc3").replace("add bla, 1", "add bla, 2").execute()
|
||||||
assert_that.reg("s5").contains(2)
|
assert_that.reg("s5").contains(2)
|
||||||
|
|
Loading…
Reference in New Issue