Neil Brown
c001455fc2
Added a check for an empty list to oneofL
2008-02-05 22:18:22 +00:00
Neil Brown
416e385017
Added labels to all the QuickCheck tests to make it easier to see which one has failed
2008-02-05 22:15:17 +00:00
Neil Brown
fa1e9a6a08
Rearranged FlowGraph and fixed the tests
...
Previously, most of the flow-graph building functions were inside the where clause of buildFlowGraph. They have been moved to the top-level (with only a few small changes to make this possible - the main one being to store the labelling functions in a reader monad, which only required changing a couple of lines) and used by an additional buildFlowGraphP function, that is now used by the tests to make them work simply. None of the new top-level functions except buildFlowGraphP are exported from FlowGraph.
2008-02-05 22:04:49 +00:00
Neil Brown
acd57d74de
Changed the A.Structured type to be parameterised
...
This patch is actually an amalgam of multiple (already large) patches. Those patches conflicted (parameterised Structured vs. changes to usage checking and FlowGraph) and encountered a nasty bug in darcs 1 involving exponential time (see http://wiki.darcs.net/DarcsWiki/ConflictsFAQ for more details). Reasoning that half an hour (of 100% CPU use) was too long to apply patches, I opted to re-record the parameterised Structured changes as this new large patch. Here are the commit messages originally used for the patches (which, as mentioned, were already large patches):
A gigantic patch switching all the non-test modules over to using parameterised A.Structured
Changed the FlowGraph module again to handle any sort of Structured you want to pass to it (mainly for testing)
A further gigantic patch changing all the tests to work with the new parameterised Structured
Fixed a nasty bug involving functions being named incorrectly inside transformInputCase
Added a hand-written instance of Data for Structured that allows us to use ext1M properly
Fixed a few warnings in the code
2008-02-05 19:40:27 +00:00
Neil Brown
6c4e7ee713
Added a few more TestLabels
2008-02-05 16:19:16 +00:00
Neil Brown
093070454b
Removed a use of the head function from PrettyShow
2008-02-05 16:19:00 +00:00
Neil Brown
1b7e0985cc
Added labels to a few tests and began writing a new one for replicated variables and modulo
2008-02-04 08:06:32 +00:00
Neil Brown
c45b82be56
Removed the setting of csVerboseLevel in TestHarness that was accidentally committed
2008-02-04 08:05:16 +00:00
Neil Brown
1074407ef9
Added the ability to neatly print out a problem as a debug message
2008-02-03 15:41:29 +00:00
Neil Brown
01c8343d7e
Simplified an expression in ArrayUsageCheck
2008-02-03 15:40:49 +00:00
Neil Brown
41194f757f
Added support for background knowledge to makeEquations in ArrayUsageCheck, and fed all the replicator bounds into it
2008-02-03 12:44:51 +00:00
Neil Brown
7d30bf612d
Moved flattenParItems up to the higher where clause in checkArrayUsage
2008-02-03 12:43:36 +00:00
Neil Brown
c81fb0670b
Added a function to gather up a common pattern in ArrayUsageCheck
2008-02-03 12:42:16 +00:00
Neil Brown
a856d39604
Moved addEq to the top-level of ArrayUsageCheck
2008-02-03 12:41:16 +00:00
Neil Brown
9c0dcb6008
Added a few more parallel usage tests
2008-02-02 18:59:20 +00:00
Neil Brown
0800fc7b87
Tweaked the formatting of an error message
2008-02-02 17:24:28 +00:00
Neil Brown
330266e682
Fixed the code for detecting if there was the same replicator at the beginning of a PAR group
2008-02-02 17:24:02 +00:00
Neil Brown
70586518df
Created a common UsageLabel type, had a first attempt at handling replicators properly, and added a flag to declarations to indicate whether they included initialisation
2008-02-02 17:08:13 +00:00
Neil Brown
60c9613549
Fixed the code so that the expressions used as replicator starts/counts are now scanned for variables
2008-02-01 14:53:18 +00:00
Neil Brown
1c480ce8d9
Added a couple more usage check tests
2008-02-01 14:50:25 +00:00
Neil Brown
1d9d47312a
Implemented handling of replicators inside PARs in the control flow-graph building
2008-02-01 14:45:02 +00:00
Neil Brown
fdb612123c
Added tests for parallel replicators in the flow-graph
2008-02-01 14:44:50 +00:00
Neil Brown
cb9aa03612
Fixed a nasty problem involving mixing the Meta tags while building the flow-graph, and added a comment about it
2008-02-01 14:34:17 +00:00
Neil Brown
30e890ef02
Corrected the bug involving replicated SEQs that are empty
2008-02-01 11:45:21 +00:00
Neil Brown
d3ad2e7af6
Added a couple more tests for empty replicated SEQs that show up a bug
2008-02-01 11:45:05 +00:00
Neil Brown
c663109378
Corrected how CASE options are handled in the flow-graph, and adjusted the accompanying tests
2008-02-01 11:34:03 +00:00
Neil Brown
2beda004b3
Corrected some more tests relating to the way empty A.Severals are handled
2008-02-01 11:21:43 +00:00
Neil Brown
e9a2143a28
Tweaked a slightly misleading error message when flow-graph tests fail
2008-02-01 11:14:54 +00:00
Neil Brown
5eb5a4c979
Corrected some tests to reflect the new way that empty A.Several items are handled when building the flow-graph
2008-02-01 11:12:31 +00:00
Neil Brown
0a22ebf34b
Fixed up a couple of lines to properly handle the difference between Left False and Left True when building the flow-graph
2008-02-01 11:09:23 +00:00
Neil Brown
f8844edcb0
Corrected getNextParEdgeId in the flow-graph building to also actually increment the id ready for the next call
2008-02-01 11:08:53 +00:00
Neil Brown
83e04b92d4
Corrected the order the nodes are folded to match reality (rather than unintentionally reversing them)
2008-02-01 10:52:16 +00:00
Neil Brown
0672730894
Changed the way PARs are built up in the flow-graph, but haven't yet fixed the tests
2008-02-01 10:39:17 +00:00
Neil Brown
8fb60ff511
Added another test for PAR in FlowGraphTest
2008-01-30 20:47:27 +00:00
Neil Brown
5306e87463
Changed the tests for PAR in FlowGraphTest to match the intended new scheme
2008-01-30 20:37:47 +00:00
Neil Brown
a9427fe421
Corrected one test for SEQ in FlowGraphTest, and added another
2008-01-30 20:37:15 +00:00
Neil Brown
76e3a9b615
Corrected FlowGraphTest so it generates replicators inside IFs, not CASEs
2008-01-30 20:16:05 +00:00
Neil Brown
0dc94f9a32
Renamed the members of the OuterType data-type to be a little more distinctive
2008-01-30 19:58:20 +00:00
Neil Brown
b3cd170840
Fixed an oversight with duplicated Meta tags in testSeq in FlowGraphTest
2008-01-30 19:47:39 +00:00
Neil Brown
0f0be6e4a3
Added support for replicators to the quickcheck tests (actually applying the modification functions)
2008-01-30 19:14:33 +00:00
Neil Brown
c2c6bf24f8
Changed the QuickCheck flow-graph generators to generate a Process as the top level, rather than Structured, to make the test input more interesting
2008-01-30 18:57:00 +00:00
Neil Brown
0dc4b81be8
Corrected the item count for replicators in the QuickCheck FlowGraph tests
2008-01-30 18:56:33 +00:00
Neil Brown
45a8fa0b88
Added handling of sequential replicators when building the flow graph
2008-01-30 13:50:53 +00:00
Neil Brown
7c811f347c
Added a couple of tests for sequential replicators
2008-01-30 13:50:28 +00:00
Neil Brown
b6132d6431
Added replicators to the flow graphs generated for the QuickCheck tests
2008-01-30 13:50:07 +00:00
Neil Brown
e94826c64e
Added a function to GraphLabelFuncs for labelling replicators
2008-01-30 12:43:28 +00:00
Neil Brown
6a979f3cb1
Added a command-line option for turning on the usage checking
2008-01-29 22:50:51 +00:00
Neil Brown
5a7e6976d1
Added a typename decorator to a template type to keep the C++ compiler happy
2008-01-29 21:39:04 +00:00
Neil Brown
46f054ff98
Put back an include directive for boost tuples that must have been accidentally removed
2008-01-29 21:38:42 +00:00
Neil Brown
efe1985dd1
Fixed a problem with the compile-cgtests not being executable
2008-01-29 21:38:20 +00:00