diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..4c4216287713a5050301edab119fe9e133b7f6e4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,42 @@ +ARG BASE_REGISTRY=registry1.dso.mil +ARG BASE_IMAGE=redhat/ubi/ubi8 +ARG BASE_TAG=8.4 + +FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} + +# Update packages and remove cache +RUN dnf update -y --nodocs && \ + dnf clean all && \ + rm -rf /var/cache/dnf + +WORKDIR /opt/parasoft + +# copy distribution file into image +COPY parasoft_cpptest* /opt/parasoft + +# unpack distribution file inside image +RUN yum install -y python2 java-1.8.0-openjdk.x86_64 +RUN tar -xvzf parasoft_cpptest* + +# Configure jvm location +COPY conf/cpptestcli.jvm /opt/parasoft/cpptest/etc/ + +# Remove unnecessary pieces +RUN rm -f /opt/parasoft/cpptest/bin/engine/lib/std/libpython* && \ + rm -rf /opt/parasoft/cpptest/bin/engine/bin/lib/ && \ + rm -rf /opt/parasoft/cpptest/rules/builtin/ja && \ + rm -rf /opt/parasoft/cpptest/rules/builtin/zh_CN && \ + rm -rf /opt/parasoft/cpptest/bin/jre && \ + rm -f /opt/parasoft/cpptest/ide/eclipse/plugins/*jetty*.jar + +# clean-up: remove distribution file from image +RUN rm parasoft_cpptest* + +HEALTHCHECK --interval=30s --timeout=5s --start-period=2m --retries=5 \ + CMD /opt/parasoft/cpptest/cpptestcli -h || \ + exit 1 + +WORKDIR /home +USER 1000 +ENV PATH="/opt/parasoft/cpptest:${PATH}" +CMD echo "Parasoft C/C++test 2021.1 - see https://docs.parasoft.com/display/CPPTESTPROEC20211 for more details." diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..1f99eaacc237744d235093e34caad6b014cc88d5 --- /dev/null +++ b/LICENSE @@ -0,0 +1,68 @@ +PARASOFT END USER LICENSE AGREEMENT + +PLEASE READ THIS END USER LICENSE AGREEMENT ("AGREEMENT") CAREFULLY BEFORE USING THE SOFTWARE. PARASOFT CORPORATION ("PARASOFT") IS WILLING TO LICENSE THE SOFTWARE TO YOU, AS AN INDIVIDUAL OR COMPANY THAT WILL BE USING THE SOFTWARE ("YOU" OR "YOUR") ONLY ON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS OF THIS AGREEMENT. THIS IS A LEGALLY ENFORCEABLE CONTRACT BETWEEN YOU AND PARASOFT. BY CLICKING THE "ACCEPT" OR "YES" BUTTON, OR OTHERWISE INDICATING ASSENT ELECTRONICALLY, OR BY INSTALLING THE SOFTWARE, YOU AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND ALSO AGREE THAT IS IT ENFORCEABLE LIKE ANY WRITTEN AND NEGOTIATED AGREEMENT SIGNED BY YOU. IF YOU DO NOT AGREE TO THESE TERMS AND CONDITIONS, CLICK THE "I DO NOT ACCEPT" OR "NO" BUTTON AND MAKE NO FURTHER USE OF THE SOFTWARE. + + +1.0 DEFINITIONS +1.1 "Community Edition" means a limited version of certain Software available with a no cost license. You can execute only one Instance of a Community Edition on a single machine. You shall provide Parasoft with a valid email address at the time of installation, and such email address cannot be used by any other individual to register a Community Edition. You may not transfer the Community Edition to another machine without prior written approval from Parasoft. You may not tamper or attempt to bypass any of the installation steps for a Community Edition, and Parasoft shall terminate your right to a Community Edition in the event that you do so. Notwithstanding any other provisions herein, Parasoft (a) does not provide Maintenance for Community Editions; (b) provides no warranty for Community Editions; (c) provides no indemnification for Community Editions; and (d) accepts no liability for Community Editions. +1.2 "Concurrent User" means a person that has accessed the Software at any given point in time, either directly or through an application. +1.3 "Instance" means a single occurrence of initialization or execution of software on one machine. You are prohibited from using more than one Instance on the same machine at the same time. +1.4 "Licensed Capacity" means the capacity-based license pricing metrics, including, without limitation, Concurrent Users, Named Users, Node Locked machines, Instances, and Community Editions. +1.5 "Maintenance" means the maintenance and technical support services for the Software identified in the Order Instrument and provided by Parasoft pursuant to this Agreement. +1.6 "Named User" means a single named individual designated by You to use the Software. A Named User license may not be transferred or assigned to a different individual without prior consent from Parasoft. +1.7 "Node Locked" means a license for a single machine that has been authorized to run a single Instance of the licensed Software. A Node Locked license requires that users are physically present and not accessing the machine and using the Software from a remote location. +1.8 "Software" means Parasoft's software products, in object code form, that are commercially available at the time of Your order and identified on the Order Instrument, and any modifications, corrections and updates provided by Parasoft in connection with Maintenance. +1.9 "Territory" means the country or countries in which You have a license to use the Software, as specified in a separate agreement between You and Parasoft; or, if no Territory is specified, the country from which Your order has been issued. +1.10 "User Documentation" means the user's guide, installation guides, and/or on-line documentation applicable to the Software. User Documentation does not include marketing materials or responses to requests for proposals. + +2.0 GRANT OF LICENSE AND USE OF SOFTWARE +2.1 License Grant. Subject to the terms and conditions of this Agreement, Parasoft grants to You a non-exclusive license to use the Software within the Territory, in accordance with the User Documentation and in compliance with the authorized Licensed Capacity. This license may be perpetual or for a limited duration term, as stated in (a) an executed agreement between You and Parasoft; (b) a sales quotation from Parasoft; (c) a purchase order that You issue to Parasoft; or (d) the online ordering process found on Parasoft's website or an authorized third party's website. You acknowledge and agree that this Agreement only grants a license to the Software as set forth herein and does not constitute a sale of the Software by Parasoft. You have no right to resell the Software, whether by contract or by operation of applicable copyright law. +2.2 Usage Rights. You may only use the Software and/or the User Documentation for Your internal business operations and to test Your software and process Your data. You shall not (a) permit any third parties or non-licensed entities to use the Software or the User Documentation; (b) test or permit to be tested any software, or process or permit to be processed any data, that is not Your software or data; (c) use the Software in the operation of a service bureau; (d) sublicense, rent, or lease the Software or the User Documentation to a third party; or (e) perform, publish, or release to any third parties any benchmarks or other comparisons regarding the Software or User Documentation. You shall not make simultaneous use of the Software on multiple, partitioned, virtual, or cloud hosted computers without first procuring an appropriate number of licenses from Parasoft. You shall not bypass or attempt to bypass any licensing controls either contained within the Software or imposed by Parasoft. You shall not permit a third party outsourcer to use the Software to test any software or process any data on Your behalf without Parasoft's prior written consent. You shall not use the Software to provide services to a third party. +2.3 License Keys. You acknowledge that the Software contains one or more license keys that will enable the functionality of the Software and third party software embedded in or distributed with the Software. You may only access and use the Software with license keys issued by Parasoft, and shall not attempt to modify, tamper with, reverse engineer, reverse compile, or disassemble any license key. If Parasoft issues a new license key for the Software, You shall not use the previous license key to enable the Software. If a particular license is then currently on Maintenance, You may transfer such license to a different machine and request a new license key from Parasoft. +2.4 Archival Copies. You may make one copy of the Software for back-up and archival purposes only. You may make a reasonable number of copies of the User Documentation for Your internal use. All copies of Software and User Documentation must include all copyright and similar proprietary notices appearing on or in the originals. Copies of the Software may be stored offsite provided that all persons having access to the Software are subject to Your obligations under this Agreement and You take reasonable precautions to ensure compliance with these obligations. Parasoft reserves the right to revoke permission to reproduce copyrighted and proprietary material if Parasoft reasonably believes that You have failed to comply with its obligations hereunder. +2.5 Licensed Capacity. Parasoft licenses Software based on Licensed Capacity for different types of usage, including, without limitation, Concurrent Users, Named Users, Node Locked machines, and Community Editions. A Concurrent User license allows multiple Concurrent Users to share access to and use the Software, provided that the number of Concurrent Users accessing the Software at any time does not exceed the total number of licensed Concurrent Users. A Node Locked license allows a single specified machine to run a single Instance of the Software. A Named User license allows a single designated individual to use the Software. If an application accessing the Software is a multiplexing, database, or web portal application that permits users of such application to access the Software or data processed by the Software, a separate Concurrent User license will be required for each Concurrent User of such application. Regardless of usage type, You shall immediately notify Parasoft in writing of any increase in use beyond the Licensed Capacity. You must obtain a license for any increase in Licensed Capacity, and You agree to pay to Parasoft additional Software license fees, which will be based on Parasoft's then-current list price. +2.6 Evaluation License. This Section 2.6 applies if Parasoft has provided the Software to You for evaluation purposes. Parasoft grants to You a thirty (30) day, limited license solely for the purpose of internal evaluation. You are strictly prohibited from using the Software for any production purpose or any purpose other than the sole purpose of determining whether to purchase a commercial license for the Software that You are evaluating. Parasoft is not obligated to provide maintenance or support for the evaluation Software. YOU ACKNOWLEDGE THAT SOFTWARE PROVIDED FOR EVALUATION MAY (A) HAVE LIMITED FEATURES; (B) FUNCTION FOR A LIMITED PERIOD OF TIME; OR (C) HAVE OTHER LIMITATIONS NOT CONTAINED IN A COMMERCIAL VERSION OF THE SOFTWARE. NOTWITHSTANDING ANYTHING TO THE CONTRARY IN THIS AGREEMENT, PARASOFT IS PROVIDING THE EVALUATION SOFTWARE TO YOU "AS IS", AND PARASOFT DISCLAIMS ANY AND ALL WARRANTIES (INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND STATUTORY WARRANTIES OF NON-INFRINGEMENT), LIABILITIES, AND INDEMNIFICATION OBLIGATIONS OF ANY KIND. In the event of any conflict between this Section 2.7 and any other provision of this Agreement, this Section 2.7 will prevail and supersede such other provision with respect to Software licensed to You for evaluation purposes. +2.7 Education License. If You are an educational or academic institution and are receiving a discount from Parasoft, You may use the Software solely for education or academic purposes and You may not use the Software for any commercial purpose. Parasoft may require that You provide proof of your status as an educational or academic institution. +2.8 Audit. You shall maintain accurate business records relating to its use and deployment of the Software. Parasoft shall have the right, not more than once every twelve (12) months and upon ten (10) business days prior written notice, to verify Your compliance with its obligations under this Agreement by auditing Your business records and Your use and deployment of the Software within Your information technology systems. Parasoft and/or a public accounting firm selected by Parasoft shall perform the audit during Your regular business hours and comply with Your reasonable safety and security policies and procedures. Any agreement You may require the public accounting firm to execute shall not prevent disclosure of the audit results to Parasoft. You shall reasonably cooperate and assist with such audit. You shall, upon demand, pay to Parasoft all license and Maintenance fees for any unauthorized deployments and/or excess usage of Software products disclosed by the audit. License fees for such unauthorized deployments and/or excess usage shall be invoiced to and paid by You at Parasoft's then-current list price, and applicable Maintenance fees shall be applied retroactively to the entire period of the unauthorized and/or excess usage. Parasoft shall be responsible for its own costs and expenses in conducting the audit, unless the audit indicates that You have exceeded its Licensed Capacity or otherwise exceeds its license restrictions, such that the then-current list price of non-compliant Software deployment exceeds five percent (5%) of the total then-current list price of the Software actually licensed by You, in which event You shall, upon demand, reimburse Parasoft for all reasonable costs and expenses of the audit. + +3.0 TITLE. Parasoft retains all right, title and interest in and to the Software and User Documentation and all copies, improvements, enhancements, modifications and derivative works of the Software and User Documentation, including, without limitation, all patent, copyright, trade secret, trademarks and other intellectual property rights. You agrees that it shall not, and shall not authorize others to, copy (except as expressly permitted herein), make modifications to, translate, disassemble, decompile, reverse engineer, otherwise decode or alter, or create derivative works based on the Software or User Documentation. Except as otherwise provided, Parasoft grants no express or implied rights under this license to any of Parasoft's patents, copyrights, trade secrets, trademarks, or other intellectual property rights. + +4.0 TERMINATION +4.1 Default; Bankruptcy. Parasoft may terminate this Agreement if (a) You fail to pay any amount when due under any order You have placed with Parasoft and do not cure such non-payment within ten (10) days of receipt of written notice of non-payment; (b) You materially breach this Agreement and do not cure such breach within thirty (30) days of receipt of written notice of such breach; (c) subject to provisions of applicable bankruptcy and insolvency laws, You become the subject of any involuntary proceeding relating to insolvency and such petition or proceeding is not dismissed within sixty (60) days of filing; or (d) You become the subject of any voluntary or involuntary petition pursuant to applicable bankruptcy or insolvency laws, or request for receivership, liquidation, or composition for the benefit of creditors and such petition, request or proceeding is not dismissed within sixty (60) days of filing. +4.2 Effect of Termination. Upon termination of this Agreement, You shall immediately discontinue use of, and uninstall and destroy all copies of, all Software. Within ten (10) days following termination, You shall certify to Parasoft in a writing signed by an officer of Yours that all Software has been uninstalled from Your computer systems and destroyed. + +5.0 LIMITED WARRANTY +5.1 Performance Warranty. Parasoft warrants that the Software, as delivered by Parasoft and when used in accordance with the User Documentation and the terms of this Agreement, will substantially perform in accordance with the User Documentation for a period of ninety (90) days from the date of initial delivery of the Software. If the Software does not operate as warranted and You have provided written notice of the non-conformity to Parasoft within the ninety (90) day warranty period, Parasoft shall at its option (a) repair the Software; (b) replace the Software with software of substantially the same functionality; or (c) terminate the license for the nonconforming Software and refund the applicable license fees received by Parasoft for the nonconforming Software. The foregoing warranty specifically excludes defects in or non-conformance of the Software resulting from (a) use of the Software in a manner not in accordance with the User Documentation; (b) modifications or enhancements to the Software made by or on behalf of You; (c) combining the Software with products, software, or devices not provided by Parasoft; or (d) computer hardware malfunctions, unauthorized repair, accident, or abuse. +5.2 Disclaimers. THE WARRANTIES SET FORTH IN THIS SECTION 5 ARE EXCLUSIVE AND IN LIEU OF ALL OTHER WARRANTIES, WHETHER EXPRESS OR IMPLIED, AND PARASOFT EXPRESSLY DISCLAIMS ALL OTHER WARRANTIES, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND STATUTORY WARRANTIES OF NON-INFRINGEMENT. PARASOFT DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS OR THAT USE OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR FREE. THE REMEDIES SET FORTH IN THIS SECTION 5 ARE YOUR SOLE AND EXCLUSIVE REMEDIES AND PARASOFT'S SOLE AND EXCLUSIVE LIABILITY REGARDING FAILURE OF ANY SOFTWARE TO FUNCTION OR PERFORM AS WARRANTED IN THIS SECTION 5. + +6.0 INDEMNIFICATION +6.1 Infringement. Parasoft shall defend any claim against You that the Software infringes any intellectual property right of a third party, provided that the third party is located in a country that is a signatory to the Berne Convention, and shall indemnify You against any and all damages finally awarded against You by a court of final appeal, or agreed to in settlement by Parasoft and attributable to such claim, so long as You (a) provide Parasoft prompt written notice of the claim; (b) provide Parasoft all reasonable assistance and information to enable Parasoft to perform its duties under this Section 6; (c) allow Parasoft sole control of the defense and all related settlement negotiations; and (d) have not compromised or settled such claim. If the Software is found to infringe, or if Parasoft determines in its sole opinion that it is likely to be found to infringe, then Parasoft may, at its option (a) obtain for You the right to continue to use the Software; (b) modify the Software to be non-infringing or replace it with a non-infringing functional equivalent, in which case You shall stop using any infringing version of the Software; or (c) terminate Your rights and Parasoft's obligations under this Agreement with respect to such Software and refund to You the unamortized portion of the Software license fee paid for the Software based on a five year straight-line depreciation schedule commencing on the date of delivery of the Software. The foregoing indemnity will not apply to any infringement resulting from (a) use of the Software in a manner not in accordance with the User Documentation; (b) modifications or enhancements to the Software made by or on behalf of You; (c) combination, use, or operation of the Software with products not provided by Parasoft; or (d) use of an allegedly infringing version of the Software if the alleged infringement could be avoided by the use of a different version of the Software made available to You. +6.2 Disclaimers. THIS SECTION 6 STATES YOUR SOLE AND EXCLUSIVE REMEDY AND PARASOFT'S SOLE AND EXCLUSIVE LIABILITY REGARDING INFRINGEMENT OR MISAPPROPRIATION OF ANY INTELLECTUAL PROPERTY RIGHTS OF A THIRD PARTY. + +7.0 LIMITATION OF LIABILITY. IN NO EVENT WILL EITHER PARTY BE LIABLE TO THE OTHER FOR (A) ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR (B) LOSS OF DATA, LOSS OF PROFITS, BUSINESS INTERRUPTION, OR SIMILAR DAMAGES OR LOSS, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. EXCEPT AS LIMITED BY APPLICABLE LAW AND EXCLUDING PARASOFT'S LIABILITY TO YOU UNDER SECTION 6 (INDEMNIFICATION), AND REGARDLESS OF THE BASIS FOR YOUR CLAIM, PARASOFT'S MAXIMUM LIABILITY UNDER THIS AGREEMENT WILL BE LIMITED TO THE LICENSE OR MAINTENANCE FEES PAID FOR THE SOFTWARE OR MAINTENANCE GIVING RISE TO THE CLAIM. THE FOREGOING LIMITATIONS WILL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. + +8.0 CONFIDENTIAL INFORMATION. For purposes of this Agreement, "Confidential Information" will include trade secrets contained within the Software and User Documentation, the terms and pricing of the Software and Maintenance (including any pricing proposals), and such other information (a) identified by either party as confidential at the time of disclosure or (b) that a reasonable person would consider confidential due to its nature and circumstances of disclosure ("Confidential Information"). Confidential Information will not include information that (a) is or becomes a part of the public domain through no act or omission of the receiving party; (b) was in the receiving party's lawful possession prior to receiving it from the disclosing party; (c) is lawfully disclosed to the receiving party by a third party without restriction on disclosure; or (d) is independently developed by the receiving party without breaching this Agreement. Each party agrees to maintain all Confidential Information in confidence and not disclose any Confidential Information to a third party or use the Confidential Information except as permitted under this Agreement. Each party shall take all reasonable precautions necessary to ensure that the Confidential Information is not disclosed by such party or its employees, agents or authorized users to any third party. Each party agrees to immediately notify the other party of any unauthorized access to or disclosure of the Confidential Information. The receiving party agrees that any breach of this Section 8 may cause irreparable harm to the disclosing party, and such disclosing party shall be entitled to seek equitable relief in addition to all other remedies provided by this Agreement or available at law. + +9.0 MAINTENANCE +9.1 Maintenance Period. If You have purchased a perpetual license, You are required to purchase first year Maintenance with the Software, and the Maintenance period will commence upon the initial delivery of the Software and continue for a period of one year. If You have purchased a term license, Maintenance during the term is included at no additional charge. The Maintenance period, at Your option, may be renewed pursuant to subsequent orders. Prior to such renewal, Parasoft may, upon ten (10) business days written notice, require You to provide a report on Your use and deployment of the Software. Such report will be certified by an officer of Yours and will specify, with respect to Your Software: (a) the type and amount of Licensed Capacity; (b) the version; and (c) the Parasoft license serial number. Parasoft shall issue an annual renewal notice to You at least ninety (90) days prior to the expiration of the then-current Maintenance period. Maintenance fees will be based on the then-current list price and are subject to change without notice. +9.2 Support Coordinators. Maintenance will consist of support services provided by Parasoft to one designated support coordinator of Yours (and one backup coordinator) per Your location, by telephone, email, and website. Support is available during normal business hours in the applicable location within the Territory, Monday through Friday, excluding nationally observed holidays. +9.3 Additional Licensed Capacity. In the event that You purchase additional Licensed Capacity for the Software prior to the annual anniversary date of the Maintenance period, You agree to pay applicable Maintenance fees based on Parasoft's then-current Maintenance rates. Maintenance fees will apply from the effective date of such additional Licensed Capacity and continue for a period of one year thereafter, unless otherwise agreed to in writing by the parties, so that Maintenance for Your previously acquired Software and added Licensed Capacity is coterminous. +9.4 New Releases. During any period in which You are current on Maintenance, Parasoft shall provide You with any new release of the Software, which may include generally available error corrections, modifications, maintenance patch releases, enhancements (unless priced separately by Parasoft and generally not included with new licenses for the Software at that time), and the revised User Documentation, if applicable. Notwithstanding the foregoing, stand-alone error corrections that are not part of a new release will not be independently supported but will be incorporated into the next release of the Software. If You install a new release of the Software, You may continue to use the previous version of the Software for up to ninety (90) days in order to assist You in the transition to the new release. Once You complete its transition to the new release of the Software, You must discontinue use of the previous version of the Software. +9.5 Supported Releases. Parasoft shall continue to support the immediately preceding release of the Software for a period of twelve (12) months following the discontinuance of such Software or the date on which the new release becomes generally available, provided that You have paid applicable Maintenance fees and incorporated all Maintenance patch releases issued by Parasoft for the release of the Software. +9.6 Reinstatement of Maintenance. If You allow Maintenance to expire, You may, at a later date, renew Maintenance by paying the following: (a) if You have installed the current release of the Software but have failed to pay the applicable renewal fee on or before the ninetieth (90th) day following expiration of the Maintenance period, annual Maintenance fees at Parasoft's then-current rates, plus Parasoft's then-current reinstatement fee; or (b) if You have not installed the current release of the Software or have failed to pay the applicable renewal fee by the ninetieth (90th) day following expiration of the Maintenance period, annual Maintenance fees at Parasoft's then-current rates, plus Parasoft's then-current license update fee for the current release of the Software. + +10.0 GENERAL +10.1 Independent Contractors. The parties acknowledge and agree that each is an independent contractor. This Agreement will not be construed to create a partnership, joint venture or agency relationship between the parties. +10.2 Entire Agreement. The terms and conditions of this Agreement apply to all Software licensed, all User Documentation provided, and all Maintenance purchased hereunder. This Agreement will supersede any different, inconsistent or preprinted terms and conditions in any order form of Yours, purchase order or other ordering document. +10.3 Assignment. You have no right to assign, sublicense, pledge, or otherwise transfer any of Your rights in and to the Software, User Documentation or this Agreement, in whole or in part (collectively, an "Assignment"), without Parasoft's prior written consent, and any Assignment without such consent shall be null and void. Any change in control of Your organization or entity, whether by merger, share purchase, asset sale, or otherwise, will be deemed an Assignment subject to the terms of this Section 10.3. +10.4 Force Majeure. No failure, delay or default in performance of any obligation of a party to this Agreement, except payment of license fees due hereunder, will constitute an event of default or breach of the Agreement to the extent that such failure to perform, delay or default arises out of a cause, existing or future, that is beyond the reasonable control of such party, including, without limitation, action or inaction of a governmental agency, civil or military authority, fire, strike, lockout or other labor dispute, inability to obtain labor or materials on time, flood, war, riot, theft, earthquake or other natural disaster ("Force Majeure Event"). The party affected by such Force Majeure Event shall take all reasonable actions to minimize the consequences of any Force Majeure Event. +10.5 Severability. If any provision of this Agreement is held to be illegal or otherwise unenforceable by a court of competent jurisdiction, that provision will be severed and the remainder of the Agreement will remain in full force and effect. +10.6 Waiver. The waiver of any right or election of any remedy in one instance will not affect any rights or remedies in another instance. A waiver will be effective only if made in writing and signed by an authorized representative of the applicable party. +10.7 Notices. All notices required by this Agreement will be in writing, addressed to the party to be notified and deemed to have been effectively given and received (a) on the fifth business day following deposit in the mail, if sent by first class mail, postage prepaid; (b) upon receipt, if sent by registered or certified mail, postage prepaid, with return receipt requested; (c) upon transmission, if sent by fax and confirmation of transmission is produced by the sending machine and a copy of such fax is promptly sent by another means specified in this Section 10.7; or (d) upon delivery, if delivered personally or sent by express courier service and receipt is confirmed by the recipient. Notices will be addressed to the parties based on the address stated in the applicable order, to the attention of the Legal Department. A change of address for notice purposes may be made pursuant to the procedures set forth above. +10.8 Export Restrictions. You acknowledge that the Software and certain Confidential Information (collectively "Technical Data") are subject to United States export controls laws and regulations, including but not limited to the Export Administration Regulations, the sanctions regulations of the Office of Foreign Assets Control of the U. S. Department of Treasury, and the International Traffic in Arms Regulations (collectively, "Export Control Laws"). Each party agrees to comply with all requirements of the Export Control Laws with respect to the Technical Data. Without limiting the foregoing, You shall not (a) export, re-export, divert or transfer any such Technical Data, or any direct product thereof, to any destination, company, or person restricted or prohibited by Export Control Laws; (b) disclose any such Technical Data to any national of any country when such disclosure is restricted or prohibited by the Export Control Laws; or (c) export or re-export the Technical Data, directly or indirectly, for nuclear, missile, or chemical/biological weaponry end uses prohibited by the Export Control Laws. +10.9 Choice of Law; Jurisdiction. This Agreement is governed by and construed in accordance with the laws of the State of California, USA, exclusive of any provisions of the United Nations Convention on Contracts for the International Sale of Goods, including any amendments thereto, and without regard to principles of conflicts of law. Any suits concerning this Agreement will be brought in the federal courts for the Central District of California or the state courts in Los Angeles County, California, USA. +10.10 Amendment. This Agreement may only be modified by a written document signed by an authorized representative of Parasoft and by You. +10.11 Survival. Any terms of this Agreement which by their nature extend beyond the termination or expiration of this Agreement will remain in effect. Such terms will include, without limitation, all provisions herein relating to limitation of liability, title and ownership of Software, and all general provisions. + + + diff --git a/README.md b/README.md index 5dc6fa6db4361c22da2f35edf0544d83ba6001e2..3128f8532f4e562e6feb7329250a82d24ed1b040 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,34 @@ -# +# Parasoft C++Test Professional Edition -Project template for all Iron Bank container repositories. \ No newline at end of file +## Prerequisite +This is intended to be used as a base image for C/C++ compiler tool chains. It adds the use of Parasoft C++Test static +analysis and unit testing capabilities for your supported compiler tool chain. + +See the list of supported compilers here: https://docs.parasoft.com/display/CPPTEST20211/Supported+Compilers + +### Example Dockerfile +Here is an example Dockerfile that would enable usage of Parasoft C++Test with gcc + +``` +FROM parasoft/cpptest-professional:2021.1 + +WORKDIR /opt/parasoft + +USER root +RUN yum install -y gcc-c++ make cmake git + +WORKDIR /home +USER 1000 +ENTRYPOINT ["/opt/parasoft/cpptest/cpptestcli"] +``` + +## How to run image: + +### Check available configurations +> docker run --rm -v $PWD:$PWD -w $PWD -list-configs + +### Run on sample +> docker run --rm -v $PWD:$PWD -w /opt/parasoft/cpptest/examples/ATM -settings $PWD/cpptestcli.properties -compiler gcc_9-64 -module . -trace make clean all + +### Run on your project +> docker run --rm -v $PWD:$PWD -w $PWD -settings $PWD/cpptestcli.properties -settigns $PWD/cpptestcli.properties -compiler gcc_9-64 -module . -trace make clean all diff --git a/conf/cpptestcli.jvm b/conf/cpptestcli.jvm new file mode 100644 index 0000000000000000000000000000000000000000..f8ad3960cc2b30450b504e12355bf78ba25d49c2 --- /dev/null +++ b/conf/cpptestcli.jvm @@ -0,0 +1,17 @@ +java.executable=java + +java.classpath=$INSTALL_DIR/plugins/builtin/core;com\.parasoft\.xtest\.logging\.api.*\.jar +java.classpath=$INSTALL_DIR/plugins/builtin/core;groovy.*\.jar +java.classpath=$INSTALL_DIR/bin/jars;.*\.jar + +java.mainclass=com.parasoft.xtest.cpp.launcher.OsgiLauncher + +java.arg=-Dlog4j.ignoreTCL=true +java.arg=-Dcom.parasoft.xtest.logging.config.file=$INSTALL_DIR/etc/logger.xml +java.arg=-Dcom.parasoft.xtest.engine.location=$INSTALL_DIR/bin/engine +java.arg=-Dcom.parasoft.xtest.cpp.launcher.rootdir=$INSTALL_DIR +java.arg=-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog +java.arg=-Dcom.parasoft.xtest.cpp.workspace=$WORKSPACE_DIR +java.arg=-Dparasoft.local.storage.dir=$WORKSPACE_DIR/.cpptest + +java.arg=-Xmx2048m diff --git a/hardening_manifest.yaml b/hardening_manifest.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b44a56d827faf40889774eadbd6c12939aea7bba --- /dev/null +++ b/hardening_manifest.yaml @@ -0,0 +1,54 @@ +--- +apiVersion: v1 + +name: "parasoft/cpptest-professional" + +tags: + - "2021.1" + - "latest" + +args: + BASE_IMAGE: "redhat/ubi/ubi8" + BASE_TAG: "8.4" + + +# Docker image labels +labels: + # Name of the image + org.opencontainers.image.title: "parasoft-cpptest-professional" + # Human-readable description of the software packaged in the image + org.opencontainers.image.description: "Parasoft C++Test Professional Edition" + # License(s) under which contained software is distributed + org.opencontainers.image.licenses: "PARASOFT END USER LICENSE AGREEMENT" + # URL to find more information on the image + org.opencontainers.image.url: "https://docs.parasoft.com/display/CPPTESTPROEC20211" + # Name of the distributing entity, organization or individual + org.opencontainers.image.vendor: "Parasoft" + # Authoritative version of the software + org.opencontainers.image.version: "2021.1" + # Keywords to help with search (ex. "cicd,gitops,golang") + mil.dso.ironbank.image.keywords: "testing,static-analysis,dynamic-analysis,c,c++" + # This value can be "opensource" or "commercial" + mil.dso.ironbank.image.type: "commercial" + # Product the image belongs to for grouping multiple images + mil.dso.ironbank.product.name: "parasoft" + +# List of resources to make available to the offline build context +resources: + - auth: + type: basic + id: parasoft + filename: parasoft_cpptest_professional-2021.1.0-linux.x86_64.tar.gz + url: https://dccscrpcdn.parasoft.com/repository/maven-releases/parasoft/cpptest-professional/2021.1/cpptest-professional-2021.1-linux.tar.gz + validation: + type: sha256 + value: 8dd21a1c29d7336506ad6770115bf4a75d45c31b6f02037ff5c854e92deec274 + +# List of project maintainers +maintainers: + - email: "container-support@parasoft.com" + # The name of the current container owner + name: "Daniel Dominguez" + # The gitlab username of the current container owner + username: "ddominguez1" + cht_member: false # NOTE: Include if the maintainer is a member of CHT