BeepIsla / CSGO-Overwatch-Bot

Automatically solve CSGO Overwatch cases
GNU Affero General Public License v3.0
186 stars 41 forks source link

[SUGGESTION] Auto Tests #161

Open BlackYuzia opened 4 years ago

BlackYuzia commented 4 years ago

@BeepIsla

What about auto tests? Sometimes we change something (for example we broke aimbot and AA)

We can broke anything and would miss this. So, how about use 1-5 demos with legit, rage, no cheats guys and create auto tests for all of this situations and players?

For example:

  1. Tests for Aimbot
    • Rage (expect - detect as cheater)
    • Legit (expect - do not detect as cheater)
    • No Cheats (expect - do not detect as cheater)
  2. Tests for AA
    • Rage (expect - detect as cheater)
    • Legit (expect - do not detect as cheater)
    • No Cheats (expect - do not detect as cheater) // etc ...

Also auto tests start when you/we push anything in to master. If tests has been failed - revert to latest stable build (or something like this)

KillaBoi commented 4 years ago

Maybe by implementation of CI (CircleCI or Travis or another option) with a test demo or a few test demos which gets automatically triggered upon a change so that the tests are done before you merge a PR?

BeepIsla commented 4 years ago

I wanted to do this but I didn't want to upload a whole ass demo or more to Github

BlackYuzia commented 4 years ago

@BeepIsla we have any else analogs for do some tests without upload demos in to repo?

KillaBoi commented 3 years ago

I'm pretty sure you're able to download the demo from a 3rd party service whilst it's running in CI, you'd only need to run force.js with the demo and steamid64 right?

BeepIsla commented 3 years ago

Downloading from some online file storage isn't the problem, I just want to try and avoid that if possible. If I can't think of any other solution then I will just go with that.

BlackYuzia commented 3 years ago

I saw idea from repo demofile for add links of demo in to .sh file. https://github.com/saul/demofile/blob/92b621e5a38268a2cc537ac3e806a1cb46d68a81/demos/download.sh#L8-L9

He download demo on tests, check hash of demo(s) and etc ...

KillaBoi commented 3 years ago

I saw idea from repo demofile for add links of demo in to .sh file. https://github.com/saul/demofile/blob/92b621e5a38268a2cc537ac3e806a1cb46d68a81/demos/download.sh#L8-L9

He download demo on tests, check hash of demo(s) and etc ...

That's the same idea I had, but we'd have to host it on some online file storage area and that's something Beepisla is trying to avoid but I think that would only be the best way possible...

BeepIsla commented 3 years ago

I decided to just go for downloads from a server a few weeks ago, I just haven't gotten around to implementing anything. I also need demos with various different cheats and maybe legit demos too.

Suspectxyzz commented 3 years ago

I decided to just go for downloads from a server a few weeks ago, I just haven't gotten around to implementing anything. I also need demos with various different cheats and maybe legit demos too.

I can help you :) <33

BeepIsla commented 3 years ago

Just get MM demos, Wingman demos, or self-recorded GOTV demos, and send them here, with suspect SteamID and the 4 Overwatch options: Aimbot, Wallhack, Other, Griefing.

BeepIsla commented 3 years ago

Okay, I got it all working now to test the bot as a whole. I just need various demos, such as Aimbot only, Wallhack only, etc, then just some combinations of them and maybe some legit ones too.

KillaBoi commented 3 years ago

I'll get some demos today and link em here, been busy with COVID + Uni stuff.

Just a question, the results, I assume you want just Demofile + SteamID64 + word(s) of what the demo contains right and not a force.js value from all the demos being submitted?

KillaBoi commented 3 years ago

The demos I've provided for testing purposes are located at https://valveantiche.at/demos/ and the download URLS are just a number (eg: https://valveantiche.at/demos/1.dem, https://valveantiche.at/demos/2.dem) and the reasoning for the demos is also in the website on the table. I've disabled CloudFlare's restrictions so the downloads won't get captcha'd when you try to access the page.