bug-mes
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] lib/tests: 44-switch-body-fallthrough-not-default.c: Add test.


From: Ekaitz Zarraga
Subject: [PATCH] lib/tests: 44-switch-body-fallthrough-not-default.c: Add test.
Date: Mon, 11 Sep 2023 21:48:07 +0000

>From 16746c17c767b0696fb9395363f5caa6f9272e4b Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Mon, 11 Sep 2023 23:43:26 +0200
Subject: [PATCH] lib/tests: 44-switch-body-fallthrough-not-default.c: Add
 test.

This test detects if the fallthrough in a switch statement falls to the
next case (good) or to the default case (bad).

* lib/tests/scaffold/44-switch-body-fallthrough-not-default.c: New file.
* build-aux/check-mescc.sh (mes_tests): Add it.
---
 build-aux/check-mescc.sh                      |  1 +
 .../44-switch-body-fallthrough-not-default.c  | 45 +++++++++++++++++++
 2 files changed, 46 insertions(+)
 create mode 100644 lib/tests/scaffold/44-switch-body-fallthrough-not-default.c

diff --git a/build-aux/check-mescc.sh b/build-aux/check-mescc.sh
index fb6557b8..4b4be83a 100755
--- a/build-aux/check-mescc.sh
+++ b/build-aux/check-mescc.sh
@@ -101,6 +101,7 @@ lib/tests/scaffold/43-for-do-while.c
 lib/tests/scaffold/44-switch.c
 lib/tests/scaffold/44-switch-fallthrough.c
 lib/tests/scaffold/44-switch-body-fallthrough.c
+lib/tests/scaffold/44-switch-body-fallthrough-not-default.c
 lib/tests/scaffold/45-void-call.c
 lib/tests/scaffold/46-function-static.c
 lib/tests/scaffold/47-function-expression.c
diff --git a/lib/tests/scaffold/44-switch-body-fallthrough-not-default.c 
b/lib/tests/scaffold/44-switch-body-fallthrough-not-default.c
new file mode 100644
index 00000000..243cf9b9
--- /dev/null
+++ b/lib/tests/scaffold/44-switch-body-fallthrough-not-default.c
@@ -0,0 +1,45 @@
+/* -*-comment-start: "//";comment-end:""-*-
+ * GNU Mes --- Maxwell Equations of Software
+ * Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+ * Copyright © 2023 Ekaitz Zarraga <ekaitz@elenq.tech>
+ *
+ * This file is part of GNU Mes.
+ *
+ * GNU Mes is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * GNU Mes is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <mes/lib.h>
+
+int
+main ()
+{
+  int r;
+  int i = 2;
+  switch (i)
+    {
+    case 2:
+      r = 2;
+    case 3:
+      r = 5;
+      break;
+    default:
+      r = 7;
+      break;
+    }
+
+  if (r != 5)
+    return 1;
+
+  return 0;
+}
-- 
2.41.0





reply via email to

[Prev in Thread] Current Thread [Next in Thread]