Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ci improvments #3505

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
434b467
tweaks to ci_suite
FalloutFalcon Oct 8, 2024
a87973b
tweaks
FalloutFalcon Oct 8, 2024
76c4cd4
hrm
FalloutFalcon Oct 8, 2024
4363573
weird
FalloutFalcon Oct 8, 2024
bf312f5
Merge pull request #10 from FalloutFalcon/ci-suite
FalloutFalcon Oct 8, 2024
5827c24
Update ci_suite.yml
FalloutFalcon Oct 8, 2024
c0839b6
updates actions
FalloutFalcon Oct 8, 2024
53d77f9
Merge pull request #12 from FalloutFalcon/ci-improvments
FalloutFalcon Oct 8, 2024
cb8c062
changes the name
FalloutFalcon Oct 8, 2024
e1895e3
give up on tests if new commit
FalloutFalcon Oct 8, 2024
aed9823
tweak this
FalloutFalcon Oct 8, 2024
e8f6dc3
Merge pull request #13 from FalloutFalcon/ci-improvments
FalloutFalcon Oct 8, 2024
fb50129
completion gate
FalloutFalcon Oct 8, 2024
fbb8aee
Merge pull request #14 from FalloutFalcon/ci-improvments
FalloutFalcon Oct 8, 2024
8f2e4f4
only require basic_test to merge.
FalloutFalcon Oct 8, 2024
bffb76a
Merge pull request #15 from FalloutFalcon/ci-improvments
FalloutFalcon Oct 8, 2024
11ef263
ok so this should work.
FalloutFalcon Oct 8, 2024
8ef32de
Merge branch 'master' into ci-improvments
FalloutFalcon Oct 8, 2024
7eff2b4
update actions
FalloutFalcon Oct 8, 2024
147f175
https://github.com/tgstation/tgstation/pull/77504
FalloutFalcon Oct 8, 2024
744d403
smushes these together cuase they run fast assuming they dont runtime
FalloutFalcon Oct 8, 2024
b17acb9
Merge branch 'master' into ci-improvments
FalloutFalcon Oct 9, 2024
c16d202
revert merging these
FalloutFalcon Oct 10, 2024
d45ae2f
forgot this
FalloutFalcon Oct 10, 2024
e489acb
does this cause tgs to fail?
FalloutFalcon Oct 10, 2024
1256865
renabled inhands using notice unless only half of sprite missing
FalloutFalcon Oct 10, 2024
729791b
more notices
FalloutFalcon Oct 10, 2024
8ea7165
src
FalloutFalcon Oct 10, 2024
ab19fd9
TEST_NOTICE for not clothing in worn
FalloutFalcon Oct 10, 2024
d536873
wait stop this needs to be false
FalloutFalcon Oct 10, 2024
4d1b85b
formating to catch these?
FalloutFalcon Oct 10, 2024
228fe12
test
FalloutFalcon Oct 10, 2024
f21848e
only use github syntax if running unit tests
FalloutFalcon Oct 10, 2024
05cb2fa
tweaks to logging
FalloutFalcon Oct 10, 2024
199963e
mhm
FalloutFalcon Oct 10, 2024
606e371
oops typo on proc
FalloutFalcon Oct 10, 2024
8f1b9e0
small tweaks, should pass checks
FalloutFalcon Oct 10, 2024
f7dacbf
fixes subtpye paths not being defines
FalloutFalcon Oct 10, 2024
140eaa7
Merge branch 'master' into ci-improvments
FalloutFalcon Oct 10, 2024
6e444f1
fixes a few. cant be bothered with any more rn
FalloutFalcon Oct 10, 2024
251d899
Merge branch 'ci-improvments' of https://github.com/FalloutFalcon/Shi…
FalloutFalcon Oct 10, 2024
bfddfdc
support project branches?
FalloutFalcon Oct 11, 2024
81b86b4
Merge branch 'master' of https://github.com/shiptest-ss13/Shiptest in…
FalloutFalcon Oct 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/autowiki.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
sudo apt update || true
sudo apt install -o APT::Immediate-configure=false libssl-dev:i386
bash tools/ci/install_rust_g.sh

