krb5 commit: Add profile tests for final nodes
Greg Hudson
ghudson at mit.edu
Tue Jul 23 17:40:28 EDT 2019
https://github.com/krb5/krb5/commit/63fe2905901fa8b06cfccb8f8fe136d556e8cb6c
commit 63fe2905901fa8b06cfccb8f8fe136d556e8cb6c
Author: Greg Hudson <ghudson at mit.edu>
Date: Mon Jul 15 15:09:30 2019 -0400
Add profile tests for final nodes
src/util/profile/Makefile.in | 20 ++++++++++++++++++--
src/util/profile/final.expected | 12 ++++++++++++
src/util/profile/final1.ini | 6 ++++++
src/util/profile/final2.ini | 7 +++++++
src/util/profile/final3.ini | 6 ++++++
src/util/profile/final4.ini | 6 ++++++
src/util/profile/final5.ini | 5 +++++
7 files changed, 60 insertions(+), 2 deletions(-)
diff --git a/src/util/profile/Makefile.in b/src/util/profile/Makefile.in
index ba589c4..079443e 100644
--- a/src/util/profile/Makefile.in
+++ b/src/util/profile/Makefile.in
@@ -129,7 +129,7 @@ profile_tcl: profile_tcl.o $(PROF_DEPLIB) $(COM_ERR_DEPLIB) $(SUPPORT_DEPLIB)
clean-unix:: clean-libs clean-libobjs
$(RM) $(PROGS) *.o *~ core prof_err.h profile.h prof_err.c
$(RM) test_load test_parse test_profile test_vtable profile_tcl
- $(RM) modtest.conf testinc.ini testinc2.ini
+ $(RM) modtest.conf testinc.ini testinc2.ini final.out
$(RM) -r test_include_dir
clean-windows::
@@ -140,7 +140,23 @@ check-unix: test_parse test_profile test_vtable test_load modtest.conf
$(RUN_TEST) ./test_load
DO_TCL=@DO_TCL@
-check-unix: check-unix-tcl-$(DO_TCL)
+check-unix: check-unix-final check-unix-tcl-$(DO_TCL)
+
+F1=$(srcdir)/final1.ini
+F2=$(srcdir)/final2.ini
+F3=$(srcdir)/final3.ini
+F4=$(srcdir)/final4.ini
+F5=$(srcdir)/final5.ini
+QUERY=query section subsection key
+check-unix-final: test_profile
+ $(RM) final.out
+ (echo; $(RUN_TEST) ./test_profile $(F1):$(F1) $(QUERY)) > final.out
+ (echo; $(RUN_TEST) ./test_profile $(F2):$(F1) $(QUERY)) >> final.out
+ (echo; $(RUN_TEST) ./test_profile $(F3):$(F1) $(QUERY)) >> final.out
+ (echo; $(RUN_TEST) ./test_profile $(F4):$(F1) $(QUERY)) >> final.out
+ (echo; $(RUN_TEST) ./test_profile $(F5):$(F1) $(QUERY)) >> final.out
+ cmp final.out $(srcdir)/final.expected
+ $(RM) final.out
check-unix-tcl-:
@echo "+++"
diff --git a/src/util/profile/final.expected b/src/util/profile/final.expected
new file mode 100644
index 0000000..fb23b3c
--- /dev/null
+++ b/src/util/profile/final.expected
@@ -0,0 +1,12 @@
+
+value1
+value1
+
+value2
+value1
+
+value3
+
+value4
+
+value5
diff --git a/src/util/profile/final1.ini b/src/util/profile/final1.ini
new file mode 100644
index 0000000..0419add
--- /dev/null
+++ b/src/util/profile/final1.ini
@@ -0,0 +1,6 @@
+# A basic profile setting a single relation in a subsection, with
+# nothing marked final.
+[section]
+ subsection = {
+ key = value1
+ }
diff --git a/src/util/profile/final2.ini b/src/util/profile/final2.ini
new file mode 100644
index 0000000..4b1e15b
--- /dev/null
+++ b/src/util/profile/final2.ini
@@ -0,0 +1,7 @@
+# In this variant the relation is marked final. There is parsing
+# support for this but no iteration or dumping support, so the marker
+# currently has no effect.
+[section]
+ subsection = {
+ key* = value2
+ }
diff --git a/src/util/profile/final3.ini b/src/util/profile/final3.ini
new file mode 100644
index 0000000..dcf0ca9
--- /dev/null
+++ b/src/util/profile/final3.ini
@@ -0,0 +1,6 @@
+# In this variant the subsection is marked final via a '*' at the end
+# of the tag name.
+[section]
+ subsection* = {
+ key = value3
+ }
diff --git a/src/util/profile/final4.ini b/src/util/profile/final4.ini
new file mode 100644
index 0000000..dcba078
--- /dev/null
+++ b/src/util/profile/final4.ini
@@ -0,0 +1,6 @@
+# In this variant the subsection is marked final via a '*' after the
+# closing brace.
+[section]
+ subsection = {
+ key = value4
+ }*
diff --git a/src/util/profile/final5.ini b/src/util/profile/final5.ini
new file mode 100644
index 0000000..58cd57d
--- /dev/null
+++ b/src/util/profile/final5.ini
@@ -0,0 +1,5 @@
+# In this variant the top-level section is marked final.
+[section]*
+ subsection = {
+ key = value5
+ }
More information about the cvs-krb5
mailing list