### This is how I built, tested, and compared results. It's a bit crude ### Meant to be done intercatively and not easy to automate. ### Need two working directories: for before and after applying the patch. export WORKING_DIR=$HOME/testPullRequest mkdir $WORKING_DIR cd $WORKING_DIR mkdir before after ######################################################################## # Later on we will need to apply the patch for the pull request #26 at # https://github.com/dogtagpki/jss/pull/26/commits/5fe56ad33308c8a0c15131947c2544c03860da57 # Just add .patch to that URL and it will show you a patch # https://github.com/dogtagpki/jss/commit/5fe56ad33308c8a0c15131947c2544c03860da57.patch # Save it to the $WORKING_DIR directory to later appy it duringafter phase wget https://github.com/dogtagpki/jss/commit/5fe56ad33308c8a0c15131947c2544c03860da57.patch # This is common, let's do it now export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0_openjdk export USE_64=1 export CHECK_DEPRECATION=1 cd before hg clone https://hg.mozilla.org/projects/nspr hg clone https://hg.mozilla.org/projects/nss git clone git@github.com:dogtagpki/jss.git cd jss script -c 'make clean all' typescript.build.full script -c 'make test_jss' typescript.tests.full script -c 'make clean all' typescript.build script -c 'make test_jss' typescript.tests # Now let's examine what we have grep warning: typescript.build.full > warnings.full grep warning: typescript.build > warnings sort warnings.full > sorted.warnings.full sort warnings > sorted.warnings wc -l warnings.full # will show 55 wc -l warnings # will show 45 # On full we are likely picking up warnings from the nspr and nss parts ####### compare after against before, use the sorted ones, esier to see meld sorted.warnings.full sorted.warnings # You'll notice that full (on the left) has 9 extra at the top and 1 at the bottom and they aren't jss related # Possible AI 1: Report that to mozilla upstream nspr & nss. # Before doing that we should find the way to do deprecation check # with their build system. # now do similary in the after phase cd ../after hg clone https://hg.mozilla.org/projects/nspr hg clone https://hg.mozilla.org/projects/nss git clone https://github.com/dogtagpki/jss.git cd jss # Apply the patch git am ../../5fe56ad33308c8a0c15131947c2544c03860da57.patch ################################################################## script -c 'make clean all' typescript.build.full script -c 'make test_jss' typescript.tests.full script -c 'make clean all' typescript.build script -c 'make test_jss' typescript.tests grep warning: typescript.build.full > warnings.full grep warning: typescript.build > warnings sort warnings.full > sorted.warnings.full sort warnings > sorted.warnings wc -l warnings.full wc -l warnings ####### compare full version against normal as we did earlier ########## ## it should show similar results ## ####### compare after against before, use the sorted ones, easier to see meld sorted.warnings.full sorted.warnings # full has 9 extra at the top and 1 at the bottom cd $WORKING_DIR meld before/jss/sorted.warnings after/jss/sorted.warnings # should show essentially the same warnings as this PR is only to # add extra annotations and doesn't attempt to addresss any of them