- name: Cache dependencies
if: steps.secrets_set.outputs.SECRETS_ENABLED
uses: actions/cache@v3
Expand Down
66 changes: 48 additions & 18 deletions .github/workflows/ci_suite.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,36 @@
name: Checks
name: CI Suite
on:
push:
branches:
- master
- 'project/**'
pull_request:
branches:
- master
- 'project/**'
merge_group:
branches:
- master

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
start_gate:
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Start Gate
runs-on: ubuntu-latest
steps:
- name: Mandatory Empty Step
run: exit 0

run_linters:
if: ${{ ! contains(github.event.head_commit.message, '[ci skip]') }}
name: Run Linters
needs: start_gate
runs-on: ubuntu-22.04
timeout-minutes: 5

steps:
- uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -84,9 +101,11 @@ jobs:
cat check_regex_output.txt

compile_all_maps:
if: ${{ ! contains(github.event.head_commit.message, '[ci skip]') }}
name: Compile Maps
needs: start_gate
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- uses: actions/checkout@v3

Expand All @@ -106,8 +125,8 @@ jobs:
tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_MAPS -DFULL_INIT

run_all_tests:
if: ${{ ! contains(github.event.head_commit.message, '[ci skip]') }}
name: Integration Tests
needs: start_gate
strategy:
fail-fast: false
matrix:
Expand All @@ -122,22 +141,22 @@ jobs:
with:
arg: ${{ matrix.arg }}

# run_alternate_tests:
# if: "!contains(github.event.head_commit.message, '[ci skip]')"
# name: Alternate Tests
# strategy:
# fail-fast: false
# matrix:
# major: [515]
# minor: [1614]
# uses: ./.github/workflows/run_integration_tests.yml
# with:
# major: ${{ matrix.major }}
# minor: ${{ matrix.minor }}
run_extra_tests:
name: Extra Tests
needs: start_gate
strategy:
fail-fast: false
matrix:
arg: [
"EXTRA_SHIP_TEST"
]
uses: ./.github/workflows/run_integration_tests.yml
with:
arg: ${{ matrix.arg }}

test_windows:
if: ${{ ! contains(github.event.head_commit.message, '[ci skip]') }}
name: Windows Build
needs: start_gate
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
Expand All @@ -163,7 +182,18 @@ jobs:
bash tools/deploy.sh ./deploy

- name: Deploy artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: deploy
path: deploy

completion_gate: # Serves as a non-moving target for branch rulesets
if: always() && !cancelled()
name: Completion Gate
needs: [ test_windows, compile_all_maps, run_linters, run_all_tests ]
runs-on: ubuntu-latest
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
2 changes: 1 addition & 1 deletion .github/workflows/rerun_flaky_tests.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Rerun/Report Flaky Tests
on:
workflow_run:
workflows: [Checks]
workflows: [CI Suite]
types:
- completed

Expand Down
12 changes: 10 additions & 2 deletions code/__HELPERS/_logging.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,22 @@
#define WRITE_LOG(log, text) rustg_log_write(log, text, "true")
#define WRITE_LOG_NO_FORMAT(log, text) rustg_log_write(log, text, "false")

//print a warning message to world.log
#ifdef UNIT_TESTS
#define WARNING(MSG) log_world("::warning file=[__FILE__],line=[__LINE__]::[MSG] src: [UNLINT(src)] usr: [usr].")
#else
#define WARNING(MSG) warning("[MSG] in [__FILE__] at line [__LINE__] src: [UNLINT(src)] usr: [usr].")
#endif
/// Print a warning message to world.log
/proc/warning(msg)
msg = "## WARNING: [msg]"
log_world(msg)

