Error: user-error ("Org export aborted. Unable to resolve link: \"introduction\"
See `org-export-with-broken-links'")
signal(user-error ("Org export aborted. Unable to resolve link: \"introduction\"\nSee `org-export-with-broken-links'"))
user-error("Org export aborted. Unable to resolve link: %S\nSee `org-export-with-broken-links'" "introduction")
org-export-data((link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil (paragraph (:standard-properties [103 103 103 135 135 0 nil nil nil nil nil nil nil nil # nil nil (item (:standard-properties [101 101 103 135 135 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) (plain-list (:standard-properties [101 101 101 211 212 1 nil planning nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) (section (:standard-properties [101 101 101 212 212 0 nil section nil nil nil 101 212 nil # nil nil (headline (:standard-properties [23 23 101 212 212 0 (:title) nil nil nil nil 103 210 1 # nil nil (org-data (:standard-properties [1 1 1 2403 2403 0 nil org-data nil nil nil 3 2403 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 23 23 0 nil first-section nil nil nil 1 23 nil # nil nil #30]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #33] :key "TITLE" :value "Testing GN2"))) #25 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #35))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [228 228 228 1055 1055 0 nil section nil nil nil 228 1055 nil # nil nil #35]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #38]) #("For integration testing, we currently use " 0 42 (:parent #41)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #41] :type "https" :type-explicit-p t :path "//github.com/genenetwork/genenetwork2/tree/testing/test/requests" :format bracket :raw-link "https://github.com/genenetwork/genenetwork2/tree/testing/test/requests" :application nil :search-option nil) #("Mechanica Rob" 0 13 (:parent #45))) #("against the\nsmall " 0 18 (:parent #41)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #41] :type "https" :type-explicit-p t :path "//github.com/genenetwork/genenetwork2/blob/testing/doc/database.org" :format bracket :raw-link "https://github.com/genenetwork/genenetwork2/blob/testing/doc/database.org" :application nil :search-option nil) #("database" 0 8 (:parent #47))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #41))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("These scripts invoke calls to a running webserver and test the response.\nIf a page changes or breaks, tests will fail. In principle, Mechanical\nRob runs before code merges get committed to the main server.\n" 0 206 (:parent #42))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("For unit tests, we use python's " 0 32 (:parent #43)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #43] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #43)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #43] :type "https" :type-explicit-p t :path "//coverage.readthedocs.io/en/coverage-5.2.1/" :format bracket :raw-link "https://coverage.readthedocs.io/en/coverage-5.2.1/" :application nil :search-option nil) #("coverage.py" 0 11 (:parent #49))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #43))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #36))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (headline (:standard-properties [1068 1068 1078 1209 1209 0 (:title) section nil nil nil 1080 1207 2 # nil nil #36] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #39))) :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [1078 1078 1078 1209 1209 0 nil section nil nil nil 1078 1209 nil # nil nil #39]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #42]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #45))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #42] :value "./pre-ins-env guix package -i genenetwork2 -p ~/opt/genenetwork2")))) (headline (:standard-properties [1209 1209 1221 2403 2403 0 (:title) nil nil nil nil 1223 2401 2 # nil nil #36] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #40))) :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [1221 1221 1221 2403 2403 0 nil section nil nil nil 1221 2403 nil # nil nil #40]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #43]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #46))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #43]) #("To run Mechanical Rob:\n" 0 23 (:parent #47))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #43] :value "time env GN2_PROFILE=~/opt/genenetwork2 TMPDIR=~/tmp SERVER_PORT=5004 GENENETWORK_FILES=/gnu/data/gn2_data/ ./bin/genenetwork2 ./etc/default_settings.py -c ~/projects/genenetwork2/test/requests/test-website.py -a http://localhost:5004")) (paragraph (:standard-properties [1590 1590 1590 1636 1637 1 nil nil nil nil nil nil nil nil # nil nil #43]) #("Use these aliases for the following examples.\n" 0 46 (:parent #49))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #43] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 321) t])) (paragraph (:standard-properties [1969 1969 1969 2024 2025 1 nil nil nil nil nil nil nil nil # nil nil #43]) #("You could use them in your " 0 27 (:parent #51)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #51] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #51)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #51] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #51))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #43]) #("To run unit tests:\n" 0 19 (:parent #52))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #43] :value "runpython -m unittest discover -v")) (paragraph (:standard-properties [2082 2082 2082 2124 2125 1 nil nil nil nil nil nil nil nil # nil nil #43]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #54))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #43] :value "runcmd coverage run -m unittest discover -v")) (paragraph (:standard-properties [2172 2172 2172 2242 2243 1 nil nil nil nil nil nil nil nil # nil nil #43]) #("To generate a html coverage report in " 0 38 (:parent #56)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #56] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #56))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #43] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #43]) #("To output the report to " 0 24 (:parent #58)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #58] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #58))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #43] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #43]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #60)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #60] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #60)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #25))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #20)]) #15)] :type unordered) #10 (item (:standard-properties [135 135 137 211 211 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #15] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [137 137 137 163 163 0 nil nil nil nil nil nil nil nil # nil nil #19]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #22] :type "custom-id" :type-explicit-p nil :path "run-tests" :format bracket :raw-link "#run-tests" :application nil :search-option nil) #("Run tests" 0 9 (:parent #25))) #("\n" 0 1 (:parent #22))) (plain-list (:standard-properties [163 163 163 211 211 0 nil nil nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #19] :type unordered) (item (:standard-properties [163 163 167 185 185 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #23] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [167 167 167 185 185 0 nil nil nil nil nil nil nil nil # nil nil #26]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #29] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #32))) #("\n" 0 1 (:parent #29)))) (item (:standard-properties [185 185 189 211 211 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #23] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [189 189 189 211 211 0 nil nil nil nil nil nil nil nil # nil nil #27]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #30] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #33))) #("\n" 0 1 (:parent #30)))))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) #5)]) #0 #("\n" 0 1 (:parent #5)))] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #0))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section ") :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "\n" . " ") :html-table-header-tags ("" . " ") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (underline . "%s") (verbatim . "" :html-table-row-close-tag " " :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 30.2 (Org mode 9.7.11)" :with-latex t :latex-header nil :title (#("Testing GN2" 0 11 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :expand-links t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-special-rows nil :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :with-cite-processors t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:standard-properties [1 1 1 2403 2403 0 nil org-data nil nil nil 3 2403 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 23 23 0 nil first-section nil nil nil 1 23 nil # nil nil #344]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #347] :key "TITLE" :value "Testing GN2"))) (headline (:standard-properties [23 23 101 212 212 0 (:title) nil nil nil nil 103 210 1 # nil nil #344] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #348))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [101 101 101 212 212 0 nil section nil nil nil 101 212 nil # nil nil #348]) (plain-list (:standard-properties [101 101 101 211 212 1 nil planning nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #351] :type unordered) (item (:standard-properties [101 101 103 135 135 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [103 103 103 135 135 0 nil nil nil nil nil nil nil nil # nil nil #357]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #360] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #363))) #("\n" 0 1 (:parent #360)))) (item (:standard-properties [135 135 137 211 211 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [137 137 137 163 163 0 nil nil nil nil nil nil nil nil # nil nil #358]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #361] :type "custom-id" :type-explicit-p nil :path "run-tests" :format bracket :raw-link "#run-tests" :application nil :search-option nil) #("Run tests" 0 9 (:parent #364))) #("\n" 0 1 (:parent #361))) (plain-list (:standard-properties [163 163 163 211 211 0 nil nil nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #358] :type unordered) (item (:standard-properties [163 163 167 185 185 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #362] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [167 167 167 185 185 0 nil nil nil nil nil nil nil nil # nil nil #365]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #368] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #371))) #("\n" 0 1 (:parent #368)))) (item (:standard-properties [185 185 189 211 211 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #362] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [189 189 189 211 211 0 nil nil nil nil nil nil nil nil # nil nil #366]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #369] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #372))) #("\n" 0 1 (:parent #369))))))))) (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #349))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [228 228 228 1055 1055 0 nil section nil nil nil 228 1055 nil # nil nil #349]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #352]) #("For integration testing, we currently use " 0 42 (:parent #355)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #355] :type "https" :type-explicit-p t :path "//github.com/genenetwork/genenetwork2/tree/testing/test/requests" :format bracket :raw-link "https://github.com/genenetwork/genenetwork2/tree/testing/test/requests" :application nil :search-option nil) #("Mechanica Rob" 0 13 (:parent #359))) #("against the\nsmall " 0 18 (:parent #355)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #355] :type "https" :type-explicit-p t :path "//github.com/genenetwork/genenetwork2/blob/testing/doc/database.org" :format bracket :raw-link "https://github.com/genenetwork/genenetwork2/blob/testing/doc/database.org" :application nil :search-option nil) #("database" 0 8 (:parent #361))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #355))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("These scripts invoke calls to a running webserver and test the response.\nIf a page changes or breaks, tests will fail. In principle, Mechanical\nRob runs before code merges get committed to the main server.\n" 0 206 (:parent #356))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("For unit tests, we use python's " 0 32 (:parent #357)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #357] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #357)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #357] :type "https" :type-explicit-p t :path "//coverage.readthedocs.io/en/coverage-5.2.1/" :format bracket :raw-link "https://coverage.readthedocs.io/en/coverage-5.2.1/" :application nil :search-option nil) #("coverage.py" 0 11 (:parent #363))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #357))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #350))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (headline (:standard-properties [1068 1068 1078 1209 1209 0 (:title) section nil nil nil 1080 1207 2 # nil nil #350] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #353))) :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [1078 1078 1078 1209 1209 0 nil section nil nil nil 1078 1209 nil # nil nil #353]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #356]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #359))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #356] :value "./pre-ins-env guix package -i genenetwork2 -p ~/opt/genenetwork2")))) (headline (:standard-properties [1209 1209 1221 2403 2403 0 (:title) nil nil nil nil 1223 2401 2 # nil nil #350] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #354))) :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [1221 1221 1221 2403 2403 0 nil section nil nil nil 1221 2403 nil # nil nil #354]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #357]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #360))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #357]) #("To run Mechanical Rob:\n" 0 23 (:parent #361))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #357] :value "time env GN2_PROFILE=~/opt/genenetwork2 TMPDIR=~/tmp SERVER_PORT=5004 GENENETWORK_FILES=/gnu/data/gn2_data/ ./bin/genenetwork2 ./etc/default_settings.py -c ~/projects/genenetwork2/test/requests/test-website.py -a http://localhost:5004")) (paragraph (:standard-properties [1590 1590 1590 1636 1637 1 nil nil nil nil nil nil nil nil # nil nil #357]) #("Use these aliases for the following examples.\n" 0 46 (:parent #363))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #357] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 321) t])) (paragraph (:standard-properties [1969 1969 1969 2024 2025 1 nil nil nil nil nil nil nil nil # nil nil #357]) #("You could use them in your " 0 27 (:parent #365)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #365] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #365)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #365] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #365))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #357]) #("To run unit tests:\n" 0 19 (:parent #366))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #357] :value "runpython -m unittest discover -v")) (paragraph (:standard-properties [2082 2082 2082 2124 2125 1 nil nil nil nil nil nil nil nil # nil nil #357]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #368))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #357] :value "runcmd coverage run -m unittest discover -v")) (paragraph (:standard-properties [2172 2172 2172 2242 2243 1 nil nil nil nil nil nil nil nil # nil nil #357]) #("To generate a html coverage report in " 0 38 (:parent #370)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #370] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #370))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #357] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #357]) #("To output the report to " 0 24 (:parent #372)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #372] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #372))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #357] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #357]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #374)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #374] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #374))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #))
#f(compiled-function (element) #)((link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil (paragraph (:standard-properties [103 103 103 135 135 0 nil nil nil nil nil nil nil nil # nil nil (item (:standard-properties [101 101 103 135 135 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) (plain-list (:standard-properties [101 101 101 211 212 1 nil planning nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) (section (:standard-properties [101 101 101 212 212 0 nil section nil nil nil 101 212 nil # nil nil (headline (:standard-properties [23 23 101 212 212 0 (:title) nil nil nil nil 103 210 1 # nil nil (org-data (:standard-properties [1 1 1 2403 2403 0 nil org-data nil nil nil 3 2403 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 23 23 0 nil first-section nil nil nil 1 23 nil # nil nil #30]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #33] :key "TITLE" :value "Testing GN2"))) #25 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #35))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [228 228 228 1055 1055 0 nil section nil nil nil 228 1055 nil # nil nil #35]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #38]) #("For integration testing, we currently use " 0 42 (:parent #41)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #41] :type "https" :type-explicit-p t :path "//github.com/genenetwork/genenetwork2/tree/testing/test/requests" :format bracket :raw-link "https://github.com/genenetwork/genenetwork2/tree/testing/test/requests" :application nil :search-option nil) #("Mechanica Rob" 0 13 (:parent #45))) #("against the\nsmall " 0 18 (:parent #41)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #41] :type "https" :type-explicit-p t :path "//github.com/genenetwork/genenetwork2/blob/testing/doc/database.org" :format bracket :raw-link "https://github.com/genenetwork/genenetwork2/blob/testing/doc/database.org" :application nil :search-option nil) #("database" 0 8 (:parent #47))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #41))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("These scripts invoke calls to a running webserver and test the response.\nIf a page changes or breaks, tests will fail. In principle, Mechanical\nRob runs before code merges get committed to the main server.\n" 0 206 (:parent #42))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("For unit tests, we use python's " 0 32 (:parent #43)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #43] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #43)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #43] :type "https" :type-explicit-p t :path "//coverage.readthedocs.io/en/coverage-5.2.1/" :format bracket :raw-link "https://coverage.readthedocs.io/en/coverage-5.2.1/" :application nil :search-option nil) #("coverage.py" 0 11 (:parent #49))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #43))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #36))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (headline (:standard-properties [1068 1068 1078 1209 1209 0 (:title) section nil nil nil 1080 1207 2 # nil nil #36] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #39))) :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [1078 1078 1078 1209 1209 0 nil section nil nil nil 1078 1209 nil # nil nil #39]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #42]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #45))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #42] :value "./pre-ins-env guix package -i genenetwork2 -p ~/opt/genenetwork2")))) (headline (:standard-properties [1209 1209 1221 2403 2403 0 (:title) nil nil nil nil 1223 2401 2 # nil nil #36] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #40))) :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [1221 1221 1221 2403 2403 0 nil section nil nil nil 1221 2403 nil # nil nil #40]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #43]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #46))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #43]) #("To run Mechanical Rob:\n" 0 23 (:parent #47))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #43] :value "time env GN2_PROFILE=~/opt/genenetwork2 TMPDIR=~/tmp SERVER_PORT=5004 GENENETWORK_FILES=/gnu/data/gn2_data/ ./bin/genenetwork2 ./etc/default_settings.py -c ~/projects/genenetwork2/test/requests/test-website.py -a http://localhost:5004")) (paragraph (:standard-properties [1590 1590 1590 1636 1637 1 nil nil nil nil nil nil nil nil # nil nil #43]) #("Use these aliases for the following examples.\n" 0 46 (:parent #49))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #43] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 321) t])) (paragraph (:standard-properties [1969 1969 1969 2024 2025 1 nil nil nil nil nil nil nil nil # nil nil #43]) #("You could use them in your " 0 27 (:parent #51)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #51] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #51)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #51] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #51))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #43]) #("To run unit tests:\n" 0 19 (:parent #52))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #43] :value "runpython -m unittest discover -v")) (paragraph (:standard-properties [2082 2082 2082 2124 2125 1 nil nil nil nil nil nil nil nil # nil nil #43]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #54))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #43] :value "runcmd coverage run -m unittest discover -v")) (paragraph (:standard-properties [2172 2172 2172 2242 2243 1 nil nil nil nil nil nil nil nil # nil nil #43]) #("To generate a html coverage report in " 0 38 (:parent #56)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #56] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #56))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #43] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #43]) #("To output the report to " 0 24 (:parent #58)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #58] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #58))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #43] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #43]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #60)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #60] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #60)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #25))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #20)]) #15)] :type unordered) #10 (item (:standard-properties [135 135 137 211 211 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #15] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [137 137 137 163 163 0 nil nil nil nil nil nil nil nil # nil nil #19]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #22] :type "custom-id" :type-explicit-p nil :path "run-tests" :format bracket :raw-link "#run-tests" :application nil :search-option nil) #("Run tests" 0 9 (:parent #25))) #("\n" 0 1 (:parent #22))) (plain-list (:standard-properties [163 163 163 211 211 0 nil nil nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #19] :type unordered) (item (:standard-properties [163 163 167 185 185 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #23] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [167 167 167 185 185 0 nil nil nil nil nil nil nil nil # nil nil #26]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #29] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #32))) #("\n" 0 1 (:parent #29)))) (item (:standard-properties [185 185 189 211 211 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #23] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [189 189 189 211 211 0 nil nil nil nil nil nil nil nil # nil nil #27]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #30] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #33))) #("\n" 0 1 (:parent #30)))))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) #5)]) #0 #("\n" 0 1 (:parent #5)))] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #0))))
mapconcat(#f(compiled-function (element) #) ((link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil (paragraph (:standard-properties [103 103 103 135 135 0 nil nil nil nil nil nil nil nil # nil nil (item (:standard-properties [101 101 103 135 135 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) (plain-list (:standard-properties [101 101 101 211 212 1 nil planning nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) (section (:standard-properties [101 101 101 212 212 0 nil section nil nil nil 101 212 nil # nil nil (headline (:standard-properties [23 23 101 212 212 0 (:title) nil nil nil nil 103 210 1 # nil nil (org-data (:standard-properties [1 1 1 2403 2403 0 nil org-data nil nil nil 3 2403 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 23 23 0 nil first-section nil nil nil 1 23 nil # nil nil #31]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #34] :key "TITLE" :value "Testing GN2"))) #26 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #31] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #36))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [228 228 228 1055 1055 0 nil section nil nil nil 228 1055 nil # nil nil #36]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #39]) #("For integration testing, we currently use " 0 42 (:parent #42)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #42] :type "https" :type-explicit-p t :path "//github.com/genenetwork/genenetwork2/tree/testing/test/requests" :format bracket :raw-link "https://github.com/genenetwork/genenetwork2/tree/testing/test/requests" :application nil :search-option nil) #("Mechanica Rob" 0 13 (:parent #46))) #("against the\nsmall " 0 18 (:parent #42)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #42] :type "https" :type-explicit-p t :path "//github.com/genenetwork/genenetwork2/blob/testing/doc/database.org" :format bracket :raw-link "https://github.com/genenetwork/genenetwork2/blob/testing/doc/database.org" :application nil :search-option nil) #("database" 0 8 (:parent #48))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #42))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("These scripts invoke calls to a running webserver and test the response.\nIf a page changes or breaks, tests will fail. In principle, Mechanical\nRob runs before code merges get committed to the main server.\n" 0 206 (:parent #43))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("For unit tests, we use python's " 0 32 (:parent #44)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #44] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #44)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #44] :type "https" :type-explicit-p t :path "//coverage.readthedocs.io/en/coverage-5.2.1/" :format bracket :raw-link "https://coverage.readthedocs.io/en/coverage-5.2.1/" :application nil :search-option nil) #("coverage.py" 0 11 (:parent #50))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #44))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #31] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #37))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (headline (:standard-properties [1068 1068 1078 1209 1209 0 (:title) section nil nil nil 1080 1207 2 # nil nil #37] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #40))) :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [1078 1078 1078 1209 1209 0 nil section nil nil nil 1078 1209 nil # nil nil #40]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #43]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #46))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #43] :value "./pre-ins-env guix package -i genenetwork2 -p ~/opt/genenetwork2")))) (headline (:standard-properties [1209 1209 1221 2403 2403 0 (:title) nil nil nil nil 1223 2401 2 # nil nil #37] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #41))) :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [1221 1221 1221 2403 2403 0 nil section nil nil nil 1221 2403 nil # nil nil #41]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #44]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #47))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #44]) #("To run Mechanical Rob:\n" 0 23 (:parent #48))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #44] :value "time env GN2_PROFILE=~/opt/genenetwork2 TMPDIR=~/tmp SERVER_PORT=5004 GENENETWORK_FILES=/gnu/data/gn2_data/ ./bin/genenetwork2 ./etc/default_settings.py -c ~/projects/genenetwork2/test/requests/test-website.py -a http://localhost:5004")) (paragraph (:standard-properties [1590 1590 1590 1636 1637 1 nil nil nil nil nil nil nil nil # nil nil #44]) #("Use these aliases for the following examples.\n" 0 46 (:parent #50))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #44] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 321) t])) (paragraph (:standard-properties [1969 1969 1969 2024 2025 1 nil nil nil nil nil nil nil nil # nil nil #44]) #("You could use them in your " 0 27 (:parent #52)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #52] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #52)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #52] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #52))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #44]) #("To run unit tests:\n" 0 19 (:parent #53))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #44] :value "runpython -m unittest discover -v")) (paragraph (:standard-properties [2082 2082 2082 2124 2125 1 nil nil nil nil nil nil nil nil # nil nil #44]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #55))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #44] :value "runcmd coverage run -m unittest discover -v")) (paragraph (:standard-properties [2172 2172 2172 2242 2243 1 nil nil nil nil nil nil nil nil # nil nil #44]) #("To generate a html coverage report in " 0 38 (:parent #57)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #57] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #57))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #44] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #44]) #("To output the report to " 0 24 (:parent #59)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #59] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #59))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #44] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #44]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #61)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #61] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #61)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #26))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #21)]) #16)] :type unordered) #11 (item (:standard-properties [135 135 137 211 211 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #16] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [137 137 137 163 163 0 nil nil nil nil nil nil nil nil # nil nil #20]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #23] :type "custom-id" :type-explicit-p nil :path "run-tests" :format bracket :raw-link "#run-tests" :application nil :search-option nil) #("Run tests" 0 9 (:parent #26))) #("\n" 0 1 (:parent #23))) (plain-list (:standard-properties [163 163 163 211 211 0 nil nil nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #20] :type unordered) (item (:standard-properties [163 163 167 185 185 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #24] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [167 167 167 185 185 0 nil nil nil nil nil nil nil nil # nil nil #27]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #30] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #33))) #("\n" 0 1 (:parent #30)))) (item (:standard-properties [185 185 189 211 211 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) #24] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [189 189 189 211 211 0 nil nil nil nil nil nil nil nil # nil nil #28]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #31] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #34))) #("\n" 0 1 (:parent #31)))))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) #6)]) . #0)] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #1))) #("\n" 0 1 (:parent (paragraph (:standard-properties [103 103 103 135 135 0 nil nil nil nil nil nil nil nil # nil nil (item (:standard-properties [101 101 103 135 135 0 (:tag) item nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) (plain-list (:standard-properties [101 101 101 211 212 1 nil planning nil nil nil nil nil nil # nil ((101 0 "- " nil nil nil 135) (135 0 "- " nil nil nil 211) (163 2 "- " nil nil nil 185) (185 2 "- " nil nil nil 211)) (section (:standard-properties [101 101 101 212 212 0 nil section nil nil nil 101 212 nil # nil nil (headline (:standard-properties [23 23 101 212 212 0 (:title) nil nil nil nil 103 210 1 # nil nil (org-data (:standard-properties [1 1 1 2403 2403 0 nil org-data nil nil nil 3 2403 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 23 23 0 nil first-section nil nil nil 1 23 nil # nil nil #30]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #33] :key "TITLE" :value "Testing GN2"))) #25 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #35))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [228 228 228 1055 1055 0 nil section nil nil nil 228 1055 nil # nil nil #35]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #38]) #("For integration testing, we currently use " 0 42 (:parent #41)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #41] :type "https" :type-explicit-p t :path "//github.com/genenetwork/genenetwork2/tree/testing/test/requests" :format bracket :raw-link "https://github.com/genenetwork/genenetwork2/tree/testing/test/requests" :application nil :search-option nil) #("Mechanica Rob" 0 13 (:parent #45))) #("against the\nsmall " 0 18 (:parent #41)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #41] :type "https" :type-explicit-p t :path "//github.com/genenetwork/genenetwork2/blob/testing/doc/database.org" :format bracket :raw-link "https://github.com/genenetwork/genenetwork2/blob/testing/doc/database.org" :application nil :search-option nil) #("database" 0 8 (:parent #47))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #41))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("These scripts invoke calls to a running webserver and test the response.\nIf a page changes or breaks, tests will fail. In principle, Mechanical\nRob runs before code merges get committed to the main server.\n" 0 206 (:parent #42))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("For unit tests, we use python's " 0 32 (:parent #43)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #43] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #43)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #43] :type "https" :type-explicit-p t :path "//coverage.readthedocs.io/en/coverage-5.2.1/" :format bracket :raw-link "https://coverage.readthedocs.io/en/coverage-5.2.1/" :application nil :search-option nil) #("coverage.py" 0 11 (:parent #49))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #43))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #36))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (headline (:standard-properties [1068 1068 1078 1209 1209 0 (:title) section nil nil nil 1080 1207 2 # nil nil #36] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #39))) :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [1078 1078 1078 1209 1209 0 nil section nil nil nil 1078 1209 nil # nil nil #39]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #42]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #45))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #42] :value "./pre-ins-env guix package -i genenetwork2 -p ~/opt/genenetwork2")))) (headline (:standard-properties [1209 1209 1221 2403 2403 0 (:title) nil nil nil nil 1223 2401 2 # nil nil #36] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #40))) :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [1221 1221 1221 2403 2403 0 nil section nil nil nil 1221 2403 nil # nil nil #40]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #43]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #46))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #43]) #("To run Mechanical Rob:\n" 0 23 (:parent #47))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #43] :value "time env GN2_PROFILE=~/opt/genenetwork2 TMPDIR=~/tmp SERVER_PORT=5004 GENENETWORK_FILES=/gnu/data/gn2_data/ ./bin/genenetwork2 ./etc/default_settings.py -c ~/projects/genenetwork2/test/requests/test-website.py -a http://localhost:5004")) (paragraph (:standard-properties [1590 1590 1590 1636 1637 1 nil nil nil nil nil nil nil nil #
\n
" :html-format-drawer-function #f(compiled-function (name contents) #%s:
\n\n%s\n
\nDate: %d
\n%c
\n%v
")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("%s") (italic . "%s") (strike-through . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "