gnucash maint: [test-stress-options] remove need for test-stress-optionlist.scm

Geert Janssens gjanssens at code.gnucash.org
Tue Aug 7 12:26:09 EDT 2018


Updated	 via  https://github.com/Gnucash/gnucash/commit/3b74574c (commit)
	from  https://github.com/Gnucash/gnucash/commit/78ab26cc (commit)



commit 3b74574cde3b808d80d60d7ce8d479d321da79c6
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Thu Aug 2 23:50:06 2018 +0800

    [test-stress-options] remove need for test-stress-optionlist.scm
    
    This commit modifies test-stress-options to retrieve the report-list,
    and for each report-list, retrieve their options, and for each
    multichoice and boolean option, add to optionslist. I now know how to
    generate the optionslist dynamically from the unit tests, therefore
    there's no need to maintain a test-stress-optionslist.scm anymore. Yay!

diff --git a/gnucash/report/standard-reports/test/test-stress-options.scm b/gnucash/report/standard-reports/test/test-stress-options.scm
index 4265273..e85cd61 100644
--- a/gnucash/report/standard-reports/test/test-stress-options.scm
+++ b/gnucash/report/standard-reports/test/test-stress-options.scm
@@ -26,60 +26,35 @@
 ;;
 ;; e.g. COMBINATORICS=/home/user/jenny/jenny ninja check
 
