Skip to content

Conversation

AWSGH
Copy link
Contributor

@AWSGH AWSGH commented Mar 24, 2017

not needed

@AWSwinefred AWSwinefred merged commit e01a0bd into master Mar 24, 2017
@AWSwinefred AWSwinefred deleted the AWSGH-patch-2 branch March 24, 2017 21:23
@AWSwinefred AWSwinefred restored the AWSGH-patch-2 branch March 24, 2017 21:23
@AWSwinefred AWSwinefred deleted the AWSGH-patch-2 branch April 10, 2017 20:09
kyyalama2 pushed a commit that referenced this pull request May 24, 2022
Add pytests for hdk

Added readmes for hdk, sdk tests

Add the Jenkinsfile

 ## Details

Waits for AFI creation to complete and optionally notify via email.

If --notify specified then it creates the SNS topic if it doesn't exist
and subscribes the email address to the topic if it isn't already subscribed.
If the subscription hasn't been verified it waits for it to be verified
so that the notification isn't lost.

Also modified notify_via_sns.py to allow SNS topic and email address to be
passed as parameters.
Also wait for subscription to be confirmed before doing the notification.

Moved shared SNS code to a shared python package in shared/lib.

Add timeouts where waiting:
* Max of 10 minutes waiting for SNS subscription confirmation
* Default max of 6 hours waiting for AFI.

* Update .gitignore with generated files

* Exclude SDAccel/examples/xilinx from md links checks.

Split sim jobs into 2 groups by CL

 ## Details
* Switch to scripted pipeline instead of declarative pipeline
* Create Run Sims stage with parallel stages inside
* Use different xml file for each sim stage's results
* Add FDF stages
* Add real tests for FDF
* Use c4-8xl to generate DCP
* Add test runtime software tests

Get FDF flow working

 ## Details
* Use t2 instance for creating AFI
* Implement test_load_afi.py
  * Build and run runtime software
  * Move test_runtime_software into test_load_afi.py
* Add cl_uram_example, cl_hello_world_vhdl to FDF tests
* Add try/finally blocks so failing results get written.
* Add default region to configuration
* Add stash/unstash
* Catch stash/unstash errors
* Replace def with String.
* Fix minor typo in readme
* Delete generated files.
  * These files were updated when building the DCP. Assuming that they were incorrectly committed.

Port gen_dcp.sh to test_gen_dcp.py

 ## Details
* Ported dcp_gen.sh to test_gen_dcp.py
* Use test instead of key to prevent selecting unwanted tests
  * -k test_cl_hello_world also runs test_cl_hello_world_vhdl
* Add configuration variables so can disable stages for debug
* Add parameters that control the configuration variables

Don't use ${WORKSPACE} in Jenkinsfile test variable.

Groovy says it doesn't exist.

Create a base class for all tests

Other changes
* Add missing tests to test_create_afi, test_load_afi
* Check that setup script was called if required
* Add conftest.py for all test directories.

Fix setup scripts

 ## Details
* Allow them to be sourced by any directory
* Remove execute permissions; they have to be sourced.
* Replace exit with return.
* Always print out a fail message if they fail
* Check everything that needs to be checked.
* Move code shared between scripts to shared/bin
* Update .gitignore with files generated by setup scripts

 ## Testing
Tested with origin/AWShimasajja-sw-testfix-1.0 merged to fix sdk_setup.sh problem.

* Fix new F1 runtime tests

 ## Details
* Improve runtime software tests
  * cl_dram_dma:
    * Added usage
    * Allow slot to be passed in as command line argument instead of hard coding to 0.
  * cl_hello_world:
    * Allow data value and slot to be passed in as command line arguments.
    * Pass value to peek_poke_example function instead of using hardcoded value.
    * Add byte_swap function to calculate expected read value.
  * cl_hello_world_vhdl:
    * Change name of SRC and BIN in Makefile to match cl name.
    * Symbolic link source to cl_hello_world so they are identical.
  * cl_uram_example
    * Fix Makefile to create correct test executable name.
    * Add command line args for slot, command and value.
    * Only call scanf if comand and value aren't passed on command line.
    * Clean up output to minimize it when command passed on command line.
* test_load_afi.py:
  * Fix test_load_afi.py join syntax
  * Add check_runtime_software to make testing complete.
    * Runs additional commands after runtime software completes before clearing the slot.
    * cl_hello_world*:
      * Walk a 1 through the register and check the LEDs are correct.
    * cl_uram_example:
      * Run commands with different values to test functionality as suggested in help text.
* AwsFpgaTestBase:
  * Use @classmethod for setup_class instead of @staticmethod.
  * Added echo and check methods to run_cmd.
  * Added utility methods for working with the FPGA.
* .gitignore
  * Add runtime software executables and edma generated files

Fix cl_uram_example runtime tests. (#214)

* Fix cl_uram_example runtime tests.

 ## Details

 ### General
* Updated all FDF tests to work with either stashed artifacts or S3 artifacts.
* Moved definition of dirs and keys to base class.
* test_create_afi.py:
  * Only download DCP from S3 if it isn't already there. This is to allow testing when not running on Jenkins.
* test_load_afi.py:
  * Now runs tests on all slots based on the instance type.
* Had to update the S3 keys to include an option_tag to handle the CLs being
  built with different options.
* Save the AFI ids in separate directory instead of the dcp dir.

 ### cl_uram_example
The cl_uram_example tests were randomly hangin and requiring the slot to be reset.
Debugged the problem to use A1 instead of A2 clock recipe.
Reading the README for the CL also showed that it could be built with 3 different
URAM options so added tests to test those 3 cases.

 ### cl_dram_dma
Fix cl_dram_dma test so it works on all slots

Have to load the cl_dram_dma on all slots for the driver to install
properly on all slots.
So changed the test to always load all slots when installing the driver.
Now all tests will by default test all slots.

- Adding test generation and discovery for sdaccel examples
- Added parallel build stages for SDaccel
- Using Set instead of LinkedHashMap
- Using C5.9XL
- Using multiple executors
- Added an SDAccel build node timeout
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants