Skip to content

EMCC compatibility fixes. #571

EMCC compatibility fixes.

EMCC compatibility fixes. #571

Workflow file for this run

---
name: Test
env:
TEST_PATH: tests
TEST_SKIP: ${{ secrets.MT5_LOGIN == '' }}
# yamllint disable-line rule:truthy
on:
pull_request:
paths:
- '**.h'
- '*.mq?'
- '**.mq?'
- '**/*.mq?'
- '.github/workflows/test.yml'
push:
paths:
- '**.h'
- '*.mq?'
- '**.mq?'
- '**/*.mq?'
- '.github/workflows/test.yml'
jobs:
compile:
name: Compile
uses: ./.github/workflows/compile-mql.yml
with:
artifact_prefix: mt
path: tests
skip_cleanup: true
test:
defaults:
run:
shell: bash
working-directory: ${{ env.TEST_PATH }}
name: Test
needs: compile
runs-on: ubuntu-latest
strategy:
matrix:
test:
- EATest
- MailTest
- MarketTest
- SummaryReportTest
- TradeTest
year: [2022, 2024]
version: [5]
max-parallel: 4
steps:
- uses: actions/download-artifact@v4
with:
name: files-ex${{ matrix.version }}
- name: List compiled files
run: find . -name '*.ex?' -type f -print
- if: ${{ env.TEST_SKIP != true && env.TEST_SKIP != 'true' }}
name: Run ${{ matrix.test }}
uses: fx31337/mql-tester-action@master
with:
Login: ${{ secrets.MT5_LOGIN }}
Password: ${{ secrets.MT5_PASSWORD }}
Server: MetaQuotes-Demo
TestDeposit: 2000
TestExpert: ${{ matrix.test }}
TestFromDate: ${{ matrix.year }}.01.01
TestPeriod: M1
TestSymbol: EURUSD
TestToDate: ${{ matrix.year }}.01.14
# yamllint disable-line rule:line-length
UrlExpert: file://${{ github.workspace }}/${{ env.TEST_PATH }}/${{ matrix.test }}.ex${{ matrix.version }}
Version: 5
RunnerTimeout: 1200
- if: ${{ failure() && runner.debug == '1' }}
uses: mxschmitt/action-tmate@v3
timeout-minutes: 20
Scripts-MQL4:
defaults:
run:
shell: bash
working-directory: ${{ env.TEST_PATH }}
if: false
needs: compile
runs-on: ubuntu-latest
strategy:
matrix:
test:
- ConfigTest
- ConvertTest
- LogTest
- MD5Test
- ProfilerTest
- RefsTest
- TimerTest
steps:
- uses: actions/download-artifact@v2
with:
name: files-ex4
- name: Run ${{ matrix.test }}
uses: fx31337/mql-tester-action@master
with:
Script: ${{ matrix.test }}
if: always()
timeout-minutes: 10
cleanup:
if: inputs.skip_cleanup != true
name: Clean-up
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: geekyeggo/delete-artifact@v5
with:
name: mt?
timeout-minutes: 5