//not an error or a warning, but worth to mention on the world log, just in case.
#ifdef UNIT_TESTS
#define NOTICE(MSG) log_world("::notice file=[__FILE__],line=[__LINE__]::[MSG] src: [UNLINT(src)] usr: [usr].")
#else
#define NOTICE(MSG) notice(MSG)
#endif
///not an error or a warning, but worth to mention on the world log, just in case.
/proc/notice(msg)
msg = "## NOTICE: [msg]"
log_world(msg)
Expand Down
2 changes: 2 additions & 0 deletions code/game/objects/items/storage/guncases.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
desc = "A large box designed for holding firearms and magazines safely."
icon = 'icons/obj/guncase.dmi'
icon_state = "guncase"
lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi'
item_state = "infiltrator_case"
force = 12
throwforce = 12
Expand Down
6 changes: 3 additions & 3 deletions code/modules/client/loadout/_loadout.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ GLOBAL_LIST_EMPTY(gear_datums)
if(G == initial(G.subtype_path))
continue

if(!use_name)
WARNING("Loadout - Missing display name: [G]")
if(!use_name && initial(G.path))
WARNING("Loadout gear [G] is missing display name")
continue
if(!initial(G.path) && use_category != "OOC") //OOC category does not contain actual items
WARNING("Loadout - Missing path definition: [G]")
WARNING("Loadout gear [G] is missing path definition")
continue

if(!GLOB.loadout_categories[use_category])
Expand Down
3 changes: 3 additions & 0 deletions code/modules/client/loadout/loadout_accessories.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,9 @@
subtype_path = /datum/gear/accessory/mask
slot = ITEM_SLOT_MASK

/datum/gear/accessory/mask/bandana
subtype_path = /datum/gear/accessory/mask/bandana

/datum/gear/accessory/mask/bandana/red
display_name = "bandana, red"
path = /obj/item/clothing/mask/bandana/red
Expand Down
3 changes: 3 additions & 0 deletions code/modules/client/loadout/loadout_hat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@

//Soft caps

/datum/gear/hat/softcap
subtype_path = /datum/gear/hat/softcap

/datum/gear/hat/softcap/red
display_name = "cap, red"
path = /obj/item/clothing/head/soft/red
Expand Down
3 changes: 3 additions & 0 deletions code/modules/client/loadout/loadout_suit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@
path = /obj/item/clothing/suit/toggle/hazard

//Suspenders
/datum/gear/suit/suspenders
subtype_path = /datum/gear/suit/suspenders

/datum/gear/suit/suspenders/red
display_name = "suspenders, red"
path = /obj/item/clothing/suit/toggle/suspenders
Expand Down
1 change: 0 additions & 1 deletion code/modules/clothing/suits/cloaks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
desc = "It's a cape that can be worn around your neck."
icon = 'icons/obj/clothing/cloaks.dmi'
icon_state = "qmcloak"
item_state = "qmcloak"
w_class = WEIGHT_CLASS_SMALL
body_parts_covered = CHEST|GROIN|LEGS|ARMS
flags_inv = HIDESUITSTORAGE
Expand Down
5 changes: 1 addition & 4 deletions code/modules/clothing/under/accessories.dm
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@
name = "waistcoat"
desc = "For some classy, murderous fun."
icon_state = "waistcoat"
item_state = "waistcoat"
item_state = "det_suit"
minimize_when_attached = FALSE
attachment_slot = null

Expand All @@ -119,13 +119,11 @@
name = "syndicate maid apron"
desc = "Practical? No. Tactical? Also no. Cute? Most definitely yes."
icon_state = "maidapronsynd"
item_state = "maidapronsynd"

/obj/item/clothing/accessory/maidapron/inteq
name = "inteq maid apron"
desc = "A 'tactical' apron to protect you from all sorts of spills, from dough to blood!"
icon_state = "inteqmaidapron"
item_state = "inteqmaidapron"

//////////
//Medals//
Expand Down Expand Up @@ -408,7 +406,6 @@
name = "shoulder holster"
desc = "A holster to carry a handgun and ammo. WARNING: Badasses only."
icon_state = "holster"
item_state = "holster"
pocket_storage_component_path = /datum/component/storage/concrete/pockets/holster
attachment_slot = null

