mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Split solcjs and external tests.
This commit is contained in:
		
							parent
							
								
									0a4dc2cc86
								
							
						
					
					
						commit
						981ff308ec
					
				
							
								
								
									
										41
									
								
								circle.yml
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								circle.yml
									
									
									
									
									
								
							| @ -34,25 +34,19 @@ jobs: | ||||
|           root: workspace | ||||
|           paths: | ||||
|             - soljson.js | ||||
|   test_emscripten: | ||||
|   test_emscripten_solcjs: | ||||
|     docker: | ||||
|       - image: trzeci/emscripten:sdk-tag-1.37.21-64bit | ||||
|     steps: | ||||
|       - checkout | ||||
|       - attach_workspace: | ||||
|           at: /tmp/workspace | ||||
|       - run: mkdir -p build/libsolc/ | ||||
|       - run: cp /tmp/workspace/soljson.js build/libsolc/soljson.js | ||||
|       - run: cp /tmp/workspace/soljson.js soljson.js | ||||
|       - run: | ||||
|           name: Install external tests deps | ||||
|           command: | | ||||
|             apt-get -qq update | ||||
|             apt-get -qy install netcat curl | ||||
|             curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | NVM_DIR=/usr/local/nvm bash | ||||
|       - run: | ||||
|           name: Test external tests deps | ||||
|           command: | | ||||
|             export NVM_DIR="/usr/local/nvm" | ||||
|             [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm | ||||
|             nvm --version | ||||
| @ -60,10 +54,34 @@ jobs: | ||||
|             node --version | ||||
|             npm --version | ||||
|       - run: | ||||
|           name: Test | ||||
|           name: Test solcjs | ||||
|           command: | | ||||
|             . /usr/local/nvm/nvm.sh | ||||
|             scripts/test_emscripten.sh | ||||
|             test/solcjsTests.sh /tmp/workspace/soljson.js | ||||
|   test_emscripten_external: | ||||
|     docker: | ||||
|       - image: trzeci/emscripten:sdk-tag-1.37.21-64bit | ||||
|     steps: | ||||
|       - checkout | ||||
|       - attach_workspace: | ||||
|           at: /tmp/workspace | ||||
|       - run: | ||||
|           name: Install external tests deps | ||||
|           command: | | ||||
|             apt-get -qq update | ||||
|             apt-get -qy install netcat curl | ||||
|             curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | NVM_DIR=/usr/local/nvm bash | ||||
|             export NVM_DIR="/usr/local/nvm" | ||||
|             [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm | ||||
|             nvm --version | ||||
|             nvm install 6 | ||||
|             node --version | ||||
|             npm --version | ||||
|       - run: | ||||
|           name: External tests | ||||
|           command: | | ||||
|             . /usr/local/nvm/nvm.sh | ||||
|             test/externalTests.sh /tmp/workspace/soljson.js | ||||
|   build_x86: | ||||
|     docker: | ||||
|       - image: buildpack-deps:artful | ||||
| @ -115,7 +133,10 @@ workflows: | ||||
|   build_all: | ||||
|     jobs: | ||||
|       - build_emscripten | ||||
|       - test_emscripten: | ||||
|       - test_emscripten_solcjs: | ||||
|           requires: | ||||
|             - build_emscripten | ||||
|       - test_emscripten_external: | ||||
|           requires: | ||||
|             - build_emscripten | ||||
|       - build_x86 | ||||
|  | ||||
| @ -31,31 +31,7 @@ set -e | ||||
| REPO_ROOT=$(cd $(dirname "$0")/.. && pwd) | ||||
| SOLJSON="$REPO_ROOT/build/libsolc/soljson.js" | ||||
| 
 | ||||
| DIR=$(mktemp -d) | ||||
| ( | ||||
|     echo "Preparing solc-js..." | ||||
|     git clone --depth 1 https://github.com/ethereum/solc-js "$DIR" | ||||
|     cd "$DIR" | ||||
|     # disable "prepublish" script which downloads the latest version | ||||
|     # (we will replace it anyway and it is often incorrectly cached | ||||
|     # on travis) | ||||
|     npm config set script.prepublish '' | ||||
|     npm install | ||||
| 
 | ||||
|     # Replace soljson with current build | ||||
|     echo "Replacing soljson.js" | ||||
|     rm -f soljson.js | ||||
|     cp "$SOLJSON" soljson.js | ||||
| 
 | ||||
|     # Update version (needed for some tests) | ||||
|     VERSION=$("$REPO_ROOT/scripts/get_version.sh") | ||||
|     echo "Updating package.json to version $VERSION" | ||||
|     npm version --no-git-tag-version $VERSION | ||||
| 
 | ||||
|     echo "Running solc-js tests..." | ||||
|     npm run test | ||||
| ) | ||||
| rm -rf "$DIR" | ||||
| 
 | ||||
| echo "Running solcjs tests...." | ||||
| "$REPO_ROOT/test/solcjsTests.sh" "$SOLJSON" | ||||
| echo "Running external tests...." | ||||
| "$REPO_ROOT/test/externalTests.sh" "$SOLJSON" | ||||
|  | ||||
							
								
								
									
										63
									
								
								test/solcjsTests.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										63
									
								
								test/solcjsTests.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,63 @@ | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # Bash script to execute the Solidity tests. | ||||
| # | ||||
| # The documentation for solidity is hosted at: | ||||
| # | ||||
| #     https://solidity.readthedocs.org | ||||
| # | ||||
| # ------------------------------------------------------------------------------ | ||||
| # This file is part of solidity. | ||||
| # | ||||
| # solidity is free software: you can redistribute it and/or modify | ||||
| # it under the terms of the GNU General Public License as published by | ||||
| # the Free Software Foundation, either version 3 of the License, or | ||||
| # (at your option) any later version. | ||||
| # | ||||
| # solidity is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with solidity.  If not, see <http://www.gnu.org/licenses/> | ||||
| # | ||||
| # (c) 2017 solidity contributors. | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| set -e | ||||
| 
 | ||||
| if [ ! -f "$1" ] | ||||
| then | ||||
|   echo "Usage: $0 <path to soljson.js>" | ||||
|   exit 1 | ||||
| fi | ||||
| 
 | ||||
| SOLJSON="$1" | ||||
| 
 | ||||
| DIR=$(mktemp -d) | ||||
| ( | ||||
|     echo "Preparing solc-js..." | ||||
|     git clone --depth 1 https://github.com/ethereum/solc-js "$DIR" | ||||
|     cd "$DIR" | ||||
|     # disable "prepublish" script which downloads the latest version | ||||
|     # (we will replace it anyway and it is often incorrectly cached | ||||
|     # on travis) | ||||
|     npm config set script.prepublish '' | ||||
|     npm install | ||||
| 
 | ||||
|     # Replace soljson with current build | ||||
|     echo "Replacing soljson.js" | ||||
|     rm -f soljson.js | ||||
|     cp "$SOLJSON" soljson.js | ||||
| 
 | ||||
|     # Update version (needed for some tests) | ||||
|     VERSION=$("$REPO_ROOT/scripts/get_version.sh") | ||||
|     echo "Updating package.json to version $VERSION" | ||||
|     npm version --no-git-tag-version $VERSION | ||||
| 
 | ||||
|     echo "Running solc-js tests..." | ||||
|     npm run test | ||||
| ) | ||||
| rm -rf "$DIR" | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user