about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 1146 - yet another out-of-bounds accessKartik K. Agaram2015-04-223-2/+66
| | | | | | | | | | | | | | There's a test in this commit, but it doesn't actually fail, because by some accident the memory at index 2 of recipe 'f' has data at the is_label offset and breaks out of the loop. Graah. How did I ever misplace that "Reading One Instruction" waypoint? I could swear I was concerned about this possibility when I implemented calls. Today has been tough on my confidence. STL helps avoid memory leaks but doesn't help with buffer overflows nearly as much as I thought. Oh brilliant, valgrind caught the problem! And there weren't any others. I feel much better.
* 1145 - dump termbox's 256-color supportKartik K. Agaram2015-04-222-118/+14
|
* 1144 - dump termbox's support for modifier keysKartik K. Agaram2015-04-223-60/+9
|
* 1143Kartik K. Agaram2015-04-222-1/+1
|
* 1142Kartik K. Agaram2015-04-224-181/+159
|
* 1141Kartik K. Agaram2015-04-221-25/+18
|
* 1140Kartik K. Agaram2015-04-222-42/+0
| | | | Dump deprecated interface.
* 1139Kartik K. Agaram2015-04-226-864/+864
| | | | Reindent termbox.
* 1138 - fix some termbox warningsKartik K. Agaram2015-04-222-3/+7
|
* 1137Kartik K. Agaram2015-04-221-5/+5
|
* 1136 - switch from ncurses to https://github.com/nsf/termboxKartik K. Agaram2015-04-2212-26/+1651
|
* 1135Kartik K. Agaram2015-04-221-1/+1
|
* 1134Kartik K. Agaram2015-04-222-35/+29
|
* 1133 - more reorg of commandline parsingKartik K. Agaram2015-04-226-75/+62
| | | | | | | | | | | | | | | | | | | | | | 1. Drop the ability to run just some C++ tests. It's a lousy interface to use line numbers, we can't selectively run mu tests, we haven't used it in a while because our tests run plenty fast, and it's complicating other parts, like Next_recipe_number and test space handling. 2. Create a new layer right up top to show the usage message and all the different forms that are possible. Good for documentation until we come up with a way to put the different forms in their own layers. At least it's out of the test layer now. 3. Strengthen the assertion that no recipes exist in test space before we start running any sorts of tests. Earlier it was possible for files loaded explicitly to overflow into test space because we were asserting before load, not after. Now we check if we need to run tests, load all files, then make the assertion, run tests, and exit if necessary. Now we don't need to mess with commandline args at all in layer 50. That's a sign that we're on the right track.
* 1132Kartik K. Agaram2015-04-223-0/+0
|
* 1131Kartik K. Agaram2015-04-221-9/+9
|
* 1130Kartik K. Agaram2015-04-221-4/+4
|
* 1129Kartik K. Agaram2015-04-221-3/+2
|
* 1128Kartik K. Agaram2015-04-223-22/+37
| | | | | | Reorganized commandline handling to perform test space assertion in just one place at the right layer. Hopefully this issue will not bite us again.
* 1127Kartik K. Agaram2015-04-223-1/+4
| | | | | | | | | | Move assertions about test space right before running all tests. (But not before running *every* test.) This is a good trip-wire, but it requires that we remember to set it in any new code paths running tests. Still one wart: layer 1 depends on layer 10.
* 1126 - 'mu test x.mu' runs just scenarios in x.muKartik K. Agaram2015-04-226-27/+303
| | | | | | | Required still more tweaking of Recipe namespaces. Mindlessly inserting setup() took a couple of hours to debug because the test function and the function it was testing ended up getting the same recipe number, with the inevitable infinite loop :/
* 1125Kartik K. Agaram2015-04-222-28/+28
|
* 1124Kartik K. Agaram2015-04-222-5/+5
|
* 1123Kartik K. Agaram2015-04-221-1/+8
|
* 1122 - another potential out of bounds accessKartik K. Agaram2015-04-221-2/+6
| | | | | My methodology of tracing and testing isn't intended to eliminate undefined behavior. But mu will, eventually.
* 1121Kartik K. Agaram2015-04-222-0/+12
|
* 1120Kartik K. Agaram2015-04-221-8/+6
|
* 1119 - preparing to start porting chessboardKartik K. Agaram2015-04-213-22/+61
| | | | | | | | | Arc version is 15% faster (8.3s vs 9.9s for print-board test) if I use an intermediate array rather than list. I'm starting to question the whole tagged-value design, and the current tagged-value implementation was treating squares as integers in one place anyway, so its benefits for typing are not great. Might as well create a good baseline for the Arc vs C++ performance test.
* 1118Kartik K. Agaram2015-04-212-4/+2
|
* 1117 - redo entire tanglerKartik K. Agaram2015-04-214-260/+284
| | | | | | | | | | Instead of adding a third-level hack for the new bug (failing test) with multiple directives, I'm giving up on deducing #line directives directly. Instead I'm going to maintain the file and line for every single line as I read it, and then emit directives on their basis as a post-processing step. This way tangling itself can remain oblivious to line numbers, even if we're passing objects around rather than naked strings.
* 1116 - simpler memory checksKartik K. Agaram2015-04-205-55/+85
|
* 1115 - another pass at names: console and displayKartik K. Agaram2015-04-202-8/+12
| | | | (Follow-up to 544.)
* 1114 - more primitives for managing the cursorKartik K. Agaram2015-04-202-0/+78
|
* 1113Kartik K. Agaram2015-04-202-4/+4
|
* 1112Kartik K. Agaram2015-04-202-4/+4
|
* 1111 - start adding ncurses primitivesKartik K. Agaram2015-04-203-1/+40
|
* 1110 - 'scenarios' directive applies only to current fileKartik K. Agaram2015-04-207-7/+5
|
* 1109 - interpolate stringsKartik K. Agaram2015-04-204-0/+2235
|
* 1108 - check for typos in memory expectations in scenariosKartik K. Agaram2015-04-202-0/+20
|
* 1107Kartik K. Agaram2015-04-202-1/+49
|
* 1106Kartik K. Agaram2015-04-201-1/+1
|
* 1105 - more primitives for managing ingredientsKartik K. Agaram2015-04-1933-50/+164
|
* 1104 - support 'dump' in mu scenariosKartik K. Agaram2015-04-191-4/+7
|
* 1103Kartik K. Agaram2015-04-192-0/+32
|
* 1102Kartik K. Agaram2015-04-192-0/+23
|
* 1101Kartik K. Agaram2015-04-1917-56/+57
|
* 1100Kartik K. Agaram2015-04-192-0/+829
|
* 1099 - new recipe: convert integer to decimal stringKartik K. Agaram2015-04-1810-14/+1292
|
* vim highlighting for labelsKartik K. Agaram2015-04-181-1/+2
|
* 1097 - 'grow-buffer' works the first time!Kartik K. Agaram2015-04-182-0/+372
| | | | | | | | | | | | | | | | | | | I thought I'd need to duplicate scenarios to simulate running some code, making some checks, running some more code. But I can just keep saving state to raw locations! I'd still have to manage raw locations myself, though. And it can be ping-pongy to have to check on the other blocks then go back to the run block. But what's the alternative? Multiple run blocks (even excluding the implementation effort) raise questions of namespace sharing across them. If it gets too bad I can intersperse recipes inside the scenario. Yes, that will work. Of course, overly long tests might themselves be a bad idea. We'll see, this is all terra incognita syntactically speaking. This might not be enough to check that a routine is waiting on a channel, but should keep us until then. Wait, even there what you need is a way to check on the status of your child routines. Yeah, doable. Even if we're getting ahead of ourselves.