annotate doc/format_config.awk @ 8218:32aaf5dc562b

fix(REST): issue2551383; improve errors for bad json, fix PUT docs While adding fuzz testing for email addresses via REST /rest/data/user/1/address, I had an error when setting the address to the same value it currently had. Traced this to a bug in userauditor.py. Fixed the bug. Documented in upgrading.txt. While trying to track down issue, I realized invalid json was being accepted without error. So I fixed the code that parses the json and have it return an error. Also modified some tests that broke (used invalid json, or passed body (e.g. DELETE) but shouldn't have. Add tests for bad json to verify new code. Fixed test that wasn't initializing the body_file in each loop, so the test wasn't actually supplying a body. Also realised PUT documentation was not correct. Output format isn't quite like GET. Fuss tests for email address also added.
author John Rouillard <rouilj@ieee.org>
date Tue, 17 Dec 2024 19:42:46 -0500
parents 8b5f8b950f58
children c3bf229d3d4b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8036
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
1 #! /bin/awk
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
2
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
3 # delete first 8 lines
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
4 NR < 9 {next}
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
5
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
6 # When we see a section [label]:
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
7 # emit section index marker,
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
8 # emit section anchor
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
9 # set up for code formating
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
10 # emit any comments/blank line that are accumulated before the
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
11 # section marker
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
12 # print the indented section marker
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
13 #
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
14 # zero the accumulator and the variable that prevents large blocks
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
15 # of empty lines.
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
16 /^\[([a-z]*)\]/ { match($0, /^\[([a-z]*)\].*/, section_match);
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
17 section = section_match[1];
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
18 print("\n\n.. index:: config.ini; sections " section);
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
19 print(".. _`config-ini-section-" section "`:");
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
20 print(".. code:: ini\n");
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
21 if (accumulate) {
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
22 print(" " accumulate "\n");
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
23 }
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
24 print(" " $0);
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
25 accumulate = "";
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
26 prev_line_is_blank = 0;
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
27 }
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
28
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
29 # if the line is a setting line (even if commented out)
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
30 # print the accumulated comments/blank lines and the setting line
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
31 # zero the accumulator and the variable that prevents blocks of blank lines
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
32 # get the next input line
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
33 /^#?[a-z0-9_-]* =/ { print accumulate "\n " $0;
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
34 accumulate = "";
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
35 prev_line_is_blank = 0;
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
36 next;
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
37 }
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
38
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
39 # accumulate comment lines and indent them
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
40 /^#/ { accumulate = accumulate "\n " $0; prev_line_is_blank = 0;}
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
41
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
42 # accumulate a blank line only if the previous line was not blank.
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
43 /^$/ { if (! prev_line_is_blank) {accumulate = accumulate $0};
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
44 prev_line_is_blank = 1;
8b5f8b950f58 docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
45 }

Roundup Issue Tracker: http://roundup-tracker.org/