Expand Down
2 changes: 2 additions & 0 deletions code/modules/projectiles/guns/ballistic/revolver.dm
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,7 @@
desc = "A small law enforcement firearm. Originally commissioned by Nanotrasen for their Private Investigation division, it has become extremely popular among independent civilians as a cheap, compact sidearm. Uses .38 Special rounds."
fire_sound = 'sound/weapons/gun/revolver/shot_light.ogg'
icon_state = "detective"
item_state = "hp_generic"
icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi'
lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi'
righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi'
Expand Down Expand Up @@ -572,6 +573,7 @@ EMPTY_GUN_HELPER(revolver/detective)
mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi'

icon_state = "montagne"
item_state = "hp_generic"
manufacturer = MANUFACTURER_HUNTERSPRIDE
spread_unwielded = 15
recoil = 0
Expand Down
6 changes: 4 additions & 2 deletions code/modules/projectiles/guns/ballistic/shotgun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@
desc = "A semi-automatic shotgun with tactical furniture and six-shell capacity underneath."
icon_state = "cshotgun"
item_state = "shotgun_combat"
lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi'
righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi'
fire_delay = 0.5 SECONDS
mag_type = /obj/item/ammo_box/magazine/internal/shot/com
w_class = WEIGHT_CLASS_BULKY
Expand Down Expand Up @@ -372,8 +374,8 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq)
name = "improvised shotgun"
desc = "A length of pipe and miscellaneous bits of scrap fashioned into a rudimentary single-shot shotgun."
icon = 'icons/obj/guns/projectile.dmi'
lefthand_file = GUN_LEFTHAND_ICON
righthand_file = GUN_RIGHTHAND_ICON
lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi'
righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi'
mob_overlay_icon = null

base_icon_state = "ishotgun"
Expand Down
1 change: 1 addition & 0 deletions code/modules/projectiles/guns/energy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
desc = "A basic energy-based gun."
icon = 'icons/obj/guns/energy.dmi'
icon_state = "laser"
item_state = "spur"

muzzleflash_iconstate = "muzzle_flash_laser"
muzzle_flash_color = COLOR_SOFT_RED
Expand Down
2 changes: 0 additions & 2 deletions code/modules/projectiles/guns/energy/laser.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
name = "SL L-204 laser gun"
desc = "A basic energy-based laser gun that fires concentrated beams of light which pass through glass and thin metal."

icon_state = "laser"
item_state = "laser"
w_class = WEIGHT_CLASS_NORMAL
custom_materials = list(/datum/material/iron=2000)
ammo_type = list(/obj/item/ammo_casing/energy/lasergun)
Expand Down
8 changes: 7 additions & 1 deletion code/modules/unit_tests/_unit_tests.dm
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@
/// Use this when something shouldn't happen and is of note, but shouldn't block CI.
/// Does not mark the test as failed.
#define TEST_NOTICE(source, message) source.log_for_test((##message), "notice", __FILE__, __LINE__)
/// TEST_NOTICE but more important
#define TEST_WARNING(source, message) source.log_for_test((##message), "warning", __FILE__, __LINE__)

/// Constants indicating unit test completion status
#define UNIT_TEST_PASSED 0
Expand All @@ -70,7 +72,7 @@

#ifdef BASIC_TESTS

//#include "icons/inhands.dm"
#include "icons/inhands.dm"
#include "icons/missing_icons.dm"
#include "icons/spritesheets.dm"
#include "icons/worn_icons.dm"
Expand Down Expand Up @@ -134,6 +136,10 @@
#include "ship_outpost_placement.dm"
#endif //SHIP_PLACEMENT_TEST

#ifdef EXTRA_SHIP_TEST
#include "ship_outpost_aspawn.dm"
#endif

#include "unit_test.dm"

