Gauntlet help?

Hi there.

We need to use Guantlet in a project. We managed to have some batch scripts for stating a build, and running that build after many tries and checking the Automation c# project source.

However, we are still stuck. We found the ElementalDemo.cs example, but we don’t get where that sort of code should be placed in your project and how to make it run. Right now executing the test in a command line will say that the Test Name we introduce it’s not part of the Assemblies, which makes sense but… how to add it?

We are definitely lost in this, how to add that c# file to a project and compile it to an assembly? How to add tests in c++?

Thanks in advance!

I think Documentation was added just Yesterday -> Gauntlet Automation Framework | Unreal Engine Documentation

It looks similar to what it was there before (I’d say the same?), but I still don’t get it :frowning:

There are 2 pages up right now about Gauntlet, but there might as well be nothing.

One of them is an example of how to run an existing Gauntlet test against an example project; but the location of the project in the documentation is wrong (It’s under the “Learn” tab of the marketplace in case anyone reading this is still trying to find it; it took me a day). I managed to get the ElementalDemoTest example running against ElementalDemo sample project, but there is no information about where or how to extend or add more Gauntlet automation. I tried straight up copying the ElementalDemoTest.cs file to my project and changing the class name, and still have no idea how to get Gauntlet to find/run it.

The other page is an overview of the main classes that make up the framework; I find it easier to just read through the source code than look at the page, as it says very little other than the class names. I usually don’t recommend requiring people to look at source code to figure out what is happening, but this page says so little that you’re better off spending days reading through the source code for Gauntlet, and it still won’t really get you anywhere.

Trying to run

 RunUAT RunUnreal -help 

provides no output. Not even a list of the command line args.

The documentation has no examples of how to extend or customize, and has outdated/wrong references to file/project locations in something that is less than 6 months old. After a lot of digging, I saw some references in the release notes for 4.23 saying there is an example of how to customize gauntlet in the EngineTest project, but as far as I can tell, there is no EngineTest project.

This has been advertised in the release notes since 4.21, and after over a week of trying to figure out how to add one simple .cs file that opens and closes the game, I feel like I’m no further than I was before I even heard the name Gauntlet. The only way I can think of to get it to work would be to add my tests directly in the engine code and then recompile the whole thing, but we’re using a release version of the engine with a pretty strict requirement to extend the engine but not change it, and shouldn’t be required to rebuild the engine every time we want to add a simple test file.

EngineTest is a project available to people that have Epic Perforce access.

If you have complied, cooked, and staged a game project (using .pak files) for Win64, you can run Gauntlet on the project using the following commandline:

RunUAT RunUnreal -Project=MyGame -Platform=Win64 -Configuration=Development -Build=local -ClientExecCmds=“Automation RunTests Filter:Project+Filter:System;Quit”

This will run all automation tests in the “System” group and in the “Project” group. If you want to run a specific test, change the “Filter:Project+Filter:System” to the name of a test or the name of an automation test group. You can run multiple groups by placing a ‘+’ sign between them (with no spaces), like so:

RunUAT RunUnreal -Project=MyGame -Platform=Win64 -Configuration=Development -Build=local -ClientExecCmds=“Automation RunTests System.Core.Math+System.Core.String;Quit”

You can run the Test or Shipping build of a game by changing the -Configuration= argument to -Configuration=Test or -Configuration=Shipping.

How does one get Epic Perforce access?

I wrote a tutorial on this: Gauntlet Automated Testing and Performance Metrics in UE4

Hey @GlassBeaver , that’s awesome, thanks for sharing! I bookmarked it in my important resources folder :smiley: