about summary refs log tree commit diff
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 "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :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\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %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 ("" . "") :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") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%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 "" :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 # 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)))) "") org-export-data((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 #25]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #28] :key "TITLE" :value "Testing GN2"))) #20 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #25] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #30))) :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 #30]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #33]) #("For integration testing, we currently use " 0 42 (:parent #36)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #36] :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 #40))) #("against the\nsmall " 0 18 (:parent #36)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #36] :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 #42))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #36))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("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 #37))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("For unit tests, we use python's " 0 32 (:parent #38)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #38] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #38)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #38] :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 #44))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #38))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #25] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #31))) :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 #31] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #34))) :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 #34]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #37]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #40))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #37] :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 #31] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #35))) :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 #35]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #38]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #41))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #38]) #("To run Mechanical Rob:\n" 0 23 (:parent #42))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #38] :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 #38]) #("Use these aliases for the following examples.\n" 0 46 (:parent #44))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #38] :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 #38]) #("You could use them in your " 0 27 (:parent #46)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #46] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #46)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #46] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #46))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("To run unit tests:\n" 0 19 (:parent #47))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #38] :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 #38]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #49))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #38] :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 #38]) #("To generate a html coverage report in " 0 38 (:parent #51)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #51] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #51))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #38] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("To output the report to " 0 24 (:parent #53)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #53] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #53))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #38] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #38]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #55)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #55] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #55)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #20))) :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) #15)]) #10)] :type unordered) #5 (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)) #10] :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 #14]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #17] :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 #20))) #("\n" 0 1 (:parent #17))) (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)) #14] :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)) #18] :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 #21]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #24] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #27))) #("\n" 0 1 (:parent #24)))) (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)) #18] :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 #22]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #25] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #28))) #("\n" 0 1 (:parent #25)))))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) #0)]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #0] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #3))) #("\n" 0 1 (: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 "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :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\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %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 ("" . "") :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") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%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 "" :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) #)((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 #25]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #28] :key "TITLE" :value "Testing GN2"))) #20 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #25] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #30))) :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 #30]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #33]) #("For integration testing, we currently use " 0 42 (:parent #36)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #36] :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 #40))) #("against the\nsmall " 0 18 (:parent #36)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #36] :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 #42))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #36))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("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 #37))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("For unit tests, we use python's " 0 32 (:parent #38)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #38] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #38)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #38] :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 #44))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #38))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #25] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #31))) :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 #31] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #34))) :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 #34]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #37]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #40))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #37] :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 #31] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #35))) :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 #35]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #38]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #41))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #38]) #("To run Mechanical Rob:\n" 0 23 (:parent #42))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #38] :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 #38]) #("Use these aliases for the following examples.\n" 0 46 (:parent #44))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #38] :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 #38]) #("You could use them in your " 0 27 (:parent #46)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #46] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #46)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #46] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #46))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("To run unit tests:\n" 0 19 (:parent #47))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #38] :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 #38]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #49))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #38] :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 #38]) #("To generate a html coverage report in " 0 38 (:parent #51)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #51] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #51))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #38] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("To output the report to " 0 24 (:parent #53)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #53] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #53))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #38] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #38]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #55)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #55] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #55)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #20))) :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) #15)]) #10)] :type unordered) #5 (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)) #10] :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 #14]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #17] :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 #20))) #("\n" 0 1 (:parent #17))) (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)) #14] :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)) #18] :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 #21]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #24] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #27))) #("\n" 0 1 (:parent #24)))) (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)) #18] :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 #22]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #25] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #28))) #("\n" 0 1 (:parent #25)))))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) #0)]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #0] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #3))) #("\n" 0 1 (:parent #0)))) mapconcat(#f(compiled-function (element) #) ((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 #26]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #29] :key "TITLE" :value "Testing GN2"))) #21 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #26] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #31))) :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 #31]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #34]) #("For integration testing, we currently use " 0 42 (:parent #37)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #37] :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 #41))) #("against the\nsmall " 0 18 (:parent #37)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #37] :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 #43))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #37))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("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 #38))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("For unit tests, we use python's " 0 32 (:parent #39)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #39] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #39)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #39] :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 #45))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #39))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #26] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #32))) :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 #32] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #35))) :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 #35]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #38]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #41))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #38] :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 #32] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #36))) :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 #36]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #39]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #42))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #39]) #("To run Mechanical Rob:\n" 0 23 (:parent #43))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #39] :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 #39]) #("Use these aliases for the following examples.\n" 0 46 (:parent #45))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #39] :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 #39]) #("You could use them in your " 0 27 (:parent #47)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #47] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #47)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #47] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #47))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("To run unit tests:\n" 0 19 (:parent #48))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #39] :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 #39]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #50))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #39] :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 #39]) #("To generate a html coverage report in " 0 38 (:parent #52)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #52] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #52))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("To output the report to " 0 24 (:parent #54)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #54] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #54))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #39]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #56)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #56] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #56)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #21))) :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) #16)]) #11)] :type unordered) #6 (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)) #11] :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 #15]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #18] :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 #21))) #("\n" 0 1 (:parent #18))) (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)) #15] :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)) #19] :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 #22]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #25] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #28))) #("\n" 0 1 (:parent #25)))) (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)) #19] :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 #23]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #26] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #29))) #("\n" 0 1 (:parent #26)))))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) . #0)]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #1] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #4))) #("\n" 0 1 (:parent #1)))) "") org-export-data((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 #20]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #23] :key "TITLE" :value "Testing GN2"))) #15 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #20] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #25))) :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 #25]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #28]) #("For integration testing, we currently use " 0 42 (:parent #31)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #31] :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 #35))) #("against the\nsmall " 0 18 (:parent #31)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #31] :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 #37))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #31))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #28]) #("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 #32))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #28]) #("For unit tests, we use python's " 0 32 (:parent #33)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #33] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #33)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #33] :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 #39))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #33))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #20] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #26))) :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 #26] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #29))) :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 #29]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #32]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #35))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #32] :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 #26] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #30))) :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 #30]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #33]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #36))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #33]) #("To run Mechanical Rob:\n" 0 23 (:parent #37))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #33] :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 #33]) #("Use these aliases for the following examples.\n" 0 46 (:parent #39))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #33] :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 #33]) #("You could use them in your " 0 27 (:parent #41)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #41] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #41)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #41] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #41))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("To run unit tests:\n" 0 19 (:parent #42))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #33] :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 #33]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #44))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #33] :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 #33]) #("To generate a html coverage report in " 0 38 (:parent #46)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #46] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #46))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #33] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("To output the report to " 0 24 (:parent #48)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #48] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #48))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #33] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #33]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #50)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #50] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #50)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #15))) :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) #10)]) #5)] :type unordered) #0 (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)) #5] :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 #9]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #12] :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 #15))) #("\n" 0 1 (:parent #12))) (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)) #9] :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)) #13] :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 #16]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #19] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #22))) #("\n" 0 1 (:parent #19)))) (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)) #13] :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 #17]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #20] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #23))) #("\n" 0 1 (:parent #20)))))))] :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 #0]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #3] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #6))) #("\n" 0 1 (:parent #3)))) (: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 "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :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\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %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 ("" . "") :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") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%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 "" :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) #)((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 #20]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #23] :key "TITLE" :value "Testing GN2"))) #15 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #20] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #25))) :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 #25]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #28]) #("For integration testing, we currently use " 0 42 (:parent #31)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #31] :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 #35))) #("against the\nsmall " 0 18 (:parent #31)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #31] :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 #37))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #31))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #28]) #("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 #32))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #28]) #("For unit tests, we use python's " 0 32 (:parent #33)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #33] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #33)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #33] :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 #39))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #33))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #20] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #26))) :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 #26] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #29))) :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 #29]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #32]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #35))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #32] :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 #26] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #30))) :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 #30]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #33]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #36))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #33]) #("To run Mechanical Rob:\n" 0 23 (:parent #37))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #33] :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 #33]) #("Use these aliases for the following examples.\n" 0 46 (:parent #39))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #33] :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 #33]) #("You could use them in your " 0 27 (:parent #41)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #41] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #41)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #41] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #41))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("To run unit tests:\n" 0 19 (:parent #42))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #33] :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 #33]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #44))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #33] :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 #33]) #("To generate a html coverage report in " 0 38 (:parent #46)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #46] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #46))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #33] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("To output the report to " 0 24 (:parent #48)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #48] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #48))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #33] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #33]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #50)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #50] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #50)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #15))) :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) #10)]) #5)] :type unordered) #0 (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)) #5] :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 #9]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #12] :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 #15))) #("\n" 0 1 (:parent #12))) (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)) #9] :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)) #13] :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 #16]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #19] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #22))) #("\n" 0 1 (:parent #19)))) (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)) #13] :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 #17]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #20] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #23))) #("\n" 0 1 (:parent #20)))))))] :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 #0]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #3] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #6))) #("\n" 0 1 (:parent #3))))) mapconcat(#f(compiled-function (element) #) ((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 #21]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #24] :key "TITLE" :value "Testing GN2"))) #16 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #21] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #26))) :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 #26]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #29]) #("For integration testing, we currently use " 0 42 (:parent #32)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #32] :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 #36))) #("against the\nsmall " 0 18 (:parent #32)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #32] :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 #38))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #32))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("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 #33))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("For unit tests, we use python's " 0 32 (:parent #34)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #34] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #34)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #34] :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 #40))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #34))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #21] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #27))) :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 #27] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #30))) :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 #30]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #33]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #36))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #33] :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 #27] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #31))) :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 #31]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #34]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #37))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #34]) #("To run Mechanical Rob:\n" 0 23 (:parent #38))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #34] :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 #34]) #("Use these aliases for the following examples.\n" 0 46 (:parent #40))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #34] :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 #34]) #("You could use them in your " 0 27 (:parent #42)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #42] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #42)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #42] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #42))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("To run unit tests:\n" 0 19 (:parent #43))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #34] :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 #34]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #45))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #34] :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 #34]) #("To generate a html coverage report in " 0 38 (:parent #47)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #47] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #47))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #34] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("To output the report to " 0 24 (:parent #49)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #49] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #49))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #34] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #34]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #51)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #51] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #51)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #16))) :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) #11)]) #6)] :type unordered) . #0)] :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 #1]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #4] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #7))) #("\n" 0 1 (:parent #4)))) (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)) (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 #22]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #25] :key "TITLE" :value "Testing GN2"))) #17 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #22] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #27))) :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 #27]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #30]) #("For integration testing, we currently use " 0 42 (:parent #33)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #33] :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 #37))) #("against the\nsmall " 0 18 (:parent #33)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #33] :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 #39))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #33))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("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 #34))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("For unit tests, we use python's " 0 32 (:parent #35)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #35] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #35)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #35] :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 #41))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #35))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #22] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #28))) :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 #28] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #31))) :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 #31]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #34]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #37))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #34] :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 #28] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #32))) :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 #32]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #35]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #38))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #35]) #("To run Mechanical Rob:\n" 0 23 (:parent #39))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #35] :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 #35]) #("Use these aliases for the following examples.\n" 0 46 (:parent #41))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #35] :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 #35]) #("You could use them in your " 0 27 (:parent #43)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #43] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #43)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #43] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #43))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #35]) #("To run unit tests:\n" 0 19 (:parent #44))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #35] :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 #35]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #46))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #35] :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 #35]) #("To generate a html coverage report in " 0 38 (:parent #48)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #48] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #48))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #35] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #35]) #("To output the report to " 0 24 (:parent #50)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #50] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #50))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #35] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #35]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #52)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #52] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #52)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #17))) :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) #12)]) #7)] :type unordered) . #0)] :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 #2]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #5] :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 #8))) #("\n" 0 1 (:parent #5))) (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)) #2] :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)) #6] :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 #9]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #12] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #15))) #("\n" 0 1 (:parent #12)))) (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)) #6] :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 #10]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #13] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #16))) #("\n" 0 1 (:parent #13))))))) "") org-export-data((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 #15]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #18] :key "TITLE" :value "Testing GN2"))) #10 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #15] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #20))) :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 #20]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #23]) #("For integration testing, we currently use " 0 42 (:parent #26)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #26] :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 #30))) #("against the\nsmall " 0 18 (:parent #26)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #26] :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 #32))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #26))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #23]) #("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 #27))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #23]) #("For unit tests, we use python's " 0 32 (:parent #28)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #28] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #28)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #28] :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 #34))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #28))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #15] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #21))) :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 #21] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #24))) :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 #24]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #27]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #30))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #27] :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 #21] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #25))) :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 #25]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #28]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #31))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #28]) #("To run Mechanical Rob:\n" 0 23 (:parent #32))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #28] :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 #28]) #("Use these aliases for the following examples.\n" 0 46 (:parent #34))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #28] :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 #28]) #("You could use them in your " 0 27 (:parent #36)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #36] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #36)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #36] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #36))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #28]) #("To run unit tests:\n" 0 19 (:parent #37))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #28] :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 #28]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #39))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #28] :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 #28]) #("To generate a html coverage report in " 0 38 (:parent #41)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #41] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #41))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #28] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #28]) #("To output the report to " 0 24 (:parent #43)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #43] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #43))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #28] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #28]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #45)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #45] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #45)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #10))) :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) #5)]) #0)] :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)) #0] :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 #3]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #6] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #9))) #("\n" 0 1 (:parent #6)))) (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)) #0] :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 #4]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #7] :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 #10))) #("\n" 0 1 (:parent #7))) (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)) #4] :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)) #8] :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 #11]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #14] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #17))) #("\n" 0 1 (:parent #14)))) (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)) #8] :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 #12]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #15] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #18))) #("\n" 0 1 (:parent #15))))))) (: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 "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :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\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %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 ("" . "") :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") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%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 "" :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) #)((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 #15]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #18] :key "TITLE" :value "Testing GN2"))) #10 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #15] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #20))) :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 #20]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #23]) #("For integration testing, we currently use " 0 42 (:parent #26)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #26] :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 #30))) #("against the\nsmall " 0 18 (:parent #26)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #26] :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 #32))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #26))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #23]) #("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 #27))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #23]) #("For unit tests, we use python's " 0 32 (:parent #28)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #28] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #28)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #28] :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 #34))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #28))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #15] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #21))) :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 #21] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #24))) :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 #24]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #27]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #30))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #27] :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 #21] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #25))) :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 #25]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #28]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #31))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #28]) #("To run Mechanical Rob:\n" 0 23 (:parent #32))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #28] :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 #28]) #("Use these aliases for the following examples.\n" 0 46 (:parent #34))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #28] :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 #28]) #("You could use them in your " 0 27 (:parent #36)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #36] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #36)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #36] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #36))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #28]) #("To run unit tests:\n" 0 19 (:parent #37))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #28] :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 #28]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #39))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #28] :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 #28]) #("To generate a html coverage report in " 0 38 (:parent #41)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #41] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #41))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #28] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #28]) #("To output the report to " 0 24 (:parent #43)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #43] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #43))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #28] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #28]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #45)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #45] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #45)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #10))) :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) #5)]) #0)] :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)) #0] :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 #3]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #6] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #9))) #("\n" 0 1 (:parent #6)))) (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)) #0] :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 #4]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #7] :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 #10))) #("\n" 0 1 (:parent #7))) (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)) #4] :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)) #8] :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 #11]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #14] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #17))) #("\n" 0 1 (:parent #14)))) (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)) #8] :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 #12]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #15] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #18))) #("\n" 0 1 (:parent #15)))))))) mapconcat(#f(compiled-function (element) #) ((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 #16]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #19] :key "TITLE" :value "Testing GN2"))) #11 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #16] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #21))) :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 #21]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #24]) #("For integration testing, we currently use " 0 42 (:parent #27)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #27] :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 #31))) #("against the\nsmall " 0 18 (:parent #27)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #27] :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 #33))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #27))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("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 #28))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("For unit tests, we use python's " 0 32 (:parent #29)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #29] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #29)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #29] :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 #35))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #29))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #16] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #22))) :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 #22] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #25))) :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 #25]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #28]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #31))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #28] :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 #22] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #26))) :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 #26]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #29]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #32))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #29]) #("To run Mechanical Rob:\n" 0 23 (:parent #33))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #29] :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 #29]) #("Use these aliases for the following examples.\n" 0 46 (:parent #35))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #29] :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 #29]) #("You could use them in your " 0 27 (:parent #37)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #37] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #37)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #37] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #37))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("To run unit tests:\n" 0 19 (:parent #38))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #29] :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 #29]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #40))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #29] :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 #29]) #("To generate a html coverage report in " 0 38 (:parent #42)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #42] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #42))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #29] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("To output the report to " 0 24 (:parent #44)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #44] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #44))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #29] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #29]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #46)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #46] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #46)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #11))) :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) #6)]) . #0)] :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)) #1] :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 #4]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #7] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #10))) #("\n" 0 1 (:parent #7)))) (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)) #1] :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 #5]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #8] :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 #11))) #("\n" 0 1 (:parent #8))) (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)) #5] :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)) #9] :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 #12]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #15] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #18))) #("\n" 0 1 (:parent #15)))) (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)) #9] :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 #13]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #16] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #19))) #("\n" 0 1 (:parent #16)))))))) "") org-export-data((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 #10]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #13] :key "TITLE" :value "Testing GN2"))) #5 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #10] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #15))) :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 #15]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #18]) #("For integration testing, we currently use " 0 42 (:parent #21)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #21] :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 #25))) #("against the\nsmall " 0 18 (:parent #21)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #21] :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 #27))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #21))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #18]) #("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 #22))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #18]) #("For unit tests, we use python's " 0 32 (:parent #23)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #23] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #23)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #23] :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 #29))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #23))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #10] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #16))) :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 #16] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #19))) :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 #19]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #22]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #25))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #22] :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 #16] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #20))) :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 #20]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #23]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #26))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #23]) #("To run Mechanical Rob:\n" 0 23 (:parent #27))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #23] :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 #23]) #("Use these aliases for the following examples.\n" 0 46 (:parent #29))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #23] :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 #23]) #("You could use them in your " 0 27 (:parent #31)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #31] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #31)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #31] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #31))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #23]) #("To run unit tests:\n" 0 19 (:parent #32))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #23] :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 #23]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #34))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #23] :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 #23]) #("To generate a html coverage report in " 0 38 (:parent #36)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #36] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #36))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #23] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #23]) #("To output the report to " 0 24 (:parent #38)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #38] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #38))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #23] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #23]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #40)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #40] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #40)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #5))) :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) #0)]) (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)) #0] :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)) #3] :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 #6]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #9] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #12))) #("\n" 0 1 (:parent #9)))) (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)) #3] :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 #7]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #10] :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 #13))) #("\n" 0 1 (:parent #10))) (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)) #7] :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)) #11] :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 #14]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #17] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #20))) #("\n" 0 1 (:parent #17)))) (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)) #11] :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 #15]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #18] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #21))) #("\n" 0 1 (:parent #18)))))))) (: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 "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :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\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %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 ("" . "") :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") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%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 "" :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) #)((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 #10]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #13] :key "TITLE" :value "Testing GN2"))) #5 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #10] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #15))) :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 #15]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #18]) #("For integration testing, we currently use " 0 42 (:parent #21)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #21] :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 #25))) #("against the\nsmall " 0 18 (:parent #21)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #21] :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 #27))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #21))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #18]) #("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 #22))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #18]) #("For unit tests, we use python's " 0 32 (:parent #23)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #23] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #23)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #23] :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 #29))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #23))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #10] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #16))) :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 #16] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #19))) :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 #19]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #22]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #25))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #22] :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 #16] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #20))) :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 #20]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #23]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #26))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #23]) #("To run Mechanical Rob:\n" 0 23 (:parent #27))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #23] :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 #23]) #("Use these aliases for the following examples.\n" 0 46 (:parent #29))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #23] :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 #23]) #("You could use them in your " 0 27 (:parent #31)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #31] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #31)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #31] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #31))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #23]) #("To run unit tests:\n" 0 19 (:parent #32))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #23] :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 #23]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #34))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #23] :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 #23]) #("To generate a html coverage report in " 0 38 (:parent #36)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #36] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #36))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #23] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #23]) #("To output the report to " 0 24 (:parent #38)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #38] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #38))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #23] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #23]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #40)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #40] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #40)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #5))) :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) #0)]) (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)) #0] :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)) #3] :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 #6]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #9] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #12))) #("\n" 0 1 (:parent #9)))) (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)) #3] :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 #7]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #10] :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 #13))) #("\n" 0 1 (:parent #10))) (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)) #7] :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)) #11] :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 #14]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #17] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #20))) #("\n" 0 1 (:parent #17)))) (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)) #11] :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 #15]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #18] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #21))) #("\n" 0 1 (:parent #18))))))))) mapconcat(#f(compiled-function (element) #) ((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 #11]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #14] :key "TITLE" :value "Testing GN2"))) #6 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #11] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #16))) :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 #16]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #19]) #("For integration testing, we currently use " 0 42 (:parent #22)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #22] :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 #26))) #("against the\nsmall " 0 18 (:parent #22)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #22] :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 #28))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #22))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("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 #23))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("For unit tests, we use python's " 0 32 (:parent #24)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #24] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #24)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #24] :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 #30))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #24))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #11] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #17))) :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 #17] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #20))) :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 #20]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #23]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #26))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #23] :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 #17] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #21))) :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 #21]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #24]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #27))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #24]) #("To run Mechanical Rob:\n" 0 23 (:parent #28))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #24] :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 #24]) #("Use these aliases for the following examples.\n" 0 46 (:parent #30))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #24] :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 #24]) #("You could use them in your " 0 27 (:parent #32)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #32] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #32)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #32] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #32))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("To run unit tests:\n" 0 19 (:parent #33))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #24] :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 #24]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #35))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #24] :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 #24]) #("To generate a html coverage report in " 0 38 (:parent #37)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #37] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #37))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #24] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("To output the report to " 0 24 (:parent #39)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #39] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #39))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #24] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #24]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #41)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #41] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #41)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #6))) :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) . #0)]) (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)) #1] :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)) #4] :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 #7]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #10] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #13))) #("\n" 0 1 (:parent #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)) #4] :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 #8]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #11] :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 #14))) #("\n" 0 1 (:parent #11))) (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)) #8] :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)) #12] :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 #15]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #18] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #21))) #("\n" 0 1 (:parent #18)))) (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)) #12] :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 #16]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #19] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #22))) #("\n" 0 1 (:parent #19))))))))) "") org-export-data((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 #5]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #8] :key "TITLE" :value "Testing GN2"))) #0 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #5] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #10))) :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 #10]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #13]) #("For integration testing, we currently use " 0 42 (:parent #16)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #16] :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 #20))) #("against the\nsmall " 0 18 (:parent #16)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #16] :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 #22))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #16))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #13]) #("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 #17))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #13]) #("For unit tests, we use python's " 0 32 (:parent #18)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #18] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #18)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #18] :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 #24))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #18))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #5] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #11))) :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 #11] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #14))) :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 #14]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #17]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #20))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #17] :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 #11] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #15))) :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 #15]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #18]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #21))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #18]) #("To run Mechanical Rob:\n" 0 23 (:parent #22))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #18] :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 #18]) #("Use these aliases for the following examples.\n" 0 46 (:parent #24))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #18] :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 #18]) #("You could use them in your " 0 27 (:parent #26)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #26] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #26)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #26] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #26))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #18]) #("To run unit tests:\n" 0 19 (:parent #27))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #18] :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 #18]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #29))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #18] :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 #18]) #("To generate a html coverage report in " 0 38 (:parent #31)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #31] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #31))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #18] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #18]) #("To output the report to " 0 24 (:parent #33)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #33] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #33))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #18] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #18]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #35)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #35] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #35)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #0))) :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 #0]) (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)) #3] :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)) #6] :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 #9]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #12] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #15))) #("\n" 0 1 (:parent #12)))) (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)) #6] :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 #10]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #13] :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 #16))) #("\n" 0 1 (:parent #13))) (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)) #10] :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)) #14] :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 #17]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #20] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #23))) #("\n" 0 1 (:parent #20)))) (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)) #14] :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 #18]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #21] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #24))) #("\n" 0 1 (:parent #21))))))))) (: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 "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :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\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %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 ("" . "") :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") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%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 "" :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) #)((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 #5]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #8] :key "TITLE" :value "Testing GN2"))) #0 (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #5] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #10))) :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 #10]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #13]) #("For integration testing, we currently use " 0 42 (:parent #16)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #16] :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 #20))) #("against the\nsmall " 0 18 (:parent #16)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #16] :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 #22))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #16))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #13]) #("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 #17))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #13]) #("For unit tests, we use python's " 0 32 (:parent #18)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #18] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #18)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #18] :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 #24))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #18))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #5] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #11))) :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 #11] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #14))) :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 #14]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #17]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #20))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #17] :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 #11] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #15))) :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 #15]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #18]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #21))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #18]) #("To run Mechanical Rob:\n" 0 23 (:parent #22))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #18] :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 #18]) #("Use these aliases for the following examples.\n" 0 46 (:parent #24))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #18] :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 #18]) #("You could use them in your " 0 27 (:parent #26)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #26] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #26)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #26] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #26))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #18]) #("To run unit tests:\n" 0 19 (:parent #27))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #18] :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 #18]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #29))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #18] :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 #18]) #("To generate a html coverage report in " 0 38 (:parent #31)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #31] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #31))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #18] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #18]) #("To output the report to " 0 24 (:parent #33)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #33] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #33))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #18] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #18]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #35)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #35] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #35)))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #0))) :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 #0]) (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)) #3] :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)) #6] :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 #9]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #12] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #15))) #("\n" 0 1 (:parent #12)))) (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)) #6] :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 #10]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #13] :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 #16))) #("\n" 0 1 (:parent #13))) (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)) #10] :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)) #14] :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 #17]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #20] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #23))) #("\n" 0 1 (:parent #20)))) (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)) #14] :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 #18]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #21] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #24))) #("\n" 0 1 (:parent #21)))))))))) mapconcat(#f(compiled-function (element) #) ((section (:standard-properties [1 1 1 23 23 0 nil first-section nil nil nil 1 23 nil # 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) . #0)]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #1] :key "TITLE" :value "Testing GN2"))) (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) . #0)] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #2))) :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 #2]) (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)) #5] :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)) #8] :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 #11]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #14] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #17))) #("\n" 0 1 (:parent #14)))) (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)) #8] :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 #12]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #15] :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 #18))) #("\n" 0 1 (:parent #15))) (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)) #12] :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)) #16] :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 #19]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #22] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #25))) #("\n" 0 1 (:parent #22)))) (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)) #16] :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 #20]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #23] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #26))) #("\n" 0 1 (:parent #23))))))))) (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 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) . #0)] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #3))) :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 #3]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #6]) #("For integration testing, we currently use " 0 42 (:parent #9)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #9] :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 #13))) #("against the\nsmall " 0 18 (:parent #9)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #9] :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 #15))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #9))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #6]) #("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 #10))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #6]) #("For unit tests, we use python's " 0 32 (:parent #11)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #11] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #11)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #11] :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 #17))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #11))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 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) . #0)] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #4))) :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 #4] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #7))) :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 #7]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #10]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #13))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #10] :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 #4] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #8))) :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 #8]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #11]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #14))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #11]) #("To run Mechanical Rob:\n" 0 23 (:parent #15))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #11] :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 #11]) #("Use these aliases for the following examples.\n" 0 46 (:parent #17))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #11] :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 #11]) #("You could use them in your " 0 27 (:parent #19)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #19] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #19)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #19] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #19))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #11]) #("To run unit tests:\n" 0 19 (:parent #20))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #11] :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 #11]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #22))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #11] :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 #11]) #("To generate a html coverage report in " 0 38 (:parent #24)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #24] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #24))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #11] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #11]) #("To output the report to " 0 24 (:parent #26)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #26] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #26))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #11] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #11]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #28)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #28] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #28))))))) "") org-export-data((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 #0]) (keyword (:standard-properties [1 1 nil nil 23 1 nil top-comment nil nil nil nil nil nil # nil nil #3] :key "TITLE" :value "Testing GN2"))) (headline (:standard-properties [23 23 101 212 212 0 (:title) nil nil nil nil 103 210 1 # nil nil #0] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #4))) :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 #4]) (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)) #7] :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)) #10] :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 #13]) (link (:standard-properties [103 nil 120 132 134 0 nil nil nil nil nil nil nil nil # nil nil #16] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #19))) #("\n" 0 1 (:parent #16)))) (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)) #10] :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 #14]) (link (:standard-properties [137 nil 151 160 162 0 nil nil nil nil nil nil nil nil # nil nil #17] :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 #20))) #("\n" 0 1 (:parent #17))) (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)) #14] :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)) #18] :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 #21]) (link (:standard-properties [167 nil 177 182 184 0 nil nil nil nil nil nil nil nil # nil nil #24] :type "custom-id" :type-explicit-p nil :path "setup" :format bracket :raw-link "#setup" :application nil :search-option nil) #("Setup" 0 5 (:parent #27))) #("\n" 0 1 (:parent #24)))) (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)) #18] :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 #22]) (link (:standard-properties [189 nil 201 208 210 0 nil nil nil nil nil nil nil nil # nil nil #25] :type "custom-id" :type-explicit-p nil :path "running" :format bracket :raw-link "#running" :application nil :search-option nil) #("Running" 0 7 (:parent #28))) #("\n" 0 1 (:parent #25))))))))) (headline (:standard-properties [212 212 228 1055 1055 0 (:title) nil nil nil nil 230 1053 1 # nil nil #0] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #5))) :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 #5]) (paragraph (:standard-properties [228 228 228 577 578 1 nil planning nil nil nil nil nil nil # nil nil #8]) #("For integration testing, we currently use " 0 42 (:parent #11)) (link (:standard-properties [270 nil 344 357 360 1 nil nil nil nil nil nil nil nil # nil nil #11] :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 #15))) #("against the\nsmall " 0 18 (:parent #11)) (link (:standard-properties [378 nil 455 463 465 0 nil nil nil nil nil nil nil nil # nil nil #11] :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 #17))) #("; a setup we call Mechanical Rob because it emulates\nsomeone clicking through the website and checking results.\n" 0 112 (:parent #11))) (paragraph (:standard-properties [578 578 578 784 785 1 nil nil nil nil nil nil nil nil # nil nil #8]) #("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 #12))) (paragraph (:standard-properties [785 785 785 1054 1055 1 nil nil nil nil nil nil nil nil # nil nil #8]) #("For unit tests, we use python's " 0 32 (:parent #13)) (verbatim (:standard-properties [817 nil nil nil 828 1 nil nil nil nil nil nil nil nil # nil nil #13] :value [org-element-deferred org-element--substring (1 9) t])) #("framework. Coverage reports\nget generated using " 0 48 (:parent #13)) (link (:standard-properties [876 nil 930 941 944 1 nil nil nil nil nil nil nil nil # nil nil #13] :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 #19))) #("which you could also use to run\nunit tests. When adding new functionality, it is advisable to add\nunit tests.\n" 0 110 (:parent #13))))) (headline (:standard-properties [1055 1055 1068 2403 2403 0 (:title) nil nil nil nil 1070 2401 1 # nil nil #0] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 11) t] :title (#("Run tests" 0 9 (:parent #6))) :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 #6] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 8) t] :title (#("Setup" 0 5 (:parent #9))) :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 #9]) (paragraph (:standard-properties [1078 1078 1078 1140 1141 1 nil planning nil nil nil nil nil nil # nil nil #12]) #("Everything required for testing is already package with guix:\n" 0 62 (:parent #15))) (fixed-width (:standard-properties [1141 1141 nil nil 1209 2 nil nil nil nil nil nil nil nil # nil nil #12] :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 #6] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (3 10) t] :title (#("Running" 0 7 (:parent #10))) :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 #10]) (paragraph (:standard-properties [1221 1221 1221 1328 1329 1 nil planning nil nil nil nil nil nil # nil nil #13]) #("Run the tests from the root of the genenetwork2 source tree as. Ensure\nthat Redis and Mariadb are running.\n" 0 107 (:parent #16))) (paragraph (:standard-properties [1329 1329 1329 1352 1352 0 nil nil nil nil nil nil nil nil # nil nil #13]) #("To run Mechanical Rob:\n" 0 23 (:parent #17))) (fixed-width (:standard-properties [1352 1352 nil nil 1590 2 nil nil nil nil nil nil nil nil # nil nil #13] :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 #13]) #("Use these aliases for the following examples.\n" 0 46 (:parent #19))) (src-block (:standard-properties [1637 1637 nil nil 1969 1 nil nil nil nil nil nil nil nil # nil nil #13] :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 #13]) #("You could use them in your " 0 27 (:parent #21)) (verbatim (:standard-properties [1996 nil nil nil 2006 1 nil nil nil nil nil nil nil nil # nil nil #21] :value [org-element-deferred org-element--substring (1 8) t])) #("or " 0 3 (:parent #21)) (verbatim (:standard-properties [2009 nil nil nil 2018 1 nil nil nil nil nil nil nil nil # nil nil #21] :value [org-element-deferred org-element--substring (1 7) t])) #("file.\n" 0 6 (:parent #21))) (paragraph (:standard-properties [2025 2025 2025 2044 2045 1 nil nil nil nil nil nil nil nil # nil nil #13]) #("To run unit tests:\n" 0 19 (:parent #22))) (fixed-width (:standard-properties [2045 2045 nil nil 2082 2 nil nil nil nil nil nil nil nil # nil nil #13] :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 #13]) #("Or alternatively using the coverage tool:\n" 0 42 (:parent #24))) (fixed-width (:standard-properties [2125 2125 nil nil 2172 2 nil nil nil nil nil nil nil nil # nil nil #13] :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 #13]) #("To generate a html coverage report in " 0 38 (:parent #26)) (verbatim (:standard-properties [2210 nil nil nil 2241 0 nil nil nil nil nil nil nil nil # nil nil #26] :value [org-element-deferred org-element--substring (1 30) t])) #("\n" 0 1 (:parent #26))) (fixed-width (:standard-properties [2243 2243 nil nil 2267 2 nil nil nil nil nil nil nil nil # nil nil #13] :value "runcmd coverage html")) (paragraph (:standard-properties [2267 2267 2267 2301 2302 1 nil nil nil nil nil nil nil nil # nil nil #13]) #("To output the report to " 0 24 (:parent #28)) (verbatim (:standard-properties [2291 nil nil nil 2299 0 nil nil nil nil nil nil nil nil # nil nil #28] :value [org-element-deferred org-element--substring (1 7) t])) #(":\n" 0 2 (:parent #28))) (fixed-width (:standard-properties [2302 2302 nil nil 2328 2 nil nil nil nil nil nil nil nil # nil nil #13] :value "runcmd coverage report")) (paragraph (:standard-properties [2328 2328 2328 2403 2403 0 nil nil nil nil nil nil nil nil # nil nil #13]) #("All the configs for running the coverage tool are in\n" 0 53 (:parent #30)) (verbatim (:standard-properties [2381 nil nil nil 2402 0 nil nil nil nil nil nil nil nil # nil nil #30] :value [org-element-deferred org-element--substring (1 20) t])) #("\n" 0 1 (:parent #30))))))) (: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 "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :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\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %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 ("" . "") :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") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%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 "" :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 #)) org-export-as(html nil nil t nil) org-export-to-buffer(html "*Org HTML Export*" nil nil nil t nil #f(compiled-function () #)) org-html-export-as-html(nil nil nil t) (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (unwind-protect (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) eval-buffer(# nil "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el" nil t) #f(compiled-function (buffer file) #)(# "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el") load-with-code-conversion("/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el" "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el" nil t #f(compiled-function (buffer file) #)) command-line--load-script("/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el") command-line-1(("-scriptload" "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el")) command-line() normal-top-level()