summaryrefslogtreecommitdiff
path: root/test-suite
diff options
context:
space:
mode:
authorGravatar Stephane Glondu <steph@glondu.net>2014-01-19 15:09:23 +0100
committerGravatar Stephane Glondu <steph@glondu.net>2014-01-19 15:09:23 +0100
commitd2c5c5e616a6e118291fe1ce9965c731adac03a8 (patch)
tree7b000ad50dcc45ff1c63768a983cded1e23a07ca /test-suite
parentdb38bb4ad9aff74576d3b7f00028d48f0447d5bd (diff)
Imported Upstream version 8.4pl3dfsgupstream/8.4pl3dfsg
Diffstat (limited to 'test-suite')
-rw-r--r--test-suite/Makefile1
-rw-r--r--test-suite/bugs/closed/3003.v12
-rw-r--r--test-suite/bugs/closed/3023.v31
-rw-r--r--test-suite/bugs/closed/shouldsucceed/2230.v6
-rw-r--r--test-suite/bugs/closed/shouldsucceed/2837.v15
-rw-r--r--test-suite/output/Arguments_renaming.out5
-rw-r--r--test-suite/output/Arguments_renaming.v2
-rw-r--r--test-suite/success/Case19.v11
8 files changed, 82 insertions, 1 deletions
diff --git a/test-suite/Makefile b/test-suite/Makefile
index cd5886f8..ae1562c7 100644
--- a/test-suite/Makefile
+++ b/test-suite/Makefile
@@ -46,6 +46,7 @@ SHOW := $(if $(VERBOSE),@true,@echo)
HIDE := $(if $(VERBOSE),,@)
REDIR := $(if $(VERBOSE),,> /dev/null 2>&1)
+bogomips :=
ifneq (,$(wildcard /proc/cpuinfo))
sedbogo := -e "s/bogomips.*: \([0-9]*\).*/\1/p" # i386, ppc
sedbogo += -e "s/Cpu0Bogo.*: \([0-9]*\).*/\1/p" # sparc
diff --git a/test-suite/bugs/closed/3003.v b/test-suite/bugs/closed/3003.v
new file mode 100644
index 00000000..2f8bcdae
--- /dev/null
+++ b/test-suite/bugs/closed/3003.v
@@ -0,0 +1,12 @@
+(* This used to raise an anomaly in 8.4 and trunk up to 17 April 2013 *)
+
+Set Implicit Arguments.
+
+Inductive path (V : Type) (E : V -> V -> Type) (s : V) : V -> Type :=
+ | NoEdges : path E s s
+ | AddEdge : forall d d' : V, path E s d -> E d d' -> path E s d'.
+Inductive G_Vertex := G_v0 | G_v1.
+Inductive G_Edge : G_Vertex -> G_Vertex -> Set := G_e : G_Edge G_v0 G_v1.
+Goal forall x1 : G_Edge G_v1 G_v1, @AddEdge _ G_Edge G_v1 _ _ (NoEdges _ _) x1 = NoEdges _ _.
+intro x1.
+try destruct x1. (* now raises a typing error *)
diff --git a/test-suite/bugs/closed/3023.v b/test-suite/bugs/closed/3023.v
new file mode 100644
index 00000000..ed489511
--- /dev/null
+++ b/test-suite/bugs/closed/3023.v
@@ -0,0 +1,31 @@
+(* Checking use of eta on Flexible/Rigid and SemiFlexible/Rigid unif problems *)
+
+Set Implicit Arguments.
+Generalizable All Variables.
+
+Record Category {obj : Type} :=
+ {
+ Morphism : obj -> obj -> Type;
+
+ Identity : forall x, Morphism x x;
+ Compose : forall s d d', Morphism d d' -> Morphism s d -> Morphism s d';
+ LeftIdentity : forall a b (f : Morphism a b), Compose (Identity b) f = f
+ }.
+
+
+Section DiscreteAdjoints.
+ Let C := {|
+ Morphism := (fun X Y : Type => X -> Y);
+ Identity := (fun X : Type => (fun x : X => x));
+ Compose := (fun _ _ _ f g => (fun x => f (g x)));
+ LeftIdentity := (fun X Y p => @eq_refl _ p : (fun x : X => p x) = p)
+ |}.
+ Variable ObjectFunctor : C = C.
+
+ Goal True.
+ Proof.
+ subst C.
+ revert ObjectFunctor.
+ intro ObjectFunctor.
+ simpl in ObjectFunctor.
+ revert ObjectFunctor. (* Used to failed in 8.4 up to 16 April 2013 *)
diff --git a/test-suite/bugs/closed/shouldsucceed/2230.v b/test-suite/bugs/closed/shouldsucceed/2230.v
new file mode 100644
index 00000000..5076fb2b
--- /dev/null
+++ b/test-suite/bugs/closed/shouldsucceed/2230.v
@@ -0,0 +1,6 @@
+Goal forall f, f 1 1 -> True.
+intros.
+match goal with
+ | [ H : _ ?a |- _ ] => idtac
+end.
+Abort.
diff --git a/test-suite/bugs/closed/shouldsucceed/2837.v b/test-suite/bugs/closed/shouldsucceed/2837.v
new file mode 100644
index 00000000..5d984463
--- /dev/null
+++ b/test-suite/bugs/closed/shouldsucceed/2837.v
@@ -0,0 +1,15 @@
+Require Import JMeq.
+
+Axiom test : forall n m : nat, JMeq n m.
+
+Goal forall n m : nat, JMeq n m.
+
+(* I) with no intros nor variable hints, this should produce a regular error
+ instead of Uncaught exception Failure("nth"). *)
+Fail rewrite test.
+
+(* II) with intros but indication of variables, still an error *)
+Fail (intros; rewrite test).
+
+(* III) a working variant: *)
+intros; rewrite (test n m). \ No newline at end of file
diff --git a/test-suite/output/Arguments_renaming.out b/test-suite/output/Arguments_renaming.out
index e443115c..17c80d13 100644
--- a/test-suite/output/Arguments_renaming.out
+++ b/test-suite/output/Arguments_renaming.out
@@ -1,7 +1,9 @@
The command has indeed failed with message:
=> Error: To rename arguments the "rename" flag must be specified.
+Argument A renamed to B.
The command has indeed failed with message:
=> Error: To rename arguments the "rename" flag must be specified.
+Argument A renamed to T.
@eq_refl
: forall (B : Type) (y : B), y = y
eq_refl
@@ -106,3 +108,6 @@ The command has indeed failed with message:
=> Error: Argument z cannot be declared implicit.
The command has indeed failed with message:
=> Error: Extra argument y.
+The command has indeed failed with message:
+=> Error: To rename arguments the "rename" flag must be specified.
+Argument A renamed to R.
diff --git a/test-suite/output/Arguments_renaming.v b/test-suite/output/Arguments_renaming.v
index b133e733..e68fbd69 100644
--- a/test-suite/output/Arguments_renaming.v
+++ b/test-suite/output/Arguments_renaming.v
@@ -50,5 +50,5 @@ Fail Arguments eq_refl {F}, [F].
Fail Arguments eq_refl {F F}, [F] F.
Fail Arguments eq {F} x [z].
Fail Arguments eq {F} x z y.
-
+Fail Arguments eq {R} s t.
diff --git a/test-suite/success/Case19.v b/test-suite/success/Case19.v
index 9a6ed71a..c29e5297 100644
--- a/test-suite/success/Case19.v
+++ b/test-suite/success/Case19.v
@@ -6,3 +6,14 @@ Variable T : Type.
Variable x : nat*nat.
Check let (_, _) := x in sigT (fun _ : T => nat).
+
+(* This used to raise an anomaly in V8.4, up to pl2 *)
+
+Goal {x: nat & x=x}.
+Fail exists (fun x =>
+ match
+ projT2 (projT2 x) as e in (_ = y)
+ return _ = existT _ (projT1 x) (existT _ y e)
+ with
+ | eq_refl => eq_refl
+ end).