#undef TEST_ASSERT
Expand Down
10 changes: 4 additions & 6 deletions code/modules/unit_tests/create_and_destroy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -143,14 +143,12 @@

// Drastically lower the amount of time it takes to GC, since we don't have clients that can hold it up.
SSgarbage.collection_timeout[GC_QUEUE_CHECK] = 10 SECONDS
//Prevent the garbage subsystem from harddeling anything, if only to save time
SSgarbage.collection_timeout[GC_QUEUE_HARDDELETE] = 10000 HOURS
//Clear it, just in case
cached_contents.Cut()

var/list/queues_we_care_about = list()
// All up to harddel
for(var/i in 1 to GC_QUEUE_HARDDELETE - 1)
// All of em, I want hard deletes too, since we rely on the debug info from them
for(var/i in 1 to GC_QUEUE_HARDDELETE)
queues_we_care_about += i

//Now that we've qdel'd everything, let's sleep until the gc has processed all the shit we care about
Expand All @@ -160,6 +158,7 @@
time_needed += SSgarbage.collection_timeout[index]

var/start_time = world.time
var/real_start_time = REALTIMEOFDAY
var/garbage_queue_processed = FALSE

sleep(time_needed)
Expand All @@ -181,7 +180,7 @@
garbage_queue_processed = TRUE
break

if(world.time > start_time + time_needed + 30 MINUTES) //If this gets us gitbanned I'm going to laugh so hard
if(REALTIMEOFDAY > real_start_time + time_needed + 30 MINUTES) //If this gets us gitbanned I'm going to laugh so hard
TEST_FAIL("Something has gone horribly wrong, the garbage queue has been processing for well over 30 minutes. What the hell did you do")
break

Expand Down Expand Up @@ -214,4 +213,3 @@
SSticker.delay_end = FALSE
//This shouldn't be needed, but let's be polite
SSgarbage.collection_timeout[GC_QUEUE_CHECK] = GC_CHECK_QUEUE
SSgarbage.collection_timeout[GC_QUEUE_HARDDELETE] = GC_DEL_QUEUE
6 changes: 3 additions & 3 deletions code/modules/unit_tests/icons/inhands.dm
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
match_message += (match_message ? " & '[file_place]'" : " - Matching sprite found in: '[file_place]'")

if(!(skip_left || skip_right) && !lefthand_file && !righthand_file)
TEST_FAIL("Missing both icon files for [item_path].\n\titem_state = \"[item_state]\"[match_message]")
TEST_NOTICE(src, "Missing both icon files for [item_path].\n\titem_state = \"[item_state]\"[match_message]")
continue

var/missing_left
Expand All @@ -80,7 +80,7 @@
if(!match_message && right_fallback && left_fallback)
fallback_log_message += "\n\t[item_path] has invalid value, using fallback icon.\n\titem_state = \"[item_state]\""
continue
TEST_FAIL("Missing inhand sprites for [item_path] in both '[lefthand_file]' & '[righthand_file]'.\n\titem_state = \"[item_state]\"[match_message]")
TEST_NOTICE(src, "Missing inhand sprites for [item_path] in both '[lefthand_file]' & '[righthand_file]'.\n\titem_state = \"[item_state]\"[match_message]")

Check notice on line 83 in code/modules/unit_tests/icons/inhands.dm

View workflow job for this annotation

GitHub Actions / Integration Tests (BASIC_TESTS) / run_integration_tests

: /datum/unit_test/defined_item_states

Missing inhand sprites for /obj/item/gun/energy/e_gun/turret in both 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' & 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi'. item_state = "turretlaser"

Check notice on line 83 in code/modules/unit_tests/icons/inhands.dm

View workflow job for this annotation

GitHub Actions / Integration Tests (BASIC_TESTS) / run_integration_tests

: /datum/unit_test/defined_item_states

Missing inhand sprites for /obj/item/gun/energy/e_gun/hos/brazil in both 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' & 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi'. item_state = "hoslaser"

Check notice on line 83 in code/modules/unit_tests/icons/inhands.dm

