NSS:TryServer: Difference between revisions

Jump to navigation Jump to search
1,258 bytes added ,  19 September 2019
m
clarify NSPR instructions
(aarch64)
m (clarify NSPR instructions)
 
(15 intermediate revisions by 5 users not shown)
Line 9: Line 9:


<pre>
<pre>
try = ssh://ldap.username@you.com@hg.mozilla.org/projects/nss-try
nss-try = ssh://ldap.username@you.com@hg.mozilla.org/projects/nss-try
</pre>
</pre>


Line 16: Line 16:
<pre>
<pre>
$ cd $nss-directory/
$ cd $nss-directory/
$ hg push -r . -f try
$ hg push -r . -f nss-try
</pre>
</pre>


Note: Local changes will not be pushed, all code that you want to test must be commited in some way. For example, you could use the mq extension and commit your change to a local mq patch (hg qnew).
Note: <b>Local changes will not be pushed, all code that you want to test must be commited in some way.</b> For example, you could use the mq extension and commit your change to a local mq patch (hg qnew).


Your try job will show up on the [https://treeherder.mozilla.org/#/jobs?repo=nss-try nss-try dashboard] in a second.
Your try job will show up on the [https://treeherder.mozilla.org/#/jobs?repo=nss-try nss-try dashboard] in a second.
=Using nss-try.sh=
The [https://github.com/mozilla/nss-tools nss-tools] repository on Github has a script [https://github.com/mozilla/nss-tools/blob/master/nss-try.sh nss-try.sh] which simplifies this considerably, even showing help when executed with no arguments.
<pre>
$ ~/git/nss-tools/nss-try.sh
(... detailed instructions ...)
$ ~/git/nss-tools/nss-try.sh -e all -t all -u all
</pre>


=Using try syntax=
=Using try syntax=
Line 39: Line 50:
   [default is "do" if omitted]
   [default is "do" if omitted]


-p linux,linux64,linux64-gyp,linux64-fuzz,win64,aarch64 (or "all" or "none")
-p linux,linux64,linux-make,linux64-make,linux-fuzz,linux64-fuzz,linux64-asan,linux64-fips,win64,win64-make,win,win-make,aarch64,mac (or "all" or "none")
   [default is "all" if omitted]
   [default is "all" if omitted]


-u bogo,crmf,chains,cipher,db,ec,fips,gtest,lowhash,merge,sdr,smime,tools,ssl (or "all" or "none")
-u bogo,crmf,chains,cipher,db,ec,fips,gtest,interop,lowhash,merge,sdr,smime,ssl,tlsfuzzer,tools (or "all" or "none")
   [default is "none" if omitted]
   [default is "none" if omitted]


-t clang-format,scan-build (or "all" or "none")
-t abi,clang-format,coverage,coverity,hacl,saw,scan-build (or "all" or "none")
   [default is "none" if omitted]
   [default is "none" if omitted]


-e all (or "none")
-e all (or "none")
   [default is "none" if omitted]
   [default is "none" if omitted]
--nspr-patch
</pre>
</pre>


Line 58: Line 71:
==Platforms (-p / --platform)==
==Platforms (-p / --platform)==


The currently available platforms are <code>linux</code>, <code>linux64</code>, <code>linux64-gyp</code>, <code>linux64-fuzz</code>, <code>win64</code>, and <code>aarch64</code>. Specify any combination of those, like <code>-p linux,win64</code>, to choose the platforms your patch should be tested on. If you want to test all platforms use <code>-p all</code>, if you want no platforms (which is only useful when you want only tools, see below) then use <code>-p none</code>.
The currently available platforms are <code>linux</code>, <code>linux64</code>, <code>linux-make</code>, <code>linux64-make</code>, <code>linux-fuzz</code>, <code>linux64-fuzz</code>, <code>linux64-asan</code>, <code>linux64-fips</code>, <code>win64</code>, <code>win64_make</code>, <code>win</code>, <code>win_make</code>, <code>aarch64</code> and <code>mac</code>. Specify any combination of those, like <code>-p linux,win64</code>, to choose the platforms your patch should be tested on. If you want to test all platforms use <code>-p all</code>, if you want no platforms (which is only useful when you want only tools, see below) then use <code>-p none</code>.


==Unit tests (-u / --unittests)==
==Unit tests (-u / --unittests)==


The currently available test suites are <code>bogo</code>, <code>crmf</code>, <code>chains</code>, <code>cipher</code>, <code>db</code>, <code>ec</code>, <code>fips</code>, <code>gtest</code>, <code>lowhash</code>, <code>merge</code>, <code>sdr</code>, <code>smime</code>, <code>tools</code>, <code>ssl</code>. Specify any combination of those, like <code>-u ec,gtest</code>, to choose the test suites to run with your patch. If you want to run all test suites use <code>-u all</code>, if you want no tests use <code>-u none</code>.
The currently available test suites are <code>bogo</code>, <code>crmf</code>, <code>chains</code>, <code>cipher</code>, <code>db</code>, <code>ec</code>, <code>fips</code>, <code>gtest</code>, <code>interop</code>, <code>lowhash</code>, <code>merge</code>, <code>sdr</code>, <code>smime</code>, <code>ssl</code>,<code>tlsfuzzer</code> and <code>tools</code>. Specify any combination of those, like <code>-u ec,gtest</code>, to choose the test suites to run with your patch. If you want to run all test suites use <code>-u all</code>, if you want no tests use <code>-u none</code>.


==Tools (-t / --tools)==
==Tools (-t / --tools)==


The currently available tools are <code>clang-format</code>, <code>scan-build</code>. Specify any combination of those, like <code>-t clang-format,scan-build</code>, to choose the tools to run with your patch. If you want to run all tools use <code>-t all</code>, if you want no tools use <code>-t none</code>.
The currently available tools are <code>clang-format</code>, <code>scan-build</code>, <code>hacl</code>, <code>saw</code> and <code>coverage</code>. Specify any combination of those, like <code>-t clang-format,scan-build</code>, to choose the tools to run with your patch. If you want to run all tools use <code>-t all</code>, if you want no tools use <code>-t none</code>.


==Extra builds (-e / --extra-builds)==
==Extra builds (-e / --extra-builds)==


Specify either <code>all</code> or <code>none</code> to enable or disable extra builds. The number and type of extra builds varies per platform.
Specify either <code>all</code> or <code>none</code> to enable or disable extra builds. The number and type of extra builds varies per platform.
==Enable NSPR changes (--nspr-patch)==
Mozilla doesn't maintain separate infrastructure for the NSPR project, but you can test NSPR changes in nss-try. Use a patch file that was created by executing "hg diff" in the top level nspr directory and is named nspr.patch. Copy that patch into the main nss directory (nss/nspr.patch). Include the patch in your submission to nss-try and add parameter --nspr-patch.


=Try syntax implementation=
=Try syntax implementation=
Confirmed users
563

edits

Navigation menu