-(load "test-stress-optionslist.scm")
-;; The above optionslist was generated programmatically.  It was
-;; generated by running a sentinel function in the middle of an
-;; existing report renderer. The sentinel function is defined as
-;; follows, then was cleaned up using emacs' indenting. No other
-;; processing was done.  Only the multichoice and boolean options for
-;; most reports were dumped.  Although this cannot provide whole
-;; coverage for option permutations, it can catch many errors while
-;; refactoring inner functions.
-
-;; (define (mydump)
-;;   (with-output-to-file "test-stress-optionslist.scm"
-;;     (lambda ()
-;;       (display "(define optionslist\n (list \n")
-;;       (gnc:report-templates-for-each
-;;        (lambda (report-id template)
-;;          (let* ((options-generator (gnc:report-template-options-generator template))
-;;                 (name (gnc:report-template-name template))
-;;                 (options (and (not (string=? name "General Journal"))
-;;                               (options-generator))))
-;;            (define (disp d)
-;;              (define (try proc)
-;;                (catch 'wrong-type-arg
-;;                  (lambda () (proc d))
-;;                  (const #f)))
-;;              (or (and (symbol? d) (string-append "'" (symbol->string d)))
-;;                  (and (list? d) (string-append "(list " (string-join (map disp d) " ") ")"))
-;;                  (and (pair? d) (format #f "(cons ~a . ~a)"
-;;                                         (disp (car d))
-;;                                         (disp (cdr d))))
-;;                  (try gnc-commodity-get-mnemonic)
-;;                  (try xaccAccountGetName)
-;;                  (try gnc-budget-get-name)
-;;                  (format #f "~s" d)))
-;;            (format #t "(list (cons 'report-id ~s)\n      (cons 'report-name ~s)\n      (cons 'options\n (list\n"
-;;                    report-id (gnc:report-template-name template))
-;;            (if options
-;;                (gnc:options-for-each
-;;                 (lambda (option)
-;;                   (if (memq (gnc:option-type option) '(multichoice boolean))
-;;                       (format #t "                  (vector ~s ~s '~s '~s)\n"
-;;                               (gnc:option-section option)
-;;                               (gnc:option-name option)
-;;                               (gnc:option-type option)
-;;                               (case (gnc:option-type option)
-;;                                 ((multichoice) (map (lambda (d) (vector-ref d 0)) (gnc:option-data option)))
-;;                                 ((boolean) (list #t #f))
-;;                                 ;; (else "\"\"")
-;;                                 (else (disp (gnc:option-value option)))))))
-;;                 options)
-;;                )
-;;            (display ")))\n"))))
-;;       (display "))\n"))))
+(define optionslist '())
 
+(define (generate-optionslist)
+  (gnc:report-templates-for-each
+   (lambda (report-id template)
+     (let* ((options-generator (gnc:report-template-options-generator template))
+            (name (gnc:report-template-name template))
+            (options (options-generator)))
+       (set! optionslist
+         (cons (list (cons 'report-id report-id)
+                     (cons 'report-name (gnc:report-template-name template))
+                     (cons 'options (let ((report-options-tested '()))
+                                      (gnc:options-for-each
+                                       (lambda (option)
+                                         (when (memq (gnc:option-type option)
+                                                     '(multichoice boolean))
+                                           (set! report-options-tested
+                                             (cons (vector
+                                                    (gnc:option-section option)
+                                                    (gnc:option-name option)
+                                                    (gnc:option-type option)
+                                                    (case (gnc:option-type option)
+                                                      ((multichoice) (map (lambda (d) (vector-ref d 0))
+                                                                          (gnc:option-data option)))
+                                                      ((boolean) (list #t #f))))
+                                                   report-options-tested))))
+                                       options)
+                                      report-options-tested)))
+               optionslist))))))
 
 ;; Explicitly set locale to make the report output predictable
 (setlocale LC_ALL "C")
@@ -87,6 +62,7 @@
 (define (run-test)
   (test-runner-factory gnc:test-runner)
   (test-begin "stress options")
+  (generate-optionslist)
   (tests)
   (test-end "stress options"))
 
diff --git a/gnucash/report/standard-reports/test/test-stress-optionslist.scm b/gnucash/report/standard-reports/test/test-stress-optionslist.scm
deleted file mode 100644
index b9c0220..0000000
--- a/gnucash/report/standard-reports/test/test-stress-optionslist.scm
+++ /dev/null
@@ -1,972 +0,0 @@
-(define optionslist
-  (list
-   (list (cons 'report-id "e9cf815f79db44bcb637d0295093ae3d")
-         (cons 'report-name "Assets Over Time")
-         (cons 'options
-               (list
-                (vector "Accounts" "Show Accounts until level" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Display" "Chart Type" 'multichoice '(barchart linechart))
-                (vector "Display" "Use Stacked Charts" 'boolean '(#t #f))
-                (vector "Display" "Sort Method" 'multichoice '(acct-code alphabetical amount))
-                (vector "Display" "Show table" 'boolean '(#t #f))
-                (vector "Display" "Show long account names" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Step Size" 'multichoice '(DayDelta WeekDelta TwoWeekDelta MonthDelta QuarterDelta HalfYearDelta YearDelta))
-                )))
-   (list (cons 'report-id "e45218c6d76f11e7b5ef0800277ef320")
-         (cons 'report-name "Reconciliation Report")
-         (cons 'options
-               (list
-                (vector "Accounts" "Filter Type" 'multichoice '(none include exclude))
-                (vector "Display" "Sign Reverses" 'multichoice '(global none income-expense credit-accounts))
-                (vector "Display" "Description" 'boolean '(#t #f))
-                (vector "Display" "Amount" 'multichoice '(none single double))
-                (vector "Display" "Num" 'boolean '(#t #f))
-                (vector "Display" "Shares" 'boolean '(#t #f))
-                (vector "Display" "Use Full Account Name" 'boolean '(#t #f))
-                (vector "Display" "Use Full Other Account Name" 'boolean '(#t #f))
-                (vector "Display" "Detail Level" 'multichoice '(multi-line single))
-                (vector "Display" "Account Code" 'boolean '(#t #f))
-                (vector "Display" "Memo" 'boolean '(#t #f))
-                (vector "Display" "Totals" 'boolean '(#t #f))
-                (vector "Display" "Account Name" 'boolean '(#t #f))
-                (vector "Display" "Other Account Name" 'boolean '(#t #f))
-                (vector "Display" "Price" 'boolean '(#t #f))
-                (vector "Display" "Other Account Code" 'boolean '(#t #f))
-                (vector "Display" "Reconciled Date" 'boolean '(#t #f))
-                (vector "Display" "Subtotal Table" 'boolean '(#t #f))
-                (vector "Display" "Notes" 'boolean '(#t #f))
-                (vector "Display" "Date" 'boolean '(#t #f))
-                (vector "Sorting" "Secondary Sort Order" 'multichoice '(ascend descend))
-                (vector "Sorting" "Show Full Account Name" 'boolean '(#t #f))
-                (vector "Sorting" "Show Account Code" 'boolean '(#t #f))
-                (vector "Sorting" "Show Account Description" 'boolean '(#t #f))
-                (vector "Sorting" "Primary Subtotal for Date Key" 'multichoice '(none daily weekly monthly quarterly yearly))
-                (vector "Sorting" "Secondary Key" 'multichoice '(account-name account-code date reconciled-date reconciled-status register-order corresponding-acc-name corresponding-acc-code amount description number t-number memo notes none))
-                (vector "Sorting" "Add indenting columns" 'boolean '(#t #f))
-                (vector "Sorting" "Secondary Subtotal" 'boolean '(#t #f))
-                (vector "Sorting" "Primary Subtotal" 'boolean '(#t #f))
-                (vector "Sorting" "Secondary Subtotal for Date Key" 'multichoice '(none daily weekly monthly quarterly yearly))
-                (vector "Sorting" "Primary Key" 'multichoice '(account-name account-code date reconciled-date reconciled-status register-order corresponding-acc-name corresponding-acc-code amount description number t-number memo notes none))
-                (vector "Sorting" "Show Informal Debit/Credit Headers" 'boolean '(#t #f))
-                (vector "Sorting" "Primary Sort Order" 'multichoice '(ascend descend))
-                (vector "Sorting" "Show subtotals only (hide transactional data)" 'boolean '(#t #f))
-                (vector "Filter" "Closing transactions" 'multichoice '(exclude-closing include-both closing-only))
-                (vector "Filter" "Void Transactions" 'multichoice '(non-void-only void-only both))
-                (vector "Filter" "Use regular expressions for transaction filter" 'boolean '(#t #f))
-                (vector "Filter" "Use regular expressions for account name filter" 'boolean '(#t #f))
-                (vector "Filter" "Reconcile Status" 'multichoice '(all unreconciled cleared reconciled))
-                (vector "General" "Show original currency amount" 'boolean '(#t #f))
-                (vector "General" "Table for Exporting" 'boolean '(#t #f))
-                (vector "General" "Add options summary" 'multichoice '(no-match always never))
-                (vector "General" "Common Currency" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "583c313fcc484efc974c4c844404f454")
-         (cons 'report-name "Budget Income Statement")
-         (cons 'options
-               (list
-                (vector "Commodities" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "Commodities" "Show Exchange Rates" 'boolean '(#t #f))
-                (vector "Commodities" "Show Foreign Currencies" 'boolean '(#t #f))
-                (vector "Accounts" "Levels of Subaccounts" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Accounts" "Flatten list to depth limit" 'boolean '(#t #f))
-                (vector "Display" "Display as a two column report" 'boolean '(#t #f))
-                (vector "Display" "Show accounting-style rules" 'boolean '(#t #f))
-                (vector "Display" "Display accounts as hyperlinks" 'boolean '(#t #f))
-                (vector "Display" "Parent account balances" 'multichoice '(immediate-bal recursive-bal omit-bal))
-                (vector "Display" "Display in standard, income first, order" 'boolean '(#t #f))
-                (vector "Display" "Include accounts with zero total balances" 'boolean '(#t #f))
-                (vector "Display" "Label the revenue section" 'boolean '(#t #f))
-                (vector "Display" "Parent account subtotals" 'multichoice '(t f canonically-tabbed))
-                (vector "Display" "Include expense total" 'boolean '(#t #f))
-                (vector "Display" "Omit zero balance figures" 'boolean '(#t #f))
-                (vector "Display" "Include revenue total" 'boolean '(#t #f))
-                (vector "Display" "Label the expense section" 'boolean '(#t #f))
-                (vector "General" "Report for range of budget periods" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "4166a20981985fd2b07ff8cb3b7d384e")
-         (cons 'report-name "Customer Summary")
-         (cons 'options
-               (list
-                (vector "Display" "Sort Order" 'multichoice '(ascend descend))
-                (vector "Display" "Show Inactive Customers" 'boolean '(#t #f))
-                (vector "Display" "Show Lines with All Zeros" 'boolean '(#t #f))
-                (vector "Display" "Show Expense Column" 'boolean '(#t #f))
-                (vector "Display" "Sort Column" 'multichoice '(customername profit markup sales expense))
-                (vector "Display" "Show Company Address" 'boolean '(#t #f))
-                (vector "__reg" "reverse?" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "d8ba4a2e89e8479ca9f6eccdeb164588")
-         (cons 'report-name "Multicolumn View")
-         (cons 'options
-               (list
-                )))
-   (list (cons 'report-id "216cd0cf6931453ebcce85415aba7082")
-         (cons 'report-name "Trial Balance")
-         (cons 'options
-               (list
-                (vector "Commodities" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "Commodities" "Show Exchange Rates" 'boolean '(#t #f))
-                (vector "Commodities" "Show Foreign Currencies" 'boolean '(#t #f))
-                (vector "Accounts" "Levels of Subaccounts" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Entries" "Adjusting Entries Pattern is regular expression" 'boolean '(#t #f))
-                (vector "Entries" "Closing Entries pattern is case-sensitive" 'boolean '(#t #f))
-                (vector "Entries" "Adjusting Entries pattern is case-sensitive" 'boolean '(#t #f))
-                (vector "Entries" "Closing Entries Pattern is regular expression" 'boolean '(#t #f))
-                (vector "Display" "Display accounts as hyperlinks" 'boolean '(#t #f))
-                (vector "General" "Report variation" 'multichoice '(current pre-adj work-sheet))
-                )))
-   (list (cons 'report-id "47f45d7d6d57b68518481c1fc8d4e4ba")
-         (cons 'report-name "Future Scheduled Transactions Summary")
-         (cons 'options
-               (list
-                (vector "Commodities" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "Commodities" "Show Exchange Rates" 'boolean '(#t #f))
-                (vector "Commodities" "Show Foreign Currencies" 'boolean '(#t #f))
-                (vector "Accounts" "Levels of Subaccounts" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Accounts" "Depth limit behavior" 'multichoice '(summarize flatten truncate))
-                (vector "Display" "Show accounting-style rules" 'boolean '(#t #f))
-                (vector "Display" "Display accounts as hyperlinks" 'boolean '(#t #f))
-                (vector "Display" "Parent account balances" 'multichoice '(immediate-bal recursive-bal omit-bal))
-                (vector "Display" "Account Description" 'boolean '(#t #f))
-                (vector "Display" "Include accounts with zero total balances" 'boolean '(#t #f))
-                (vector "Display" "Parent account subtotals" 'multichoice '(t f canonically-tabbed))
-                (vector "Display" "Account Code" 'boolean '(#t #f))
-                (vector "Display" "Omit zero balance figures" 'boolean '(#t #f))
-                (vector "Display" "Account Notes" 'boolean '(#t #f))
-                (vector "Display" "Account Type" 'boolean '(#t #f))
-                (vector "Display" "Account Balance" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "c2a996c8970f43448654ca84f17dda24")
-         (cons 'report-name "Equity Statement")
-         (cons 'options
-               (list
-                (vector "Commodities" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "Commodities" "Show Exchange Rates" 'boolean '(#t #f))
-                (vector "Commodities" "Show Foreign Currencies" 'boolean '(#t #f))
-                (vector "Entries" "Closing Entries pattern is case-sensitive" 'boolean '(#t #f))
-                (vector "Entries" "Closing Entries Pattern is regular expression" 'boolean '(#t #f))
-                (vector "Display" "Show accounting-style rules" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "3dbbc2584da64e7a8674355bc3fbfe3d")
-         (cons 'report-name "Australian Tax Invoice")
-         (cons 'options
-               (list
-                (vector "Display" "table-border-collapse" 'boolean '(#t #f))
-                (vector "Elements" "Show net price" 'boolean '(#t #f))
-                (vector "Elements" "column: Units" 'boolean '(#t #f))
-                (vector "Elements" "Show Job number" 'boolean '(#t #f))
-                (vector "Elements" "row: Address" 'boolean '(#t #f))
-                (vector "Elements" "column: Date" 'boolean '(#t #f))
-                (vector "Elements" "column: Tax Rate" 'boolean '(#t #f))
-                (vector "Elements" "Invoice number next to title" 'boolean '(#t #f))
-                (vector "Elements" "row: Company Name" 'boolean '(#t #f))
-                (vector "Elements" "row: Invoice Number" 'boolean '(#t #f))
-                (vector "Elements" "Show Job name" 'boolean '(#t #f))
-                (vector "Elements" "row: Contact" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "2e3751edeb7544e8a20fd19e9d08bb65")
-         (cons 'report-name "Balance Sheet (eguile)")
-         (cons 'options
-               (list
-                (vector "Commodities" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "Commodities" "Show Foreign Currencies" 'boolean '(#t #f))
-                (vector "Accounts" "Display accounts as hyperlinks" 'boolean '(#t #f))
-                (vector "Accounts" "Levels of Subaccounts" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Accounts" "Flatten list to depth limit" 'boolean '(#t #f))
-                (vector "Accounts" "Exclude accounts with zero total balances" 'boolean '(#t #f))
-                (vector "Display" "Negative amount format" 'multichoice '(negsign negbrackets))
-                (vector "Display" "1- or 2-column report" 'multichoice '(autocols onecol twocols))
-                )))
-   (list (cons 'report-id "e9418ff64f2c11e5b61d1c7508d793ed")
-         (cons 'report-name "Securities")
-         (cons 'options
-               (list
-                (vector "Display" "Show Totals" 'boolean '(#t #f))
-                (vector "Display" "Show long names" 'boolean '(#t #f))
-                (vector "Display" "Show Percents" 'boolean '(#t #f))
-                (vector "Display" "Sort Method" 'multichoice '(acct-code alphabetical amount))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                )))
-   (list (cons 'report-id "e1bd09b8a1dd49dd85760db9d82b045c")
-         (cons 'report-name "Income Accounts")
-         (cons 'options
-               (list
-                (vector "Accounts" "Show Accounts until level" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Display" "Show Totals" 'boolean '(#t #f))
-                (vector "Display" "Show long names" 'boolean '(#t #f))
-                (vector "Display" "Show Percents" 'boolean '(#t #f))
-                (vector "Display" "Sort Method" 'multichoice '(acct-code alphabetical amount))
-                (vector "General" "Show Average" 'multichoice '(None YearDelta MonthDelta WeekDelta))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                )))
-   (list (cons 'report-id "2e22929e5c5b4b769f615a815ef0c20f")
-         (cons 'report-name "General Ledger")
-         (cons 'options
-               (list
-                (vector "Accounts" "Filter Type" 'multichoice '(none include exclude))
-                (vector "Display" "Sign Reverses" 'multichoice '(global none income-expense credit-accounts))
-                (vector "Display" "Description" 'boolean '(#t #f))
-                (vector "Display" "Amount" 'multichoice '(none single double))
-                (vector "Display" "Num" 'boolean '(#t #f))
-                (vector "Display" "Running Balance" 'boolean '(#t #f))
-                (vector "Display" "Shares" 'boolean '(#t #f))
-                (vector "Display" "Use Full Account Name" 'boolean '(#t #f))
-                (vector "Display" "Use Full Other Account Name" 'boolean '(#t #f))
-                (vector "Display" "Detail Level" 'multichoice '(multi-line single))
-                (vector "Display" "Account Code" 'boolean '(#t #f))
-                (vector "Display" "Memo" 'boolean '(#t #f))
-                (vector "Display" "Totals" 'boolean '(#t #f))
-                (vector "Display" "Account Name" 'boolean '(#t #f))
-                (vector "Display" "Other Account Name" 'boolean '(#t #f))
-                (vector "Display" "Price" 'boolean '(#t #f))
-                (vector "Display" "Other Account Code" 'boolean '(#t #f))
-                (vector "Display" "Reconciled Date" 'boolean '(#t #f))
-                (vector "Display" "Subtotal Table" 'boolean '(#t #f))
-                (vector "Display" "Notes" 'boolean '(#t #f))
-                (vector "Display" "Date" 'boolean '(#t #f))
-                (vector "Sorting" "Secondary Sort Order" 'multichoice '(ascend descend))
-                (vector "Sorting" "Show Full Account Name" 'boolean '(#t #f))
-                (vector "Sorting" "Show Account Code" 'boolean '(#t #f))
-                (vector "Sorting" "Show Account Description" 'boolean '(#t #f))
-                (vector "Sorting" "Primary Subtotal for Date Key" 'multichoice '(none daily weekly monthly quarterly yearly))
-                (vector "Sorting" "Secondary Key" 'multichoice '(account-name account-code date reconciled-date reconciled-status register-order corresponding-acc-name corresponding-acc-code amount description number t-number memo notes none))
-                (vector "Sorting" "Add indenting columns" 'boolean '(#t #f))
-                (vector "Sorting" "Secondary Subtotal" 'boolean '(#t #f))
-                (vector "Sorting" "Primary Subtotal" 'boolean '(#t #f))
-                (vector "Sorting" "Secondary Subtotal for Date Key" 'multichoice '(none daily weekly monthly quarterly yearly))
-                (vector "Sorting" "Primary Key" 'multichoice '(account-name account-code date reconciled-date reconciled-status register-order corresponding-acc-name corresponding-acc-code amount description number t-number memo notes none))
-                (vector "Sorting" "Show Informal Debit/Credit Headers" 'boolean '(#t #f))
-                (vector "Sorting" "Primary Sort Order" 'multichoice '(ascend descend))
-                (vector "Sorting" "Show subtotals only (hide transactional data)" 'boolean '(#t #f))
-                (vector "Filter" "Closing transactions" 'multichoice '(exclude-closing include-both closing-only))
-                (vector "Filter" "Void Transactions" 'multichoice '(non-void-only void-only both))
-                (vector "Filter" "Use regular expressions for transaction filter" 'boolean '(#t #f))
-                (vector "Filter" "Use regular expressions for account name filter" 'boolean '(#t #f))
-                (vector "Filter" "Reconcile Status" 'multichoice '(all unreconciled cleared reconciled))
-                (vector "General" "Stylesheet" 'multichoice '(Default Easy Footer #{Head or Tail}# Technicolor))
-                (vector "General" "Show original currency amount" 'boolean '(#t #f))
-                (vector "General" "Table for Exporting" 'boolean '(#t #f))
-                (vector "General" "Add options summary" 'multichoice '(no-match always never))
-                (vector "General" "Common Currency" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "9cf76bed17f14401b8e3e22d0079cb98")
-         (cons 'report-name "Receivable Aging")
-         (cons 'options
-               (list
-                (vector "Display" "Address Name" 'boolean '(#t #f))
-                (vector "Display" "Address 1" 'boolean '(#t #f))
-                (vector "Display" "Active" 'boolean '(#t #f))
-                (vector "Display" "Address 2" 'boolean '(#t #f))
-                (vector "Display" "Address 3" 'boolean '(#t #f))
-                (vector "Display" "Address Source" 'multichoice '(billing shipping))
-                (vector "Display" "Address Email" 'boolean '(#t #f))
-                (vector "Display" "Address Phone" 'boolean '(#t #f))
-                (vector "Display" "Address 4" 'boolean '(#t #f))
-                (vector "Display" "Address Fax" 'boolean '(#t #f))
-                (vector "General" "Sort By" 'multichoice '(name total oldest-bracket))
-                (vector "General" "Show zero balance items" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Sort Order" 'multichoice '(increasing decreasing))
-                (vector "General" "Due or Post Date" 'multichoice '(duedate postdate))
-                (vector "General" "Show Multi-currency Totals" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "3ce293441e894423a2425d7a22dd1ac6")
-         (cons 'report-name "Fancy Invoice")
-         (cons 'options
-               (list
-                (vector "Display" "Payable to" 'boolean '(#t #f))
-                (vector "Display" "Individual Taxes" 'boolean '(#t #f))
-                (vector "Display" "Billing Terms" 'boolean '(#t #f))
-                (vector "Display" "References" 'boolean '(#t #f))
-                (vector "Display" "Totals" 'boolean '(#t #f))
-                (vector "Display" "Invoice Notes" 'boolean '(#t #f))
-                (vector "Display" "Billing ID" 'boolean '(#t #f))
-                (vector "Display" "Payments" 'boolean '(#t #f))
-                (vector "Display" "Company contact" 'boolean '(#t #f))
-                (vector "Display Columns" "Tax Amount" 'boolean '(#t #f))
-                (vector "Display Columns" "Description" 'boolean '(#t #f))
-                (vector "Display Columns" "Discount" 'boolean '(#t #f))
-                (vector "Display Columns" "Total" 'boolean '(#t #f))
-                (vector "Display Columns" "Action" 'boolean '(#t #f))
-                (vector "Display Columns" "Taxable" 'boolean '(#t #f))
-                (vector "Display Columns" "Quantity" 'boolean '(#t #f))
-                (vector "Display Columns" "Price" 'boolean '(#t #f))
-                (vector "Display Columns" "Date" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "08ae9c2e884b4f9787144f47eacd7f44")
-         (cons 'report-name "Employee Report")
-         (cons 'options
-               (list
-                (vector "Display Columns" "Tax" 'boolean '(#t #f))
-                (vector "Display Columns" "Description" 'boolean '(#t #f))
-                (vector "Display Columns" "Amount" 'boolean '(#t #f))
-                (vector "Display Columns" "Debits" 'boolean '(#t #f))
-                (vector "Display Columns" "Type" 'boolean '(#t #f))
-                (vector "Display Columns" "Due Date" 'boolean '(#t #f))
-                (vector "Display Columns" "Sale" 'boolean '(#t #f))
-                (vector "Display Columns" "Reference" 'boolean '(#t #f))
-                (vector "Display Columns" "Credits" 'boolean '(#t #f))
-                (vector "Display Columns" "Date" 'boolean '(#t #f))
-                (vector "General" "Due or Post Date" 'multichoice '(duedate postdate))
-                (vector "__reg" "reverse?" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "8758ba23984c40dea5527f5f0ca2779e")
-         (cons 'report-name "Profit & Loss")
-         (cons 'options
-               (list
-                (vector "Commodities" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "Commodities" "Show Exchange Rates" 'boolean '(#t #f))
-                (vector "Commodities" "Show Foreign Currencies" 'boolean '(#t #f))
-                (vector "Accounts" "Levels of Subaccounts" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Accounts" "Flatten list to depth limit" 'boolean '(#t #f))
-                (vector "Entries" "Closing Entries pattern is case-sensitive" 'boolean '(#t #f))
-                (vector "Entries" "Closing Entries Pattern is regular expression" 'boolean '(#t #f))
-                (vector "Display" "Display as a two column report" 'boolean '(#t #f))
-                (vector "Display" "Show accounting-style rules" 'boolean '(#t #f))
-                (vector "Display" "Display accounts as hyperlinks" 'boolean '(#t #f))
-                (vector "Display" "Parent account balances" 'multichoice '(immediate-bal recursive-bal omit-bal))
-                (vector "Display" "Display in standard, income first, order" 'boolean '(#t #f))
-                (vector "Display" "Include accounts with zero total balances" 'boolean '(#t #f))
-                (vector "Display" "Label the revenue section" 'boolean '(#t #f))
-                (vector "Display" "Parent account subtotals" 'multichoice '(t f canonically-tabbed))
-                (vector "Display" "Include expense total" 'boolean '(#t #f))
-                (vector "Display" "Include trading accounts total" 'boolean '(#t #f))
-                (vector "Display" "Omit zero balance figures" 'boolean '(#t #f))
-                (vector "Display" "Include revenue total" 'boolean '(#t #f))
-                (vector "Display" "Label the expense section" 'boolean '(#t #f))
-                (vector "Display" "Label the trading accounts section" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "c4173ac99b2b448289bf4d11c731af13")
-         (cons 'report-name "Balance Sheet")
-         (cons 'options
-               (list
-                (vector "Commodities" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "Commodities" "Show Exchange Rates" 'boolean '(#t #f))
-                (vector "Commodities" "Show Foreign Currencies" 'boolean '(#t #f))
-                (vector "Accounts" "Levels of Subaccounts" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Accounts" "Flatten list to depth limit" 'boolean '(#t #f))
-                (vector "Display" "Show accounting-style rules" 'boolean '(#t #f))
-                (vector "Display" "Display accounts as hyperlinks" 'boolean '(#t #f))
-                (vector "Display" "Parent account balances" 'multichoice '(immediate-bal recursive-bal omit-bal))
-                (vector "Display" "Include assets total" 'boolean '(#t #f))
-                (vector "Display" "Include accounts with zero total balances" 'boolean '(#t #f))
-                (vector "Display" "Parent account subtotals" 'multichoice '(t f canonically-tabbed))
-                (vector "Display" "Include liabilities total" 'boolean '(#t #f))
-                (vector "Display" "Label the liabilities section" 'boolean '(#t #f))
-                (vector "Display" "Omit zero balance figures" 'boolean '(#t #f))
-                (vector "Display" "Label the assets section" 'boolean '(#t #f))
-                (vector "Display" "Include equity total" 'boolean '(#t #f))
-                (vector "Display" "Label the equity section" 'boolean '(#t #f))
-                (vector "General" "Single column Balance Sheet" 'boolean '(#t #f))
-                (vector "General" "Use standard US layout" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "c146317be32e4948a561ec7fc89d15c1")
-         (cons 'report-name "Customer Report")
-         (cons 'options
-               (list
-                (vector "Display Columns" "Tax" 'boolean '(#t #f))
-                (vector "Display Columns" "Description" 'boolean '(#t #f))
-                (vector "Display Columns" "Amount" 'boolean '(#t #f))
-                (vector "Display Columns" "Debits" 'boolean '(#t #f))
-                (vector "Display Columns" "Type" 'boolean '(#t #f))
-                (vector "Display Columns" "Due Date" 'boolean '(#t #f))
-                (vector "Display Columns" "Sale" 'boolean '(#t #f))
-                (vector "Display Columns" "Reference" 'boolean '(#t #f))
-                (vector "Display Columns" "Credits" 'boolean '(#t #f))
-                (vector "Display Columns" "Date" 'boolean '(#t #f))
-                (vector "General" "Due or Post Date" 'multichoice '(duedate postdate))
-                (vector "__reg" "reverse?" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "2fe3b9833af044abb929a88d5a59620f")
-         (cons 'report-name "Transaction Report")
-         (cons 'options
-               (list
-                (vector "Accounts" "Filter Type" 'multichoice '(none include exclude))
-                (vector "Display" "Sign Reverses" 'multichoice '(global none income-expense credit-accounts))
-                (vector "Display" "Description" 'boolean '(#t #f))
-                (vector "Display" "Amount" 'multichoice '(none single double))
-                (vector "Display" "Num" 'boolean '(#t #f))
-                (vector "Display" "Running Balance" 'boolean '(#t #f))
-                (vector "Display" "Shares" 'boolean '(#t #f))
-                (vector "Display" "Use Full Account Name" 'boolean '(#t #f))
-                (vector "Display" "Use Full Other Account Name" 'boolean '(#t #f))
-                (vector "Display" "Detail Level" 'multichoice '(multi-line single))
-                (vector "Display" "Account Code" 'boolean '(#t #f))
-                (vector "Display" "Memo" 'boolean '(#t #f))
-                (vector "Display" "Totals" 'boolean '(#t #f))
-                (vector "Display" "Account Name" 'boolean '(#t #f))
-                (vector "Display" "Other Account Name" 'boolean '(#t #f))
-                (vector "Display" "Price" 'boolean '(#t #f))
-                (vector "Display" "Other Account Code" 'boolean '(#t #f))
-                (vector "Display" "Reconciled Date" 'boolean '(#t #f))
-                (vector "Display" "Subtotal Table" 'boolean '(#t #f))
-                (vector "Display" "Notes" 'boolean '(#t #f))
-                (vector "Display" "Date" 'boolean '(#t #f))
-                (vector "Sorting" "Secondary Sort Order" 'multichoice '(ascend descend))
-                (vector "Sorting" "Show Full Account Name" 'boolean '(#t #f))
-                (vector "Sorting" "Show Account Code" 'boolean '(#t #f))
-                (vector "Sorting" "Show Account Description" 'boolean '(#t #f))
-                (vector "Sorting" "Primary Subtotal for Date Key" 'multichoice '(none daily weekly monthly quarterly yearly))
-                (vector "Sorting" "Secondary Key" 'multichoice '(account-name account-code date reconciled-date reconciled-status register-order corresponding-acc-name corresponding-acc-code amount description number t-number memo notes none))
-                (vector "Sorting" "Add indenting columns" 'boolean '(#t #f))
-                (vector "Sorting" "Secondary Subtotal" 'boolean '(#t #f))
-                (vector "Sorting" "Primary Subtotal" 'boolean '(#t #f))
-                (vector "Sorting" "Secondary Subtotal for Date Key" 'multichoice '(none daily weekly monthly quarterly yearly))
-                (vector "Sorting" "Primary Key" 'multichoice '(account-name account-code date reconciled-date reconciled-status register-order corresponding-acc-name corresponding-acc-code amount description number t-number memo notes none))
-                (vector "Sorting" "Show Informal Debit/Credit Headers" 'boolean '(#t #f))
-                (vector "Sorting" "Primary Sort Order" 'multichoice '(ascend descend))
-                (vector "Sorting" "Show subtotals only (hide transactional data)" 'boolean '(#t #f))
-                (vector "Filter" "Closing transactions" 'multichoice '(exclude-closing include-both closing-only))
-                (vector "Filter" "Void Transactions" 'multichoice '(non-void-only void-only both))
-                (vector "Filter" "Use regular expressions for transaction filter" 'boolean '(#t #f))
-                (vector "Filter" "Use regular expressions for account name filter" 'boolean '(#t #f))
-                (vector "Filter" "Reconcile Status" 'multichoice '(all unreconciled cleared reconciled))
-                (vector "General" "Show original currency amount" 'boolean '(#t #f))
-                (vector "General" "Table for Exporting" 'boolean '(#t #f))
-                (vector "General" "Add options summary" 'multichoice '(no-match always never))
-                (vector "General" "Common Currency" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "e57770f2dbca46619d6dac4ac5469b50")
-         (cons 'report-name "Payable Aging")
-         (cons 'options
-               (list
-                (vector "Display" "Address Name" 'boolean '(#t #f))
-                (vector "Display" "Address 1" 'boolean '(#t #f))
-                (vector "Display" "Active" 'boolean '(#t #f))
-                (vector "Display" "Address 2" 'boolean '(#t #f))
-                (vector "Display" "Address 3" 'boolean '(#t #f))
-                (vector "Display" "Address Email" 'boolean '(#t #f))
-                (vector "Display" "Address Phone" 'boolean '(#t #f))
-                (vector "Display" "Address 4" 'boolean '(#t #f))
-                (vector "Display" "Address Fax" 'boolean '(#t #f))
-                (vector "General" "Sort By" 'multichoice '(name total oldest-bracket))
-                (vector "General" "Show zero balance items" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Sort Order" 'multichoice '(increasing decreasing))
-                (vector "General" "Due or Post Date" 'multichoice '(duedate postdate))
-                (vector "General" "Show Multi-currency Totals" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "5426e4d987f6444387fe70880e5b28a0")
-         (cons 'report-name "Cash Flow Barchart")
-         (cons 'options
-               (list
-                (vector "Accounts" "Include Trading Accounts in report" 'boolean '(#t #f))
-                (vector "Display" "Show Table" 'boolean '(#t #f))
-                (vector "Display" "Show Money In" 'boolean '(#t #f))
-                (vector "Display" "Show Money Out" 'boolean '(#t #f))
-                (vector "Display" "Show Net Flow" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Step Size" 'multichoice '(DayDelta WeekDelta TwoWeekDelta MonthDelta QuarterDelta HalfYearDelta YearDelta))
-                )))
-   (list (cons 'report-id "0769e242be474010b4acf264a5512e6e")
-         (cons 'report-name "Tax Invoice")
-         (cons 'options
-               (list
-                (vector "Display" "table-border-collapse" 'boolean '(#t #f))
-                (vector "Elements" "Show net price" 'boolean '(#t #f))
-                (vector "Elements" "column: Units" 'boolean '(#t #f))
-                (vector "Elements" "Show Job number" 'boolean '(#t #f))
-                (vector "Elements" "row: Address" 'boolean '(#t #f))
-                (vector "Elements" "column: Date" 'boolean '(#t #f))
-                (vector "Elements" "column: Tax Rate" 'boolean '(#t #f))
-                (vector "Elements" "Invoice number next to title" 'boolean '(#t #f))
-                (vector "Elements" "row: Company Name" 'boolean '(#t #f))
-                (vector "Elements" "row: Invoice Number" 'boolean '(#t #f))
-                (vector "Elements" "Show Job name" 'boolean '(#t #f))
-                (vector "Elements" "row: Contact" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "dde49fed4ca940959ae7d01b72742530")
-         (cons 'report-name "Expenses vs. Day of Week")
-         (cons 'options
-               (list
-                (vector "Accounts" "Include Sub-Accounts" 'boolean '(#t #f))
-                (vector "Accounts" "Show Accounts until level" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Display" "Show Totals" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                )))
-   (list (cons 'report-id "d5adcc61c62e4b8684dd8907448d7900")
-         (cons 'report-name "Average Balance")
-         (cons 'options
-               (list
-                (vector "Accounts" "Include Sub-Accounts" 'boolean '(#t #f))
-                (vector "Accounts" "Exclude transactions between selected accounts" 'boolean '(#t #f))
-                (vector "Display" "Show table" 'boolean '(#t #f))
-                (vector "Display" "Show plot" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Step Size" 'multichoice '(DayDelta WeekDelta TwoWeekDelta MonthDelta QuarterDelta HalfYearDelta YearDelta))
-                )))
-   (list (cons 'report-id "25455562bd234dd0b048ecc5a8af9e43")
-         (cons 'report-name "General Journal")
-         (cons 'options
-               (list
-                )))
-   (list (cons 'report-id "67112f318bef4fc496bdc27d106bbda4")
-         (cons 'report-name "Easy Invoice")
-         (cons 'options
-               (list
-                (vector "Display" "My Company" 'boolean '(#t #f))
-                (vector "Display" "Subtotal" 'boolean '(#t #f))
-                (vector "Display" "Individual Taxes" 'boolean '(#t #f))
-                (vector "Display" "Billing Terms" 'boolean '(#t #f))
-                (vector "Display" "Due Date" 'boolean '(#t #f))
-                (vector "Display" "References" 'boolean '(#t #f))
-                (vector "Display" "Totals" 'boolean '(#t #f))
-                (vector "Display" "My Company ID" 'boolean '(#t #f))
-                (vector "Display" "Invoice Notes" 'boolean '(#t #f))
-                (vector "Display" "Billing ID" 'boolean '(#t #f))
-                (vector "Display" "Payments" 'boolean '(#t #f))
-                (vector "Display Columns" "Tax Amount" 'boolean '(#t #f))
-                (vector "Display Columns" "Description" 'boolean '(#t #f))
-                (vector "Display Columns" "Discount" 'boolean '(#t #f))
-                (vector "Display Columns" "Total" 'boolean '(#t #f))
-                (vector "Display Columns" "Charge Type" 'boolean '(#t #f))
-                (vector "Display Columns" "Taxable" 'boolean '(#t #f))
-                (vector "Display Columns" "Quantity" 'boolean '(#t #f))
-                (vector "Display Columns" "Price" 'boolean '(#t #f))
-                (vector "Display Columns" "Date" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "3298541c236b494998b236dfad6ad752")
-         (cons 'report-name "Account Summary")
-         (cons 'options
-               (list
-                (vector "Commodities" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "Commodities" "Show Exchange Rates" 'boolean '(#t #f))
-                (vector "Commodities" "Show Foreign Currencies" 'boolean '(#t #f))
-                (vector "Accounts" "Levels of Subaccounts" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Accounts" "Depth limit behavior" 'multichoice '(summarize flatten truncate))
-                (vector "Display" "Show accounting-style rules" 'boolean '(#t #f))
-                (vector "Display" "Display accounts as hyperlinks" 'boolean '(#t #f))
-                (vector "Display" "Parent account balances" 'multichoice '(immediate-bal recursive-bal omit-bal))
-                (vector "Display" "Account Description" 'boolean '(#t #f))
-                (vector "Display" "Include accounts with zero total balances" 'boolean '(#t #f))
-                (vector "Display" "Parent account subtotals" 'multichoice '(t f canonically-tabbed))
-                (vector "Display" "Account Code" 'boolean '(#t #f))
-                (vector "Display" "Omit zero balance figures" 'boolean '(#t #f))
-                (vector "Display" "Account Notes" 'boolean '(#t #f))
-                (vector "Display" "Account Type" 'boolean '(#t #f))
-                (vector "Display" "Account Balance" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "80769921e87943adade887b9835a7685")
-         (cons 'report-name "Income/Expense Chart")
-         (cons 'options
-               (list
-                (vector "Display" "Show Income/Expense" 'boolean '(#t #f))
-                (vector "Display" "Show table" 'boolean '(#t #f))
-                (vector "Display" "Show Net Profit" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Step Size" 'multichoice '(DayDelta WeekDelta TwoWeekDelta MonthDelta QuarterDelta HalfYearDelta YearDelta))
-                )))
-   (list (cons 'report-id "f8921f4e5c284d7caca81e239f468a68")
-         (cons 'report-name "Tax Schedule Report/TXF Export")
-         (cons 'options
-               (list
-                (vector "Display" "Do not print transaction detail" 'boolean '(#t #f))
-                (vector "Display" "Do not print Action:Memo data" 'boolean '(#t #f))
-                (vector "Display" "Currency conversion date" 'multichoice '(conv-to-tran-date conv-to-report-date))
-                (vector "Display" "Print TXF export parameters" 'boolean '(#t #f))
-                (vector "Display" "Print all Transfer To/From Accounts" 'boolean '(#t #f))
-                (vector "Display" "Suppress $0.00 values" 'boolean '(#t #f))
-                (vector "Display" "Do not use special date processing" 'boolean '(#t #f))
-                (vector "Display" "Do not print full account names" 'boolean '(#t #f))
-                (vector "General" "Alternate Period" 'multichoice '(from-to #{1st-est}# #{2nd-est}# #{3rd-est}# #{4th-est}# last-year #{1st-last}# #{2nd-last}# #{3rd-last}# #{4th-last}#))
-                )))
-   (list (cons 'report-id "810ed4b25ef0486ea43bbd3dddb32b11")
-         (cons 'report-name "Budget Report")
-         (cons 'options
-               (list
-                (vector "Accounts" "Always show sub-accounts" 'boolean '(#t #f))
-                (vector "Accounts" "Flatten list to depth limit" 'boolean '(#t #f))
-                (vector "Accounts" "Account Display Depth" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Display" "Show Actual" 'boolean '(#t #f))
-                (vector "Display" "Show Budget" 'boolean '(#t #f))
-                (vector "Display" "Include accounts with zero total balances and budget values" 'boolean '(#t #f))
-                (vector "Display" "Roll up budget amounts to parent" 'boolean '(#t #f))
-                (vector "Display" "Show Column with Totals" 'boolean '(#t #f))
-                (vector "Display" "Show Difference" 'boolean '(#t #f))
-                (vector "General" "Report for range of budget periods" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Range end" 'multichoice '(first previous current next last manual))
-                (vector "General" "Include collapsed periods before selected." 'boolean '(#t #f))
-                (vector "General" "Range start" 'multichoice '(first previous current next last manual))
-                (vector "General" "Include collapsed periods after selected." 'boolean '(#t #f))
-                (vector "General" "Show Full Account Names" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "cbba1696c8c24744848062c7f1cf4a72")
-         (cons 'report-name "Net Worth Barchart")
-         (cons 'options
-               (list
-                (vector "Display" "Show Asset & Liability" 'boolean '(#t #f))
-                (vector "Display" "Show table" 'boolean '(#t #f))
-                (vector "Display" "Show Net Worth" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Step Size" 'multichoice '(DayDelta WeekDelta TwoWeekDelta MonthDelta QuarterDelta HalfYearDelta YearDelta))
-                )))
-   (list (cons 'report-id "4a6b82e8678c4f3d9e85d9f09634ca89")
-         (cons 'report-name "Investment Portfolio")
-         (cons 'options
-               (list
-                (vector "Accounts" "Include accounts with no shares" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                )))
-   (list (cons 'report-id "44f81bee049b4b3ea908f8dac9a9474e")
-         (cons 'report-name "Income Over Time")
-         (cons 'options
-               (list
-                (vector "Accounts" "Show Accounts until level" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Display" "Chart Type" 'multichoice '(barchart linechart))
-                (vector "Display" "Use Stacked Charts" 'boolean '(#t #f))
-                (vector "Display" "Sort Method" 'multichoice '(acct-code alphabetical amount))
-                (vector "Display" "Show table" 'boolean '(#t #f))
-                (vector "Display" "Show long account names" 'boolean '(#t #f))
-                (vector "General" "Show Average" 'multichoice '(None MonthDelta WeekDelta DayDelta))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Step Size" 'multichoice '(DayDelta WeekDelta TwoWeekDelta MonthDelta QuarterDelta HalfYearDelta YearDelta))
-                )))
-   (list (cons 'report-id "5bf27f249a0d11e7abc4cec278b6b50a")
-         (cons 'report-name "Income and GST Statement")
-         (cons 'options
-               (list
-                (vector "Display" "Description" 'boolean '(#t #f))
-                (vector "Display" "Num" 'boolean '(#t #f))
-                (vector "Display" "Tax payable" 'boolean '(#t #f))
-                (vector "Display" "Individual income columns" 'boolean '(#t #f))
-                (vector "Display" "Use Full Account Name" 'boolean '(#t #f))
-                (vector "Display" "Net Income" 'boolean '(#t #f))
-                (vector "Display" "Use Full Other Account Name" 'boolean '(#t #f))
-                (vector "Display" "Individual expense columns" 'boolean '(#t #f))
-                (vector "Display" "Account Code" 'boolean '(#t #f))
-                (vector "Display" "Individual tax columns" 'boolean '(#t #f))
-                (vector "Display" "Remittance amount" 'boolean '(#t #f))
-                (vector "Display" "Memo" 'boolean '(#t #f))
-                (vector "Display" "Totals" 'boolean '(#t #f))
-                (vector "Display" "Account Name" 'boolean '(#t #f))
-                (vector "Display" "Other Account Name" 'boolean '(#t #f))
-                (vector "Display" "Other Account Code" 'boolean '(#t #f))
-                (vector "Display" "Reconciled Date" 'boolean '(#t #f))
-                (vector "Display" "Subtotal Table" 'boolean '(#t #f))
-                (vector "Display" "Notes" 'boolean '(#t #f))
-                (vector "Display" "Date" 'boolean '(#t #f))
-                (vector "Sorting" "Secondary Sort Order" 'multichoice '(ascend descend))
-                (vector "Sorting" "Show Full Account Name" 'boolean '(#t #f))
-                (vector "Sorting" "Show Account Code" 'boolean '(#t #f))
-                (vector "Sorting" "Show Account Description" 'boolean '(#t #f))
-                (vector "Sorting" "Primary Subtotal for Date Key" 'multichoice '(none daily weekly monthly quarterly yearly))
-                (vector "Sorting" "Secondary Key" 'multichoice '(account-name account-code date reconciled-date reconciled-status register-order corresponding-acc-name corresponding-acc-code amount description number t-number memo notes none))
-                (vector "Sorting" "Add indenting columns" 'boolean '(#t #f))
-                (vector "Sorting" "Secondary Subtotal" 'boolean '(#t #f))
-                (vector "Sorting" "Primary Subtotal" 'boolean '(#t #f))
-                (vector "Sorting" "Secondary Subtotal for Date Key" 'multichoice '(none daily weekly monthly quarterly yearly))
-                (vector "Sorting" "Primary Key" 'multichoice '(account-name account-code date reconciled-date reconciled-status register-order corresponding-acc-name corresponding-acc-code amount description number t-number memo notes none))
-                (vector "Sorting" "Primary Sort Order" 'multichoice '(ascend descend))
-                (vector "Sorting" "Show subtotals only (hide transactional data)" 'boolean '(#t #f))
-                (vector "Filter" "Void Transactions" 'multichoice '(non-void-only void-only both))
-                (vector "Filter" "Use regular expressions for transaction filter" 'boolean '(#t #f))
-                (vector "Filter" "Use regular expressions for account name filter" 'boolean '(#t #f))
-                (vector "Filter" "Reconcile Status" 'multichoice '(all unreconciled cleared reconciled))
-                (vector "General" "Table for Exporting" 'boolean '(#t #f))
-                (vector "General" "Add options summary" 'multichoice '(no-match always never))
-                (vector "General" "Common Currency" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "3fe6dce77da24c66bdc8f8efdea7f9ac")
-         (cons 'report-name "Liabilities")
-         (cons 'options
-               (list
-                (vector "Accounts" "Show Accounts until level" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Display" "Show Totals" 'boolean '(#t #f))
-                (vector "Display" "Show long names" 'boolean '(#t #f))
-                (vector "Display" "Show Percents" 'boolean '(#t #f))
-                (vector "Display" "Sort Method" 'multichoice '(acct-code alphabetical amount))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                )))
-   (list (cons 'report-id "5123a759ceb9483abf2182d01c140e8d")
-         (cons 'report-name "Printable Invoice")
-         (cons 'options
-               (list
-                (vector "Display" "Individual Taxes" 'boolean '(#t #f))
-                (vector "Display" "Billing Terms" 'boolean '(#t #f))
-                (vector "Display" "References" 'boolean '(#t #f))
-                (vector "Display" "Totals" 'boolean '(#t #f))
-                (vector "Display" "Invoice Notes" 'boolean '(#t #f))
-                (vector "Display" "Billing ID" 'boolean '(#t #f))
-                (vector "Display" "Payments" 'boolean '(#t #f))
-                (vector "Display" "Job Details" 'boolean '(#t #f))
-                (vector "Display Columns" "Tax Amount" 'boolean '(#t #f))
-                (vector "Display Columns" "Description" 'boolean '(#t #f))
-                (vector "Display Columns" "Discount" 'boolean '(#t #f))
-                (vector "Display Columns" "Total" 'boolean '(#t #f))
-                (vector "Display Columns" "Action" 'boolean '(#t #f))
-                (vector "Display Columns" "Taxable" 'boolean '(#t #f))
-                (vector "Display Columns" "Quantity" 'boolean '(#t #f))
-                (vector "Display Columns" "Price" 'boolean '(#t #f))
-                (vector "Display Columns" "Date" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "21d7cfc59fc74f22887596ebde7e462d")
-         (cons 'report-name "Advanced Portfolio")
-         (cons 'options
-               (list
-                (vector "Accounts" "Include accounts with no shares" 'boolean '(#t #f))
-                (vector "Display" "Show ticker symbols" 'boolean '(#t #f))
-                (vector "Display" "Show number of shares" 'boolean '(#t #f))
-                (vector "Display" "Show prices" 'boolean '(#t #f))
-                (vector "Display" "Show listings" 'boolean '(#t #f))
-                (vector "General" "How to report brokerage fees" 'multichoice '(include-in-basis include-in-gain ignore-brokerage))
-                (vector "General" "Price Source" 'multichoice '(pricedb-latest pricedb-nearest))
-                (vector "General" "Basis calculation method" 'multichoice '(average-basis fifo-basis filo-basis))
-                (vector "General" "Set preference for price list data" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "7eb3df21073d4c33920a0257da15fba5")
-         (cons 'report-name "Receipt")
-         (cons 'options
-               (list
-                )))
-   (list (cons 'report-id "e6e34fa3b6e748debde3cb3bc76d3e53")
-         (cons 'report-name "Budget Flow")
-         (cons 'options
-               (list
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                )))
-   (list (cons 'report-id "b1f15b2052c149df93e698fe85a81ea6")
-         (cons 'report-name "Expense Over Time")
-         (cons 'options
-               (list
-                (vector "Accounts" "Show Accounts until level" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Display" "Chart Type" 'multichoice '(barchart linechart))
-                (vector "Display" "Use Stacked Charts" 'boolean '(#t #f))
-                (vector "Display" "Sort Method" 'multichoice '(acct-code alphabetical amount))
-                (vector "Display" "Show table" 'boolean '(#t #f))
-                (vector "Display" "Show long account names" 'boolean '(#t #f))
-                (vector "General" "Show Average" 'multichoice '(None MonthDelta WeekDelta DayDelta))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Step Size" 'multichoice '(DayDelta WeekDelta TwoWeekDelta MonthDelta QuarterDelta HalfYearDelta YearDelta))
-                )))
-   (list (cons 'report-id "898d78ec92854402bf76e20a36d24ade")
-         (cons 'report-name "Hello, World")
-         (cons 'options
-               (list
-                (vector "Hello, World!" "Multi Choice Option" 'multichoice '(first second third fourth))
-                (vector "Hello, World!" "Boolean Option" 'boolean '(#t #f))
-                (vector "Testing" "Crash the report" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "5e2d129f28d14df881c3e47e3053f604")
-         (cons 'report-name "Income vs. Day of Week")
-         (cons 'options
-               (list
-                (vector "Accounts" "Include Sub-Accounts" 'boolean '(#t #f))
-                (vector "Accounts" "Show Accounts until level" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Display" "Show Totals" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                )))
-   (list (cons 'report-id "faf410e8f8da481fbc09e4763da40bcc")
-         (cons 'report-name "Liabilities Over Time")
-         (cons 'options
-               (list
-                (vector "Accounts" "Show Accounts until level" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Display" "Chart Type" 'multichoice '(barchart linechart))
-                (vector "Display" "Use Stacked Charts" 'boolean '(#t #f))
-                (vector "Display" "Sort Method" 'multichoice '(acct-code alphabetical amount))
-                (vector "Display" "Show table" 'boolean '(#t #f))
-                (vector "Display" "Show long account names" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Step Size" 'multichoice '(DayDelta WeekDelta TwoWeekDelta MonthDelta QuarterDelta HalfYearDelta YearDelta))
-                )))
-   (list (cons 'report-id "0b81a3bdfd504aff849ec2e8630524bc")
-         (cons 'report-name "Income Statement")
-         (cons 'options
-               (list
-                (vector "Commodities" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "Commodities" "Show Exchange Rates" 'boolean '(#t #f))
-                (vector "Commodities" "Show Foreign Currencies" 'boolean '(#t #f))
-                (vector "Accounts" "Levels of Subaccounts" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Accounts" "Flatten list to depth limit" 'boolean '(#t #f))
-                (vector "Entries" "Closing Entries pattern is case-sensitive" 'boolean '(#t #f))
-                (vector "Entries" "Closing Entries Pattern is regular expression" 'boolean '(#t #f))
-                (vector "Display" "Display as a two column report" 'boolean '(#t #f))
-                (vector "Display" "Show accounting-style rules" 'boolean '(#t #f))
-                (vector "Display" "Display accounts as hyperlinks" 'boolean '(#t #f))
-                (vector "Display" "Parent account balances" 'multichoice '(immediate-bal recursive-bal omit-bal))
-                (vector "Display" "Display in standard, income first, order" 'boolean '(#t #f))
-                (vector "Display" "Include accounts with zero total balances" 'boolean '(#t #f))
-                (vector "Display" "Label the revenue section" 'boolean '(#t #f))
-                (vector "Display" "Parent account subtotals" 'multichoice '(t f canonically-tabbed))
-                (vector "Display" "Include expense total" 'boolean '(#t #f))
-                (vector "Display" "Include trading accounts total" 'boolean '(#t #f))
-                (vector "Display" "Omit zero balance figures" 'boolean '(#t #f))
-                (vector "Display" "Include revenue total" 'boolean '(#t #f))
-                (vector "Display" "Label the expense section" 'boolean '(#t #f))
-                (vector "Display" "Label the trading accounts section" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "415cd38d39054d9e9c4040455290c2b1")
-         (cons 'report-name "Budget Chart")
-         (cons 'options
-               (list
-                (vector "Accounts" "Levels of Subaccounts" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Display" "Chart Type" 'multichoice '(bars lines))
-                (vector "Display" "Running Sum" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "f8748b813fab4220ba26e743aedf38da")
-         (cons 'report-name "Cash Flow")
-         (cons 'options
-               (list
-                (vector "Accounts" "Always show sub-accounts" 'boolean '(#t #f))
-                (vector "Accounts" "Include Trading Accounts in report" 'boolean '(#t #f))
-                (vector "Accounts" "Account Display Depth" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Show Exchange Rates" 'boolean '(#t #f))
-                (vector "General" "Show Full Account Names" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "65135608f2014c6ca8412793a8cdf169")
-         (cons 'report-name "Welcome to GnuCash")
-         (cons 'options
-               (list
-                )))
-   (list (cons 'report-id "d7d1e53505ee4b1b82efad9eacedaea0")
-         (cons 'report-name "Vendor Report")
-         (cons 'options
-               (list
-                (vector "Display Columns" "Tax" 'boolean '(#t #f))
-                (vector "Display Columns" "Description" 'boolean '(#t #f))
-                (vector "Display Columns" "Amount" 'boolean '(#t #f))
-                (vector "Display Columns" "Debits" 'boolean '(#t #f))
-                (vector "Display Columns" "Type" 'boolean '(#t #f))
-                (vector "Display Columns" "Due Date" 'boolean '(#t #f))
-                (vector "Display Columns" "Sale" 'boolean '(#t #f))
-                (vector "Display Columns" "Reference" 'boolean '(#t #f))
-                (vector "Display Columns" "Credits" 'boolean '(#t #f))
-                (vector "Display Columns" "Date" 'boolean '(#t #f))
-                (vector "General" "Due or Post Date" 'multichoice '(duedate postdate))
-                (vector "__reg" "reverse?" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "5518ac227e474f47a34439f2d4d049de")
-         (cons 'report-name "Job Report")
-         (cons 'options
-               (list
-                (vector "Display Columns" "Description" 'boolean '(#t #f))
-                (vector "Display Columns" "Amount" 'boolean '(#t #f))
-                (vector "Display Columns" "Type" 'boolean '(#t #f))
-                (vector "Display Columns" "Due Date" 'boolean '(#t #f))
-                (vector "Display Columns" "Reference" 'boolean '(#t #f))
-                (vector "Display Columns" "Date" 'boolean '(#t #f))
-                (vector "__reg" "reverse?" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "e5fa5ce805e840ecbeca4dba3fa4ead9")
-         (cons 'report-name "Budget Profit & Loss")
-         (cons 'options
-               (list
-                (vector "Commodities" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "Commodities" "Show Exchange Rates" 'boolean '(#t #f))
-                (vector "Commodities" "Show Foreign Currencies" 'boolean '(#t #f))
-                (vector "Accounts" "Levels of Subaccounts" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Accounts" "Flatten list to depth limit" 'boolean '(#t #f))
-                (vector "Display" "Display as a two column report" 'boolean '(#t #f))
-                (vector "Display" "Show accounting-style rules" 'boolean '(#t #f))
-                (vector "Display" "Display accounts as hyperlinks" 'boolean '(#t #f))
-                (vector "Display" "Parent account balances" 'multichoice '(immediate-bal recursive-bal omit-bal))
-                (vector "Display" "Display in standard, income first, order" 'boolean '(#t #f))
-                (vector "Display" "Include accounts with zero total balances" 'boolean '(#t #f))
-                (vector "Display" "Label the revenue section" 'boolean '(#t #f))
-                (vector "Display" "Parent account subtotals" 'multichoice '(t f canonically-tabbed))
-                (vector "Display" "Include expense total" 'boolean '(#t #f))
-                (vector "Display" "Omit zero balance figures" 'boolean '(#t #f))
-                (vector "Display" "Include revenue total" 'boolean '(#t #f))
-                (vector "Display" "Label the expense section" 'boolean '(#t #f))
-                (vector "General" "Report for range of budget periods" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "e533c998186b11e1b2e2001558291366")
-         (cons 'report-name "Income & Expense Linechart")
-         (cons 'options
-               (list
-                (vector "Display" "Grid" 'boolean '(#t #f))
-                (vector "Display" "Data markers?" 'boolean '(#t #f))
-                (vector "Display" "Show Income/Expense" 'boolean '(#t #f))
-                (vector "Display" "Show table" 'boolean '(#t #f))
-                (vector "Display" "Show Net Profit" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Step Size" 'multichoice '(DayDelta WeekDelta TwoWeekDelta MonthDelta QuarterDelta HalfYearDelta YearDelta))
-                )))
-   (list (cons 'report-id "22104e02654c4adba844ee75a3f8d173")
-         (cons 'report-name "Register")
-         (cons 'options
-               (list
-                (vector "Display" "Description" 'boolean '(#t #f))
-                (vector "Display" "Account" 'boolean '(#t #f))
-                (vector "Display" "Amount" 'multichoice '(single double))
-                (vector "Display" "Num" 'boolean '(#t #f))
-                (vector "Display" "Running Balance" 'boolean '(#t #f))
-                (vector "Display" "Shares" 'boolean '(#t #f))
-                (vector "Display" "Lot" 'boolean '(#t #f))
-                (vector "Display" "Memo" 'boolean '(#t #f))
-                (vector "Display" "Totals" 'boolean '(#t #f))
-                (vector "Display" "Price" 'boolean '(#t #f))
-                (vector "Display" "Date" 'boolean '(#t #f))
-                (vector "Display" "Value" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "d8b63264186b11e19038001558291366")
-         (cons 'report-name "Net Worth Linechart")
-         (cons 'options
-               (list
-                (vector "Display" "Grid" 'boolean '(#t #f))
-                (vector "Display" "Show Asset & Liability" 'boolean '(#t #f))
-                (vector "Display" "Data markers?" 'boolean '(#t #f))
-                (vector "Display" "Show table" 'boolean '(#t #f))
-                (vector "Display" "Show Net Worth" 'boolean '(#t #f))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "General" "Step Size" 'multichoice '(DayDelta WeekDelta TwoWeekDelta MonthDelta QuarterDelta HalfYearDelta YearDelta))
-                )))
-   (list (cons 'report-id "1d241609fd4644caad765c95be20ff4c")
-         (cons 'report-name "Price")
-         (cons 'options
-               (list
-                (vector "Display" "Marker" 'multichoice '(diamond circle square cross plus dash filleddiamond filledcircle filledsquare))
-                (vector "Price" "Invert prices" 'boolean '(#t #f))
-                (vector "Price" "Price Source" 'multichoice '(weighted-average actual-transactions pricedb))
-                (vector "General" "Step Size" 'multichoice '(DayDelta WeekDelta TwoWeekDelta MonthDelta QuarterDelta HalfYearDelta YearDelta))
-                )))
-   (list (cons 'report-id "ecc35ea9dbfa4e20ba389fc85d59cb69")
-         (cons 'report-name "Budget Balance Sheet")
-         (cons 'options
-               (list
-                (vector "Commodities" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                (vector "Commodities" "Show Exchange Rates" 'boolean '(#t #f))
-                (vector "Commodities" "Show Foreign Currencies" 'boolean '(#t #f))
-                (vector "Accounts" "Levels of Subaccounts" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Accounts" "Flatten list to depth limit" 'boolean '(#t #f))
-                (vector "Display" "Show accounting-style rules" 'boolean '(#t #f))
-                (vector "Display" "Display accounts as hyperlinks" 'boolean '(#t #f))
-                (vector "Display" "Parent account balances" 'multichoice '(immediate-bal recursive-bal omit-bal))
-                (vector "Display" "Include assets total" 'boolean '(#t #f))
-                (vector "Display" "Include accounts with zero total balances" 'boolean '(#t #f))
-                (vector "Display" "Parent account subtotals" 'multichoice '(t f canonically-tabbed))
-                (vector "Display" "Include liabilities total" 'boolean '(#t #f))
-                (vector "Display" "Label the liabilities section" 'boolean '(#t #f))
-                (vector "Display" "Include new/existing totals" 'boolean '(#t #f))
-                (vector "Display" "Omit zero balance figures" 'boolean '(#t #f))
-                (vector "Display" "Label the assets section" 'boolean '(#t #f))
-                (vector "Display" "Include equity total" 'boolean '(#t #f))
-                (vector "Display" "Label the equity section" 'boolean '(#t #f))
-                (vector "General" "Single column Balance Sheet" 'boolean '(#t #f))
-                )))
-   (list (cons 'report-id "5c7fd8a1fe9a4cd38884ff54214aa88a")
-         (cons 'report-name "Assets")
-         (cons 'options
-               (list
-                (vector "Accounts" "Show Accounts until level" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Display" "Show Totals" 'boolean '(#t #f))
-                (vector "Display" "Show long names" 'boolean '(#t #f))
-                (vector "Display" "Show Percents" 'boolean '(#t #f))
-                (vector "Display" "Sort Method" 'multichoice '(acct-code alphabetical amount))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                )))
-   (list (cons 'report-id "9bf1892805cb4336be6320fe48ce5446")
-         (cons 'report-name "Expense Accounts")
-         (cons 'options
-               (list
-                (vector "Accounts" "Show Accounts until level" 'multichoice '(all 1 2 3 4 5 6))
-                (vector "Display" "Show Totals" 'boolean '(#t #f))
-                (vector "Display" "Show long names" 'boolean '(#t #f))
-                (vector "Display" "Show Percents" 'boolean '(#t #f))
-                (vector "Display" "Sort Method" 'multichoice '(acct-code alphabetical amount))
-                (vector "General" "Show Average" 'multichoice '(None YearDelta MonthDelta WeekDelta))
-                (vector "General" "Price Source" 'multichoice '(average-cost weighted-average pricedb-latest pricedb-nearest))
-                )))
-   ))



Summary of changes:
 .../standard-reports/test/test-stress-options.scm  |  82 +-
 .../test/test-stress-optionslist.scm               | 972 ---------------------
 2 files changed, 29 insertions(+), 1025 deletions(-)
 delete mode 100644 gnucash/report/standard-reports/test/test-stress-optionslist.scm



More information about the gnucash-changes mailing list