View workflow job for this annotation

GitHub Actions / Integration Tests (BASIC_TESTS) / run_integration_tests

: /datum/unit_test/defined_item_states

Missing inhand sprites for /obj/item/gun/energy/e_gun/hos/brazil/true in both 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' & 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi'. item_state = "hoslaser"

Check notice on line 83 in code/modules/unit_tests/icons/inhands.dm

View workflow job for this annotation

GitHub Actions / Integration Tests (BASIC_TESTS) / run_integration_tests

: /datum/unit_test/defined_item_states

Missing inhand sprites for /obj/item/gun/energy/e_gun/nuclear in both 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' & 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi'. item_state = "nucgun"

Check notice on line 83 in code/modules/unit_tests/icons/inhands.dm

View workflow job for this annotation

GitHub Actions / Integration Tests (BASIC_TESTS) / run_integration_tests

: /datum/unit_test/defined_item_states

Missing inhand sprites for /obj/item/gun/energy/e_gun/advtaser/mounted in both 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' & 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi'. item_state = "armcannonstun4"

Check notice on line 83 in code/modules/unit_tests/icons/inhands.dm

View workflow job for this annotation

GitHub Actions / Integration Tests (BASIC_TESTS) / run_integration_tests

: /datum/unit_test/defined_item_states

Missing inhand sprites for /obj/item/gun/energy/shrink_ray in both 'icons/mob/inhands/weapons/guns_lefthand.dmi' & 'icons/mob/inhands/weapons/guns_righthand.dmi'. item_state = "shrink_ray"

Check notice on line 83 in code/modules/unit_tests/icons/inhands.dm

View workflow job for this annotation

GitHub Actions / Integration Tests (BASIC_TESTS) / run_integration_tests

: /datum/unit_test/defined_item_states

Missing inhand sprites for /obj/item/gun/energy/laser/retro in both 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' & 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi'. item_state = "spur"

Check notice on line 83 in code/modules/unit_tests/icons/inhands.dm

View workflow job for this annotation

GitHub Actions / Integration Tests (BASIC_TESTS) / run_integration_tests

: /datum/unit_test/defined_item_states

Missing inhand sprites for /obj/item/gun/energy/laser/captain/brazil in both 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' & 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi'. item_state = "caplaser"

Check notice on line 83 in code/modules/unit_tests/icons/inhands.dm

View workflow job for this annotation

GitHub Actions / Integration Tests (BASIC_TESTS) / run_integration_tests

: /datum/unit_test/defined_item_states

Missing inhand sprites for /obj/item/gun/energy/laser/e10 in both 'icons/obj/guns/manufacturer/eoehoma/lefthand.dmi' & 'icons/obj/guns/manufacturer/eoehoma/righthand.dmi'. item_state = "spur"

Check notice on line 83 in code/modules/unit_tests/icons/inhands.dm

View workflow job for this annotation

GitHub Actions / Integration Tests (BASIC_TESTS) / run_integration_tests

: /datum/unit_test/defined_item_states

Missing inhand sprites for /obj/item/gun/energy/lasercannon in both 'icons/mob/inhands/weapons/guns_lefthand.dmi' & 'icons/mob/inhands/weapons/guns_righthand.dmi'. item_state = "laser"
else if(missing_left)
TEST_FAIL("Missing left inhand sprite for [item_path] in '[lefthand_file]'[left_fallback ? ", using fallback icon" : null].\n\titem_state = \"[item_state]\"[match_message]")
else if(missing_right)
Expand All @@ -90,5 +90,5 @@
TEST_FAIL("Invalid item_state values should be set to null if there isn't a valid icon.[fallback_log_message]")

if(unset_inhand_var_message)
log_test("\tNotice - Possible inhand icon matches found. It is best to be explicit with inhand sprite values.[unset_inhand_var_message]")
TEST_NOTICE(src, "Possible inhand icon matches found. It is best to be explicit with inhand sprite values.[unset_inhand_var_message]")

Loading
Loading