mirror of
				https://github.com/D00Med/scifi_nodes.git
				synced 2025-10-26 11:55:30 +01:00 
			
		
		
		
	Compare commits
	
		
			2 Commits
		
	
	
		
			pipes-ligh
			...
			integratio
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 286e80edfd | ||
|  | fcce42837f | 
							
								
								
									
										15
									
								
								.github/workflows/integration-test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								.github/workflows/integration-test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | name: integration-test | ||||||
|  |  | ||||||
|  | on: [push, pull_request] | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  |  | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     timeout-minutes: 10 | ||||||
|  |  | ||||||
|  |     steps: | ||||||
|  |     - uses: actions/checkout@v1 | ||||||
|  |  | ||||||
|  |     - name: integration-test | ||||||
|  |       run: ./test/integration-test.sh | ||||||
| @@ -3,6 +3,7 @@ | |||||||
| # scifi_nodes | # scifi_nodes | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| Minetest mod that adds scifi themed blocks, doors, materials, plants and other assets. | Minetest mod that adds scifi themed blocks, doors, materials, plants and other assets. | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								test/integration-test.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								test/integration-test.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,25 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | # Spins up a test world to ensure proper working recipes and registrations | ||||||
|  |  | ||||||
|  | CWD=$(dirname $0) | ||||||
|  | cd ${CWD}/../ | ||||||
|  |  | ||||||
|  | CFG=/tmp/minetest.conf | ||||||
|  | MTDIR=/tmp/mt | ||||||
|  | WORLDDIR=${MTDIR}/worlds/world | ||||||
|  |  | ||||||
|  | cat <<EOF > ${CFG} | ||||||
|  |  # empty | ||||||
|  | EOF | ||||||
|  |  | ||||||
|  | mkdir -p ${WORLDDIR} | ||||||
|  | chmod 777 ${MTDIR} -R | ||||||
|  | docker run --rm -i \ | ||||||
|  | 	-v ${CFG}:/etc/minetest/minetest.conf:ro \ | ||||||
|  | 	-v ${MTDIR}:/var/lib/minetest/.minetest \ | ||||||
|  | 	-v $(pwd)/:/var/lib/minetest/.minetest/worlds/world/worldmods/scifi_nodes \ | ||||||
|  |   -v $(pwd)/test/test_mod/:/var/lib/minetest/.minetest/worlds/world/worldmods/scifi_nodes_test \ | ||||||
|  |   --network host \ | ||||||
|  | 	registry.gitlab.com/minetest/minetest/server:5.2.0 | ||||||
|  |  | ||||||
|  | test -f ${WORLDDIR}/integration_test.json && exit 0 || exit 1 | ||||||
							
								
								
									
										40
									
								
								test/test_mod/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								test/test_mod/init.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | |||||||
|  |  | ||||||
|  | minetest.log("warning", "[TEST] integration-test enabled!") | ||||||
|  |  | ||||||
|  | -- those mods have to be present | ||||||
|  | local assert_mods = { | ||||||
|  | 	"scifi_nodes" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | -- those nodes have to be present | ||||||
|  | local assert_nodes = { | ||||||
|  | 	"scifi_nodes:crate", | ||||||
|  | 	"scifi_nodes:door1a" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | minetest.register_on_mods_loaded(function() | ||||||
|  | 	minetest.after(0, function() | ||||||
|  | 		-- check mods | ||||||
|  | 		for _, modname in ipairs(assert_mods) do | ||||||
|  | 			if not minetest.get_modpath(modname) then | ||||||
|  | 				error("Mod not present: " .. modname) | ||||||
|  | 			end | ||||||
|  | 		end | ||||||
|  |  | ||||||
|  | 		-- check nodes | ||||||
|  | 		for _, nodename in ipairs(assert_nodes) do | ||||||
|  | 			if not minetest.registered_nodes[nodename] then | ||||||
|  | 				error("Node not present: " .. nodename) | ||||||
|  | 			end | ||||||
|  | 		end | ||||||
|  |  | ||||||
|  | 		local data = minetest.write_json({ success = true }, true); | ||||||
|  | 		local file = io.open(minetest.get_worldpath().."/integration_test.json", "w" ); | ||||||
|  | 		if file then | ||||||
|  | 			file:write(data) | ||||||
|  | 			file:close() | ||||||
|  | 		end | ||||||
|  | 		minetest.request_shutdown("success") | ||||||
|  |  | ||||||
|  | 	end) | ||||||
|  | end) | ||||||
							
								
								
									
										2
									
								
								test/test_mod/mod.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test/test_mod/mod.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | name = scifi_nodes_test | ||||||
|  | depends = scifi_nodes | ||||||
		Reference in New Issue
	
	Block a user