mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-12-27 12:54:00 -05:00
JBOF: Just a Bunch of Fixes (#3957)
- Renames orphancompiler.py script to propscheck.py, the name fits better - Fixes Go props to make them easier to maintain - Alphabetically sorts some listings in the code - Adds tests to the props checker script (No idea how to integrate those so it's manual for now) - Adds 2 missing limit cases for Motd filtering
This commit is contained in:
committed by
GitHub
parent
33f2f28c57
commit
16b176235a
2
.github/workflows/test-and-deploy.yml
vendored
2
.github/workflows/test-and-deploy.yml
vendored
@@ -22,7 +22,7 @@ jobs:
|
||||
npm run lint-check
|
||||
npm run ci-test
|
||||
npm run ts-check
|
||||
python3 ./etc/scripts/util/orphancompiler.py
|
||||
python3 ./etc/scripts/util/propscheck.py
|
||||
- name: Code coverage
|
||||
run: npm run codecov
|
||||
|
||||
|
||||
@@ -4,4 +4,4 @@
|
||||
make prereqs
|
||||
npx lint-staged
|
||||
npm run test
|
||||
python3 ./etc/scripts/util/orphancompiler.py
|
||||
python3 ./etc/scripts/util/propscheck.py
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
compilers=&gccgo:&gl:&cross
|
||||
defaultCompiler=gl1190
|
||||
objdumper=/opt/compiler-explorer/gcc-12.1.0/bin/objdump
|
||||
|
||||
compilers=&gccgo:&gl:&cross:&armgl:&mipsgl:&ppcgl:&riscvgl:&s390xgl:&wasmgl
|
||||
|
||||
group.gccgo.compilers=gccgo494:gccgo630:gccgo720:gccgo830:gccgo930:gccgo950:gccgo102:gccgo111:gccgo112:gccgo113:gccgo121
|
||||
group.gccgo.isSemVer=true
|
||||
group.gccgo.baseName=x86 gccgo
|
||||
@@ -31,13 +30,19 @@ compiler.gccgo113.semver=11.3.0
|
||||
compiler.gccgo121.exe=/opt/compiler-explorer/gcc-12.1.0/bin/gccgo
|
||||
compiler.gccgo121.semver=12.1.0
|
||||
|
||||
group.gl.compilers=6g141:gl172:gl185:gl187:gl192:gl194:gl1100:gl1101:gl1110:gl1120:gl1130:gl1140:386_gl114:gl1150:386_gl115:gl1160:386_gl116:gl1170:386_gl117:gl1180:386_gl118:gl1190:386_gl119:gltip:386_gltip
|
||||
|
||||
group.gl.compilers=&x86gl:&armgl:&mipsgl:&ppcgl:&riscvgl:&s390xgl:&wasmgl
|
||||
group.gl.versionFlag=version
|
||||
group.gl.compilerType=golang
|
||||
group.gl.compilerName=GoLang
|
||||
group.gl.isSemVer=true
|
||||
group.gl.baseName=amd64 gc
|
||||
group.gl.groupName=x86 GC
|
||||
|
||||
###### x86 GC ######
|
||||
group.x86gl.compilers=&amd64gl:&386gl
|
||||
group.x86gl.groupName=x86 GC
|
||||
|
||||
group.amd64gl.compilers=6g141:gl172:gl185:gl187:gl192:gl194:gl1100:gl1101:gl1110:gl1120:gl1130:gl1140:gl1150:gl1160:gl1170:gl1180:gl1190:gltip
|
||||
group.amd64gl.baseName=amd64 gc
|
||||
|
||||
compiler.6g141.exe=/opt/compiler-explorer/golang-1.4.1/go/bin/go
|
||||
compiler.6g141.semver=1.4.1
|
||||
compiler.6g141.goroot=/opt/compiler-explorer/golang-1.4.1/go
|
||||
@@ -91,402 +96,277 @@ compiler.gl1180.goroot=/opt/compiler-explorer/golang-1.18/go
|
||||
compiler.gl1190.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.gl1190.semver=1.19
|
||||
compiler.gl1190.goroot=/opt/compiler-explorer/golang-1.19/go
|
||||
compiler.386_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.386_gl114.semver=1.14
|
||||
compiler.386_gl114.goarch=386
|
||||
compiler.386_gl114.baseName=386 gc
|
||||
compiler.386_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.386_gl115.semver=1.15
|
||||
compiler.386_gl115.goarch=386
|
||||
compiler.386_gl115.baseName=386 gc
|
||||
compiler.386_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.386_gl116.semver=1.16
|
||||
compiler.386_gl116.goarch=386
|
||||
compiler.386_gl116.baseName=386 gc
|
||||
compiler.386_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.386_gl117.semver=1.17
|
||||
compiler.386_gl117.goarch=386
|
||||
compiler.386_gl117.baseName=386 gc
|
||||
compiler.386_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.386_gl118.semver=1.18
|
||||
compiler.386_gl118.goarch=386
|
||||
compiler.386_gl118.baseName=386 gc
|
||||
compiler.386_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.386_gl119.semver=1.19
|
||||
compiler.386_gl119.goarch=386
|
||||
compiler.386_gl119.baseName=386 gc
|
||||
compiler.gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.gltip.semver=(tip)
|
||||
compiler.gltip.goroot=/opt/compiler-explorer/go-tip
|
||||
|
||||
group.386gl.compilers=386_gl114:386_gl115:386_gl116:386_gl117:386_gl118:386_gl119:386_gltip
|
||||
group.386gl.baseName=386 gc
|
||||
group.386gl.groupName=x86 GC
|
||||
group.386gl.goarch=386
|
||||
|
||||
compiler.386_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.386_gl114.semver=1.14
|
||||
compiler.386_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.386_gl115.semver=1.15
|
||||
compiler.386_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.386_gl116.semver=1.16
|
||||
compiler.386_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.386_gl117.semver=1.17
|
||||
compiler.386_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.386_gl118.semver=1.18
|
||||
compiler.386_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.386_gl119.semver=1.19
|
||||
compiler.386_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.386_gltip.semver=(tip)
|
||||
compiler.386_gltip.goarch=386
|
||||
compiler.386_gltip.baseName=386 gc
|
||||
|
||||
group.armgl.compilers=arm_gl114:arm_gl115:arm_gl116:arm_gl117:arm_gl118:arm_gl119:arm_gltip:arm64_gl114:arm64_gl115:arm64_gl116:arm64_gl117:arm64_gl118:arm64_gl119:arm64_gltip
|
||||
group.armgl.versionFlag=version
|
||||
group.armgl.compilerType=golang
|
||||
group.armgl.supportsBinary=false
|
||||
group.armgl.compilerName=GoLang
|
||||
group.armgl.isSemVer=true
|
||||
|
||||
###### ARM GC ######
|
||||
group.armgl.compilers=&arm32gl:&arm64gl
|
||||
group.armgl.groupName=GC ARM
|
||||
group.armgl.supportsBinary=false
|
||||
|
||||
group.arm32gl.compilers=arm_gl114:arm_gl115:arm_gl116:arm_gl117:arm_gl118:arm_gl119:arm_gltip
|
||||
group.arm32gl.baseName=ARM gc
|
||||
group.arm32gl.goarch=arm
|
||||
|
||||
compiler.arm_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.arm_gl114.semver=1.14
|
||||
compiler.arm_gl114.goarch=arm
|
||||
compiler.arm_gl114.name=ARM gc 1.14
|
||||
compiler.arm_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.arm_gl115.semver=1.15
|
||||
compiler.arm_gl115.goarch=arm
|
||||
compiler.arm_gl115.name=ARM gc 1.15
|
||||
compiler.arm_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.arm_gl116.semver=1.16
|
||||
compiler.arm_gl116.goarch=arm
|
||||
compiler.arm_gl116.name=ARM gc 1.16
|
||||
compiler.arm_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.arm_gl117.semver=1.17
|
||||
compiler.arm_gl117.goarch=arm
|
||||
compiler.arm_gl117.name=ARM gc 1.17
|
||||
compiler.arm_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.arm_gl118.semver=1.18
|
||||
compiler.arm_gl118.goarch=arm
|
||||
compiler.arm_gl118.name=ARM gc 1.18
|
||||
compiler.arm_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.arm_gl119.semver=1.19
|
||||
compiler.arm_gl119.goarch=arm
|
||||
compiler.arm_gl119.name=ARM gc 1.19
|
||||
compiler.arm_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.arm_gltip.semver=(tip)
|
||||
compiler.arm_gltip.goarch=arm
|
||||
compiler.arm_gltip.name=ARM gc (tip)
|
||||
|
||||
group.arm64gl.compilers=arm64_gl114:arm64_gl115:arm64_gl116:arm64_gl117:arm64_gl118:arm64_gl119:arm64_gltip
|
||||
group.arm64gl.baseName=ARM64 gc
|
||||
group.arm64gl.goarch=arm64
|
||||
|
||||
compiler.arm64_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.arm64_gl114.semver=1.14
|
||||
compiler.arm64_gl114.goarch=arm64
|
||||
compiler.arm64_gl114.name=ARM64 gc 1.14
|
||||
compiler.arm64_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.arm64_gl115.semver=1.15
|
||||
compiler.arm64_gl115.goarch=arm64
|
||||
compiler.arm64_gl115.name=ARM64 gc 1.15
|
||||
compiler.arm64_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.arm64_gl116.semver=1.16
|
||||
compiler.arm64_gl116.goarch=arm64
|
||||
compiler.arm64_gl116.name=ARM64 gc 1.16
|
||||
compiler.arm64_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.arm64_gl117.semver=1.17
|
||||
compiler.arm64_gl117.goarch=arm64
|
||||
compiler.arm64_gl117.name=ARM64 gc 1.17
|
||||
compiler.arm64_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.arm64_gl118.semver=1.18
|
||||
compiler.arm64_gl118.goarch=arm64
|
||||
compiler.arm64_gl118.name=ARM64 gc 1.18
|
||||
compiler.arm64_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.arm64_gl119.semver=1.19
|
||||
compiler.arm64_gl119.goarch=arm64
|
||||
compiler.arm64_gl119.name=ARM64 gc 1.19
|
||||
compiler.arm64_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.arm64_gltip.semver=(tip)
|
||||
compiler.arm64_gltip.goarch=arm64
|
||||
compiler.arm64_gltip.name=ARM64 gc (tip)
|
||||
|
||||
group.mipsgl.compilers=mips_gl114:mips_gltip:mips64_gl114:mips_gl115:mips64_gl115:mips_gl116:mips64_gl116:mips_gl117:mips64_gl117:mips_gl118:mips_gl119:mips64_gl118:mips64_gl119:mips64_gltip:mips64le_gl114:mips64le_gl115:mips64le_gl116:mips64le_gl117:mips64le_gl118:mips64le_gl119:mips64le_gltip:mipsle_gl114:mipsle_gl115:mipsle_gl116:mipsle_gl117:mipsle_gl118:mipsle_gl119:mipsle_gltip
|
||||
group.mipsgl.versionFlag=version
|
||||
group.mipsgl.compilerType=golang
|
||||
|
||||
###### MIPS GC ######
|
||||
group.mipsgl.compilers=&mips32gl:&mips64gl
|
||||
group.mipsgl.supportsBinary=false
|
||||
group.mipsgl.compilerName=GoLang
|
||||
group.mipsgl.isSemVer=true
|
||||
group.mipsgl.groupName=GC MIPS
|
||||
compiler.mips_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.mips_gl114.semver=1.14
|
||||
compiler.mips_gl114.goarch=mips
|
||||
compiler.mips_gl114.name=MIPS gc 1.14
|
||||
compiler.mips_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.mips_gl115.semver=1.15
|
||||
compiler.mips_gl115.goarch=mips
|
||||
compiler.mips_gl115.name=MIPS gc 1.15
|
||||
compiler.mips_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.mips_gl116.semver=1.16
|
||||
compiler.mips_gl116.goarch=mips
|
||||
compiler.mips_gl116.name=MIPS gc 1.16
|
||||
compiler.mips_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.mips_gl117.semver=1.17
|
||||
compiler.mips_gl117.goarch=mips
|
||||
compiler.mips_gl117.name=MIPS gc 1.17
|
||||
compiler.mips_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.mips_gl118.semver=1.18
|
||||
compiler.mips_gl118.goarch=mips
|
||||
compiler.mips_gl118.name=MIPS gc 1.18
|
||||
compiler.mips_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.mips_gl119.semver=1.19
|
||||
compiler.mips_gl119.goarch=mips
|
||||
compiler.mips_gl119.name=MIPS gc 1.19
|
||||
compiler.mips_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.mips_gltip.semver=(tip)
|
||||
compiler.mips_gltip.goarch=mips
|
||||
compiler.mips_gltip.name=MIPS gc (tip)
|
||||
compiler.mips64_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.mips64_gl114.semver=1.14
|
||||
compiler.mips64_gl114.goarch=mips64
|
||||
compiler.mips64_gl114.name=MIPS64 gc 1.14
|
||||
compiler.mips64_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.mips64_gl115.semver=1.15
|
||||
compiler.mips64_gl115.goarch=mips64
|
||||
compiler.mips64_gl115.name=MIPS64 gc 1.15
|
||||
compiler.mips64_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.mips64_gl116.semver=1.16
|
||||
compiler.mips64_gl116.goarch=mips64
|
||||
compiler.mips64_gl116.name=MIPS64 gc 1.16
|
||||
compiler.mips64_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.mips64_gl117.semver=1.17
|
||||
compiler.mips64_gl117.goarch=mips64
|
||||
compiler.mips64_gl117.name=MIPS64 gc 1.17
|
||||
compiler.mips64_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.mips64_gl118.semver=1.18
|
||||
compiler.mips64_gl118.goarch=mips64
|
||||
compiler.mips64_gl118.name=MIPS64 gc 1.18
|
||||
compiler.mips64_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.mips64_gl119.semver=1.19
|
||||
compiler.mips64_gl119.goarch=mips64
|
||||
compiler.mips64_gl119.name=MIPS64 gc 1.19
|
||||
compiler.mips64_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.mips64_gltip.semver=(tip)
|
||||
compiler.mips64_gltip.goarch=mips64
|
||||
compiler.mips64_gltip.name=MIPS64 gc (tip)
|
||||
compiler.mips64le_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.mips64le_gl114.semver=1.14
|
||||
compiler.mips64le_gl114.goarch=mips64le
|
||||
compiler.mips64le_gl114.name=MIPS64LE gc 1.14
|
||||
compiler.mips64le_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.mips64le_gl115.semver=1.15
|
||||
compiler.mips64le_gl115.goarch=mips64le
|
||||
compiler.mips64le_gl115.name=MIPS64LE gc 1.15
|
||||
compiler.mips64le_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.mips64le_gl116.semver=1.16
|
||||
compiler.mips64le_gl116.goarch=mips64le
|
||||
compiler.mips64le_gl116.name=MIPS64LE gc 1.16
|
||||
compiler.mips64le_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.mips64le_gl117.semver=1.17
|
||||
compiler.mips64le_gl117.goarch=mips64le
|
||||
compiler.mips64le_gl117.name=MIPS64LE gc 1.17
|
||||
compiler.mips64le_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.mips64le_gl118.semver=1.18
|
||||
compiler.mips64le_gl118.goarch=mips64le
|
||||
compiler.mips64le_gl118.name=MIPS64LE gc 1.18
|
||||
compiler.mips64le_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.mips64le_gl119.semver=1.19
|
||||
compiler.mips64le_gl119.goarch=mips64le
|
||||
compiler.mips64le_gl119.name=MIPS64LE gc 1.19
|
||||
compiler.mips64le_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.mips64le_gltip.semver=(tip)
|
||||
compiler.mips64le_gltip.goarch=mips64le
|
||||
compiler.mips64le_gltip.name=MIPS64LE gc (tip)
|
||||
|
||||
group.mips32gl.compilers=&mips32legl:&mips32begl
|
||||
|
||||
group.mips32legl.compilers=mipsle_gl114:mipsle_gl115:mipsle_gl116:mipsle_gl117:mipsle_gl118:mipsle_gl119:mipsle_gltip
|
||||
group.mips32legl.goarch=mipsle
|
||||
group.mips32legl.baseName=MIPSLE gc
|
||||
|
||||
compiler.mipsle_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.mipsle_gl114.semver=1.14
|
||||
compiler.mipsle_gl114.goarch=mipsle
|
||||
compiler.mipsle_gl114.name=MIPSLE gc 1.14
|
||||
compiler.mipsle_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.mipsle_gl115.semver=1.15
|
||||
compiler.mipsle_gl115.goarch=mipsle
|
||||
compiler.mipsle_gl115.name=MIPSLE gc 1.15
|
||||
compiler.mipsle_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.mipsle_gl116.semver=1.16
|
||||
compiler.mipsle_gl116.goarch=mipsle
|
||||
compiler.mipsle_gl116.name=MIPSLE gc 1.16
|
||||
compiler.mipsle_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.mipsle_gl117.semver=1.17
|
||||
compiler.mipsle_gl117.goarch=mipsle
|
||||
compiler.mipsle_gl117.name=MIPSLE gc 1.17
|
||||
compiler.mipsle_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.mipsle_gl118.semver=1.18
|
||||
compiler.mipsle_gl118.goarch=mipsle
|
||||
compiler.mipsle_gl118.name=MIPSLE gc 1.18
|
||||
compiler.mipsle_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.mipsle_gl119.semver=1.19
|
||||
compiler.mipsle_gl119.goarch=mipsle
|
||||
compiler.mipsle_gl119.name=MIPSLE gc 1.19
|
||||
compiler.mipsle_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.mipsle_gltip.semver=(tip)
|
||||
compiler.mipsle_gltip.goarch=mipsle
|
||||
compiler.mipsle_gltip.name=MIPSLE gc (tip)
|
||||
|
||||
group.ppcgl.compilers=ppc64_gl114:ppc64_gl115:ppc64_gl116:ppc64_gl117:ppc64_gl118:ppc64_gl119:ppc64_gltip:ppc64le_gl114:ppc64le_gl115:ppc64le_gl116:ppc64le_gl117:ppc64le_gl118:ppc64le_gl119:ppc64le_gltip
|
||||
group.ppcgl.versionFlag=version
|
||||
group.ppcgl.compilerType=golang
|
||||
group.ppcgl.supportsBinary=false
|
||||
group.ppcgl.compilerName=GoLang
|
||||
group.ppcgl.isSemVer=true
|
||||
group.mips32begl.compilers=mips_gl114:mips_gl115:mips_gl116:mips_gl117:mips_gl118:mips_gl119:mips_gltip
|
||||
group.mips32begl.goarch=mips
|
||||
group.mips32begl.baseName=MIPS gc
|
||||
|
||||
compiler.mips_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.mips_gl114.semver=1.14
|
||||
compiler.mips_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.mips_gl115.semver=1.15
|
||||
compiler.mips_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.mips_gl116.semver=1.16
|
||||
compiler.mips_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.mips_gl117.semver=1.17
|
||||
compiler.mips_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.mips_gl118.semver=1.18
|
||||
compiler.mips_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.mips_gl119.semver=1.19
|
||||
compiler.mips_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.mips_gltip.semver=(tip)
|
||||
|
||||
|
||||
group.mips64gl.compilers=&mips64legl:&mips64begl
|
||||
|
||||
group.mips64begl.compilers=mips64_gl114:mips64_gl115:mips64_gl116:mips64_gl117:mips64_gl118:mips64_gl119:mips64_gltip
|
||||
group.mips64begl.goarch=mips64
|
||||
group.mips64begl.baseName=MIPS64 gc
|
||||
|
||||
compiler.mips64_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.mips64_gl114.semver=1.14
|
||||
compiler.mips64_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.mips64_gl115.semver=1.15
|
||||
compiler.mips64_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.mips64_gl116.semver=1.16
|
||||
compiler.mips64_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.mips64_gl117.semver=1.17
|
||||
compiler.mips64_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.mips64_gl118.semver=1.18
|
||||
compiler.mips64_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.mips64_gl119.semver=1.19
|
||||
compiler.mips64_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.mips64_gltip.semver=(tip)
|
||||
|
||||
|
||||
group.mips64legl.compilers=mips64le_gl114:mips64le_gl115:mips64le_gl116:mips64le_gl117:mips64le_gl118:mips64le_gl119:mips64le_gltip
|
||||
group.mips64legl.goarch=mips64le
|
||||
group.mips64legl.baseName=MIPS64LE gc
|
||||
|
||||
compiler.mips64le_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.mips64le_gl114.semver=1.14
|
||||
compiler.mips64le_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.mips64le_gl115.semver=1.15
|
||||
compiler.mips64le_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.mips64le_gl116.semver=1.16
|
||||
compiler.mips64le_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.mips64le_gl117.semver=1.17
|
||||
compiler.mips64le_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.mips64le_gl118.semver=1.18
|
||||
compiler.mips64le_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.mips64le_gl119.semver=1.19
|
||||
compiler.mips64le_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.mips64le_gltip.semver=(tip)
|
||||
|
||||
|
||||
##### PPC GL #####
|
||||
group.ppcgl.compilers=&ppc64legl:&ppc64begl
|
||||
group.ppcgl.groupName=GC PPC
|
||||
compiler.ppc64_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.ppc64_gl114.semver=1.14
|
||||
compiler.ppc64_gl114.goarch=ppc64
|
||||
compiler.ppc64_gl114.name=PPC64 gc 1.14
|
||||
compiler.ppc64_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.ppc64_gl115.semver=1.15
|
||||
compiler.ppc64_gl115.goarch=ppc64
|
||||
compiler.ppc64_gl115.name=PPC64 gc 1.15
|
||||
compiler.ppc64_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.ppc64_gl116.semver=1.16
|
||||
compiler.ppc64_gl116.goarch=ppc64
|
||||
compiler.ppc64_gl116.name=PPC64 gc 1.16
|
||||
compiler.ppc64_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.ppc64_gl117.semver=1.17
|
||||
compiler.ppc64_gl117.goarch=ppc64
|
||||
compiler.ppc64_gl117.name=PPC64 gc 1.17
|
||||
compiler.ppc64_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.ppc64_gl118.semver=1.18
|
||||
compiler.ppc64_gl118.goarch=ppc64
|
||||
compiler.ppc64_gl118.name=PPC64 gc 1.18
|
||||
compiler.ppc64_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.ppc64_gl119.semver=1.19
|
||||
compiler.ppc64_gl119.goarch=ppc64
|
||||
compiler.ppc64_gl119.name=PPC64 gc 1.19
|
||||
compiler.ppc64_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.ppc64_gltip.semver=(tip)
|
||||
compiler.ppc64_gltip.goarch=ppc64
|
||||
compiler.ppc64_gltip.name=PPC64 gc (tip)
|
||||
group.ppcgl.supportsBinary=false
|
||||
|
||||
group.ppc64legl.compilers=ppc64le_gl114:ppc64le_gl115:ppc64le_gl116:ppc64le_gl117:ppc64le_gl118:ppc64le_gl119:ppc64le_gltip
|
||||
group.ppc64legl.goarch=ppc64le
|
||||
group.ppc64legl.baseName=PPC64LE gc
|
||||
|
||||
compiler.ppc64le_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.ppc64le_gl114.semver=1.14
|
||||
compiler.ppc64le_gl114.goarch=ppc64le
|
||||
compiler.ppc64le_gl114.name=PPC64LE gc 1.14
|
||||
compiler.ppc64le_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.ppc64le_gl115.semver=1.15
|
||||
compiler.ppc64le_gl115.goarch=ppc64le
|
||||
compiler.ppc64le_gl115.name=PPC64LE gc 1.15
|
||||
compiler.ppc64le_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.ppc64le_gl116.semver=1.16
|
||||
compiler.ppc64le_gl116.goarch=ppc64le
|
||||
compiler.ppc64le_gl116.name=PPC64LE gc 1.16
|
||||
compiler.ppc64le_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.ppc64le_gl117.semver=1.17
|
||||
compiler.ppc64le_gl117.goarch=ppc64le
|
||||
compiler.ppc64le_gl117.name=PPC64LE gc 1.17
|
||||
compiler.ppc64le_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.ppc64le_gl118.semver=1.18
|
||||
compiler.ppc64le_gl118.goarch=ppc64le
|
||||
compiler.ppc64le_gl118.name=PPC64LE gc 1.18
|
||||
compiler.ppc64le_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.ppc64le_gl119.semver=1.19
|
||||
compiler.ppc64le_gl119.goarch=ppc64le
|
||||
compiler.ppc64le_gl119.name=PPC64LE gc 1.19
|
||||
compiler.ppc64le_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.ppc64le_gltip.semver=(tip)
|
||||
compiler.ppc64le_gltip.goarch=ppc64le
|
||||
compiler.ppc64le_gltip.name=PPC64LE gc (tip)
|
||||
|
||||
|
||||
group.ppc64begl.compilers=ppc64_gl114:ppc64_gl115:ppc64_gl116:ppc64_gl117:ppc64_gl118:ppc64_gl119:ppc64_gltip
|
||||
group.ppc64begl.goarch=ppc64
|
||||
group.ppc64begl.baseName=PPC64 gc
|
||||
|
||||
compiler.ppc64_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.ppc64_gl114.semver=1.14
|
||||
compiler.ppc64_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.ppc64_gl115.semver=1.15
|
||||
compiler.ppc64_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.ppc64_gl116.semver=1.16
|
||||
compiler.ppc64_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.ppc64_gl117.semver=1.17
|
||||
compiler.ppc64_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.ppc64_gl118.semver=1.18
|
||||
compiler.ppc64_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.ppc64_gl119.semver=1.19
|
||||
compiler.ppc64_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.ppc64_gltip.semver=(tip)
|
||||
|
||||
|
||||
###### RSICV GL ######
|
||||
group.riscvgl.compilers=riscv64_gl114:riscv64_gl115:riscv64_gl116:riscv64_gl117:riscv64_gl118:riscv64_gl119:riscv64_gltip
|
||||
group.riscvgl.versionFlag=version
|
||||
group.riscvgl.compilerType=golang
|
||||
group.riscvgl.supportsBinary=false
|
||||
group.riscvgl.compilerName=GoLang
|
||||
group.riscvgl.isSemVer=true
|
||||
group.riscvgl.groupName=GC RISC-V
|
||||
group.riscvgl.baseName=RISCV64 gc
|
||||
group.riscvgl.goarch=riscv64
|
||||
|
||||
compiler.riscv64_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.riscv64_gl114.semver=1.14
|
||||
compiler.riscv64_gl114.goarch=riscv64
|
||||
compiler.riscv64_gl114.name=RISCV64 gc 1.14
|
||||
compiler.riscv64_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.riscv64_gl115.semver=1.15
|
||||
compiler.riscv64_gl115.goarch=riscv64
|
||||
compiler.riscv64_gl115.name=RISCV64 gc 1.15
|
||||
compiler.riscv64_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.riscv64_gl116.semver=1.16
|
||||
compiler.riscv64_gl116.goarch=riscv64
|
||||
compiler.riscv64_gl116.name=RISCV64 gc 1.16
|
||||
compiler.riscv64_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.riscv64_gl117.semver=1.17
|
||||
compiler.riscv64_gl117.goarch=riscv64
|
||||
compiler.riscv64_gl117.name=RISCV64 gc 1.17
|
||||
compiler.riscv64_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.riscv64_gl118.semver=1.18
|
||||
compiler.riscv64_gl118.goarch=riscv64
|
||||
compiler.riscv64_gl118.name=RISCV64 gc 1.18
|
||||
compiler.riscv64_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.riscv64_gl119.semver=1.19
|
||||
compiler.riscv64_gl119.goarch=riscv64
|
||||
compiler.riscv64_gl119.name=RISCV64 gc 1.19
|
||||
compiler.riscv64_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.riscv64_gltip.semver=(tip)
|
||||
compiler.riscv64_gltip.goarch=riscv64
|
||||
compiler.riscv64_gltip.name=RISCV64 gc (tip)
|
||||
|
||||
|
||||
##### s390x GL ######
|
||||
group.s390xgl.compilers=s390x_gl114:s390x_gl115:s390x_gl116:s390x_gl117:s390x_gl118:s390x_gl119:s390x_gltip
|
||||
group.s390xgl.versionFlag=version
|
||||
group.s390xgl.compilerType=golang
|
||||
group.s390xgl.supportsBinary=false
|
||||
group.s390xgl.compilerName=GoLang
|
||||
group.s390xgl.isSemVer=true
|
||||
group.s390xgl.goarch=s390x
|
||||
group.s390xgl.baseName=S390X gc
|
||||
group.s390xgl.groupName=GC S390X
|
||||
|
||||
compiler.s390x_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.s390x_gl114.semver=1.14
|
||||
compiler.s390x_gl114.goarch=s390x
|
||||
compiler.s390x_gl114.name=S390X gc 1.14
|
||||
compiler.s390x_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.s390x_gl115.semver=1.15
|
||||
compiler.s390x_gl115.goarch=s390x
|
||||
compiler.s390x_gl115.name=S390X gc 1.15
|
||||
compiler.s390x_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.s390x_gl116.semver=1.16
|
||||
compiler.s390x_gl116.goarch=s390x
|
||||
compiler.s390x_gl116.name=S390X gc 1.16
|
||||
compiler.s390x_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.s390x_gl117.semver=1.17
|
||||
compiler.s390x_gl117.goarch=s390x
|
||||
compiler.s390x_gl117.name=S390X gc 1.17
|
||||
compiler.s390x_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.s390x_gl118.semver=1.18
|
||||
compiler.s390x_gl118.goarch=s390x
|
||||
compiler.s390x_gl118.name=S390X gc 1.18
|
||||
compiler.s390x_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.s390x_gl119.semver=1.19
|
||||
compiler.s390x_gl119.goarch=s390x
|
||||
compiler.s390x_gl119.name=S390X gc 1.19
|
||||
compiler.s390x_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.s390x_gltip.semver=(tip)
|
||||
compiler.s390x_gltip.goarch=s390x
|
||||
compiler.s390x_gltip.name=S390X gc (tip)
|
||||
|
||||
|
||||
###############################
|
||||
# WASM GO
|
||||
group.wasmgl.compilers=wasm_gl114:wasm_gl115:wasm_gl116:wasm_gl117:wasm_gl118:wasm_gl119:wasm_gltip
|
||||
group.wasmgl.versionFlag=version
|
||||
group.wasmgl.compilerType=golang
|
||||
group.wasmgl.supportsBinary=false
|
||||
group.wasmgl.compilerName=GoLang
|
||||
group.wasmgl.isSemVer=true
|
||||
group.wasmgl.groupName=GC WASM
|
||||
group.wasmgl.goarch=wasm
|
||||
group.wasmgl.goos=js
|
||||
group.wasmgl.baseName=WASM gc
|
||||
|
||||
compiler.wasm_gl114.exe=/opt/compiler-explorer/golang-1.14/go/bin/go
|
||||
compiler.wasm_gl114.semver=1.14
|
||||
compiler.wasm_gl114.goarch=wasm
|
||||
compiler.wasm_gl114.goos=js
|
||||
compiler.wasm_gl114.name=WASM gc 1.14
|
||||
compiler.wasm_gl115.exe=/opt/compiler-explorer/golang-1.15/go/bin/go
|
||||
compiler.wasm_gl115.semver=1.15
|
||||
compiler.wasm_gl115.goarch=wasm
|
||||
compiler.wasm_gl115.goos=js
|
||||
compiler.wasm_gl115.name=WASM gc 1.15
|
||||
compiler.wasm_gl116.exe=/opt/compiler-explorer/golang-1.16/go/bin/go
|
||||
compiler.wasm_gl116.semver=1.16
|
||||
compiler.wasm_gl116.goarch=wasm
|
||||
compiler.wasm_gl116.goos=js
|
||||
compiler.wasm_gl116.name=WASM gc 1.16
|
||||
compiler.wasm_gl117.exe=/opt/compiler-explorer/golang-1.17/go/bin/go
|
||||
compiler.wasm_gl117.semver=1.17
|
||||
compiler.wasm_gl117.goarch=wasm
|
||||
compiler.wasm_gl117.goos=js
|
||||
compiler.wasm_gl117.name=WASM gc 1.17
|
||||
compiler.wasm_gl118.exe=/opt/compiler-explorer/golang-1.18/go/bin/go
|
||||
compiler.wasm_gl118.semver=1.18
|
||||
compiler.wasm_gl118.goarch=wasm
|
||||
compiler.wasm_gl118.goos=js
|
||||
compiler.wasm_gl118.name=WASM gc 1.18
|
||||
compiler.wasm_gl119.exe=/opt/compiler-explorer/golang-1.19/go/bin/go
|
||||
compiler.wasm_gl119.semver=1.19
|
||||
compiler.wasm_gl119.goarch=wasm
|
||||
compiler.wasm_gl119.goos=js
|
||||
compiler.wasm_gl119.name=WASM gc 1.19
|
||||
compiler.wasm_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
|
||||
compiler.wasm_gltip.semver=(tip)
|
||||
compiler.wasm_gltip.goarch=wasm
|
||||
compiler.wasm_gltip.goos=js
|
||||
compiler.wasm_gltip.name=WASM gc (tip)
|
||||
|
||||
###############################
|
||||
# Cross GO
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
compilers=&pony
|
||||
defaultCompiler=p0511
|
||||
group.pony.isSemVer=true
|
||||
|
||||
|
||||
group.pony.compilers=ponynightly:p0332:p0341:p0351:p0360:p0370:p0383:p0391:p0400:p0412:p0420:p0432:p0440:p0452:p0460:p0470:p0480:p0491:p0500:p0511
|
||||
group.pony.compilerType=pony
|
||||
|
||||
@@ -27,6 +27,8 @@ from os import listdir
|
||||
from os.path import isfile, join
|
||||
import re
|
||||
|
||||
|
||||
PROP_RE = re.compile(r'[^#]*=.*')
|
||||
COMPILERS_LIST_RE = re.compile(r'compilers=(.*)')
|
||||
ALIAS_LIST_RE = re.compile(r'alias=(.*)')
|
||||
GROUP_NAME_RE = re.compile(r'group\.(.*?)\.')
|
||||
@@ -39,19 +41,28 @@ LIB_VERSIONS_LIST_RE = re.compile(r'libs\.(.*?)\.versions=(.*)')
|
||||
LIB_VERSION_RE = re.compile(r'libs\.(.*?)\.versions\.(.*?)\.version')
|
||||
TOOLS_LIST_RE = re.compile(r'tools=(.+)')
|
||||
TOOL_EXE_RE = re.compile(r'tools\.(.*?)\.exe')
|
||||
EMPTY_LIST_RE = re.compile(r'.*(compilers|formatters|versions|tools|alias|exclude|libPath)=.*::.*')
|
||||
DISABLED_RE = re.compile(r'^# Disabled:\s*(.*)')
|
||||
EMPTY_LIST_RE = re.compile(r'.*(compilers|formatters|versions|tools|alias|exclude|libPath)=((.*::.*)|(:.*)|(.*:))$')
|
||||
DISABLED_RE = re.compile(r'^# Disabled?:?\s*(.*)')
|
||||
|
||||
|
||||
def match_and_add(line, expr, s):
|
||||
match = expr.match(line)
|
||||
class Line:
|
||||
def __init__(self, line_number, text):
|
||||
self.number = line_number
|
||||
self.text = text.strip()
|
||||
|
||||
def __str__(self):
|
||||
return f'<{self.number}> {self.text}'
|
||||
|
||||
|
||||
def match_and_add(line: Line, expr, s):
|
||||
match = expr.match(line.text)
|
||||
if match:
|
||||
s.add(match.group(1))
|
||||
return match
|
||||
|
||||
|
||||
def match_and_update(line, expr, s, split=':'):
|
||||
match = expr.match(line)
|
||||
def match_and_update(line: Line, expr, s, split=':'):
|
||||
match = expr.match(line.text)
|
||||
if match:
|
||||
s.update(match.group(1).split(split))
|
||||
return match
|
||||
@@ -59,27 +70,54 @@ def match_and_update(line, expr, s, split=':'):
|
||||
|
||||
def process_file(file: str):
|
||||
default_compiler = set()
|
||||
|
||||
listed_groups = set()
|
||||
seen_groups = set()
|
||||
|
||||
listed_compilers = set()
|
||||
seen_compilers = set()
|
||||
|
||||
listed_formatters = set()
|
||||
seen_formatters = set()
|
||||
|
||||
listed_tools = set()
|
||||
seen_tools = set()
|
||||
|
||||
listed_libs_ids = set()
|
||||
seen_libs_ids = set()
|
||||
|
||||
listed_libs_versions = set()
|
||||
seen_libs_versions = set()
|
||||
empty_separators = set()
|
||||
disabled = set()
|
||||
with open(file) as f:
|
||||
for line in f:
|
||||
match_empty = EMPTY_LIST_RE.match(line)
|
||||
if match_empty:
|
||||
empty_separators.add(f"{line}")
|
||||
|
||||
match_compilers = COMPILERS_LIST_RE.search(line)
|
||||
empty_separators = set()
|
||||
|
||||
seen_lines = set()
|
||||
duplicate_lines = set()
|
||||
|
||||
disabled = set()
|
||||
|
||||
with open(file) as f:
|
||||
for line_number, text in enumerate(f, start=1):
|
||||
text = text.strip()
|
||||
if not text:
|
||||
continue
|
||||
line = Line(line_number, text)
|
||||
match_and_update(line, DISABLED_RE, disabled, ' ')
|
||||
|
||||
match_prop = PROP_RE.match(line.text)
|
||||
if not match_prop:
|
||||
continue
|
||||
|
||||
if line.text in seen_lines:
|
||||
duplicate_lines.add(str(line))
|
||||
else:
|
||||
seen_lines.add(line.text)
|
||||
|
||||
match_empty = EMPTY_LIST_RE.match(line.text)
|
||||
if match_empty:
|
||||
empty_separators.add(str(line))
|
||||
|
||||
match_compilers = COMPILERS_LIST_RE.search(line.text)
|
||||
if match_compilers:
|
||||
ids = match_compilers.group(1).split(':')
|
||||
for elem_id in ids:
|
||||
@@ -88,32 +126,29 @@ def process_file(file: str):
|
||||
elif '@' not in elem_id:
|
||||
listed_compilers.add(elem_id)
|
||||
|
||||
match_libs_versions = LIB_VERSIONS_LIST_RE.match(line)
|
||||
match_libs_versions = LIB_VERSIONS_LIST_RE.match(line.text)
|
||||
if match_libs_versions:
|
||||
lib_id = match_libs_versions.group(1)
|
||||
versions = match_libs_versions.group(2).split(':')
|
||||
seen_libs_ids.add(lib_id)
|
||||
listed_libs_versions.update([f"{lib_id} {v}" for v in versions])
|
||||
|
||||
match_libs_version = LIB_VERSION_RE.match(line)
|
||||
match_libs_version = LIB_VERSION_RE.match(line.text)
|
||||
if match_libs_version:
|
||||
lib_id = match_libs_version.group(1)
|
||||
version = match_libs_version.group(2)
|
||||
seen_libs_versions.add(f"{lib_id} {version}")
|
||||
|
||||
if(
|
||||
match_and_add(line, DEFAULT_COMPILER_RE, default_compiler) or
|
||||
match_and_add(line, GROUP_NAME_RE, seen_groups) or
|
||||
match_and_add(line, COMPILER_EXE_RE, seen_compilers) or
|
||||
match_and_add(line, FORMATTER_EXE_RE, seen_formatters) or
|
||||
match_and_add(line, TOOL_EXE_RE, seen_tools) or
|
||||
match_and_update(line, ALIAS_LIST_RE, seen_compilers) or
|
||||
match_and_update(line, FORMATTERS_LIST_RE, listed_formatters) or
|
||||
match_and_update(line, TOOLS_LIST_RE, listed_tools) or
|
||||
match_and_update(line, LIBS_LIST_RE, listed_libs_ids) or
|
||||
match_and_update(line, DISABLED_RE, disabled, ' ')
|
||||
):
|
||||
continue
|
||||
match_and_add(line, DEFAULT_COMPILER_RE, default_compiler)
|
||||
match_and_add(line, GROUP_NAME_RE, seen_groups)
|
||||
match_and_add(line, COMPILER_EXE_RE, seen_compilers)
|
||||
match_and_add(line, FORMATTER_EXE_RE, seen_formatters)
|
||||
match_and_add(line, TOOL_EXE_RE, seen_tools)
|
||||
match_and_update(line, ALIAS_LIST_RE, seen_compilers)
|
||||
match_and_update(line, FORMATTERS_LIST_RE, listed_formatters)
|
||||
match_and_update(line, TOOLS_LIST_RE, listed_tools)
|
||||
match_and_update(line, LIBS_LIST_RE, listed_libs_ids)
|
||||
|
||||
bad_compilers = listed_compilers.symmetric_difference(seen_compilers)
|
||||
bad_groups = listed_groups.symmetric_difference(seen_groups)
|
||||
bad_formatters = listed_formatters.symmetric_difference(seen_formatters)
|
||||
@@ -121,15 +156,18 @@ def process_file(file: str):
|
||||
bad_libs_versions = listed_libs_versions.symmetric_difference(seen_libs_versions)
|
||||
bad_tools = listed_tools.symmetric_difference(seen_tools)
|
||||
bad_default = default_compiler - listed_compilers
|
||||
return (file,
|
||||
bad_compilers - disabled,
|
||||
bad_groups - disabled,
|
||||
bad_formatters - disabled,
|
||||
bad_libs_ids - disabled,
|
||||
bad_libs_versions - disabled,
|
||||
bad_tools - disabled,
|
||||
bad_default,
|
||||
empty_separators)
|
||||
return {
|
||||
"filename": file,
|
||||
"bad_compilers": bad_compilers - disabled,
|
||||
"bad_groups": bad_groups - disabled,
|
||||
"bad_formatters": bad_formatters - disabled,
|
||||
"bad_libs_ids": bad_libs_ids - disabled,
|
||||
"bad_libs_versions": bad_libs_versions - disabled,
|
||||
"bad_tools": bad_tools - disabled,
|
||||
"bad_default": bad_default,
|
||||
"empty_separators": empty_separators,
|
||||
"duplicate_lines": duplicate_lines
|
||||
}
|
||||
|
||||
|
||||
def process_folder(folder: str):
|
||||
@@ -141,7 +179,7 @@ def process_folder(folder: str):
|
||||
|
||||
|
||||
def problems_found(file_result):
|
||||
return any([len(r) for r in file_result[1:]])
|
||||
return any([len(file_result[r]) > 0 for r in file_result if r != "filename"])
|
||||
|
||||
|
||||
def print_issue(name, result):
|
||||
@@ -151,19 +189,15 @@ def print_issue(name, result):
|
||||
|
||||
|
||||
def find_orphans(folder: str):
|
||||
result = sorted([r for r in process_folder(folder) if problems_found(r)], key=lambda x: x[0])
|
||||
result = sorted([r for r in process_folder(folder) if problems_found(r)], key=lambda x: x["filename"])
|
||||
if result:
|
||||
print(f"Found {len(result)} property file(s) with mismatching ids:")
|
||||
print(f"Found {len(result)} property file(s) with issues:")
|
||||
for r in result:
|
||||
print(r[0])
|
||||
print_issue("COMPILERS", r[1])
|
||||
print_issue("GROUPS", r[2])
|
||||
print_issue("FORMATTERS", r[3])
|
||||
print_issue("LIB IDS", r[4])
|
||||
print_issue("LIB VERSIONS", r[5])
|
||||
print_issue("TOOLS", r[6])
|
||||
print_issue("UNKNOWN DEFAULT COMPILER", r[7])
|
||||
print_issue("EMPTY LISTINGS", r[8])
|
||||
print('################')
|
||||
print(f'## {r["filename"]}')
|
||||
for k in r:
|
||||
if k != "filename":
|
||||
print_issue(k, r[k])
|
||||
print("")
|
||||
print("To suppress this warning on IDs that are temporally disabled, "
|
||||
"add one or more comments to each listed file:")
|
||||
64
etc/scripts/util/propschecktest.py
Normal file
64
etc/scripts/util/propschecktest.py
Normal file
@@ -0,0 +1,64 @@
|
||||
import unittest
|
||||
|
||||
from propscheck import process_file, Line
|
||||
|
||||
|
||||
class PropsCheckTests(unittest.TestCase):
|
||||
def run_test(self, file, expected_key, expected_contents):
|
||||
result = process_file(file)
|
||||
self.assertEqual(result[expected_key], expected_contents)
|
||||
|
||||
def test_bad_compilers(self):
|
||||
self.run_test("./test/cases/bad_compilers.properties", "bad_compilers", {"b"})
|
||||
|
||||
def test_bad_compilers_alias(self):
|
||||
self.run_test("./test/cases/bad_compilers_aliases.properties", "bad_compilers", {"c"})
|
||||
|
||||
def test_bad_compilers_disabled(self):
|
||||
self.run_test("./test/cases/bad_compilers_disabled.properties", "bad_compilers", set())
|
||||
|
||||
def test_bad_groups(self):
|
||||
self.run_test("./test/cases/bad_groups.properties", "bad_groups", {"b"})
|
||||
|
||||
def test_bad_formatters(self):
|
||||
self.run_test("./test/cases/bad_formatters.properties", "bad_formatters", {"b"})
|
||||
|
||||
def test_bad_libs_ids(self):
|
||||
self.run_test("./test/cases/bad_libs_ids.properties", "bad_libs_ids", {"b"})
|
||||
self.run_test("./test/cases/bad_libs_ids.properties", "bad_libs_versions", set())
|
||||
|
||||
def test_bad_libs_versions(self):
|
||||
self.run_test("./test/cases/bad_libs_versions.properties", "bad_libs_versions", {"a a2"})
|
||||
|
||||
def test_bad_tools(self):
|
||||
self.run_test("./test/cases/bad_tools.properties", "bad_tools", {"b"})
|
||||
|
||||
def test_bad_default(self):
|
||||
self.run_test("./test/cases/bad_default.properties", "bad_default", {"b"})
|
||||
|
||||
def test_empty_separators(self):
|
||||
self.run_test("./test/cases/empty_separators.properties", "empty_separators", {
|
||||
str(Line(1, "compilers=a::b")),
|
||||
str(Line(1, "compilers=a::b")),
|
||||
str(Line(2, "compilers=::a:b")),
|
||||
str(Line(3, "compilers=a:b::")),
|
||||
str(Line(4, "compilers=::")),
|
||||
str(Line(5, "compilers=::a")),
|
||||
str(Line(6, "compilers=a::")),
|
||||
str(Line(7, "compilers=:a")),
|
||||
str(Line(8, "compilers=a:"))
|
||||
})
|
||||
|
||||
def test_duplicate_lines(self):
|
||||
self.run_test("./test/cases/duplicate_lines.properties", "duplicate_lines",
|
||||
{str(Line(5, "duplicated.prop=true"))})
|
||||
|
||||
def test_good_file(self):
|
||||
result = process_file('../../config/c++.amazon.properties')
|
||||
for k in result:
|
||||
if k != "filename":
|
||||
self.assertEqual(result[k], set(), f"{k} has output in known good file")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
2
etc/scripts/util/test/cases/bad_compilers.properties
Normal file
2
etc/scripts/util/test/cases/bad_compilers.properties
Normal file
@@ -0,0 +1,2 @@
|
||||
compilers=a:b
|
||||
compiler.a.exe=/dev/null
|
||||
@@ -0,0 +1,3 @@
|
||||
compilers=a:c
|
||||
compiler.a.exe=/dev/null
|
||||
compiler.a.alias=b
|
||||
@@ -0,0 +1,3 @@
|
||||
compilers=a:b
|
||||
compiler.a.exe=/dev/null
|
||||
# Disable: b
|
||||
4
etc/scripts/util/test/cases/bad_default.properties
Normal file
4
etc/scripts/util/test/cases/bad_default.properties
Normal file
@@ -0,0 +1,4 @@
|
||||
defaultCompiler=b
|
||||
|
||||
compilers=a
|
||||
compiler.a.exe=/dev/null
|
||||
2
etc/scripts/util/test/cases/bad_formatters.properties
Normal file
2
etc/scripts/util/test/cases/bad_formatters.properties
Normal file
@@ -0,0 +1,2 @@
|
||||
formatters=a:b
|
||||
formatter.a.exe=/dev/null
|
||||
4
etc/scripts/util/test/cases/bad_groups.properties
Normal file
4
etc/scripts/util/test/cases/bad_groups.properties
Normal file
@@ -0,0 +1,4 @@
|
||||
compilers=&a:&b
|
||||
|
||||
group.a.compilers=a1
|
||||
compiler.a1.exe=/dev/null
|
||||
3
etc/scripts/util/test/cases/bad_libs_ids.properties
Normal file
3
etc/scripts/util/test/cases/bad_libs_ids.properties
Normal file
@@ -0,0 +1,3 @@
|
||||
libs=a:b
|
||||
libs.a.versions=a1
|
||||
libs.a.versions.a1.version=/dev/null
|
||||
3
etc/scripts/util/test/cases/bad_libs_versions.properties
Normal file
3
etc/scripts/util/test/cases/bad_libs_versions.properties
Normal file
@@ -0,0 +1,3 @@
|
||||
libs=a
|
||||
libs.a.versions=a1:a2
|
||||
libs.a.versions.a1.version=/dev/null
|
||||
3
etc/scripts/util/test/cases/bad_tools.properties
Normal file
3
etc/scripts/util/test/cases/bad_tools.properties
Normal file
@@ -0,0 +1,3 @@
|
||||
tools=a:b
|
||||
|
||||
tools.a.exe=/dev/null
|
||||
6
etc/scripts/util/test/cases/duplicate_lines.properties
Normal file
6
etc/scripts/util/test/cases/duplicate_lines.properties
Normal file
@@ -0,0 +1,6 @@
|
||||
########### A comment
|
||||
#commented.prop=true
|
||||
commented.prop=true
|
||||
duplicated.prop=true
|
||||
duplicated.prop=true
|
||||
unique.prop=true
|
||||
13
etc/scripts/util/test/cases/empty_separators.properties
Normal file
13
etc/scripts/util/test/cases/empty_separators.properties
Normal file
@@ -0,0 +1,13 @@
|
||||
compilers=a::b
|
||||
compilers=::a:b
|
||||
compilers=a:b::
|
||||
compilers=::
|
||||
compilers=::a
|
||||
compilers=a::
|
||||
compilers=:a
|
||||
compilers=a:
|
||||
compilers=a:b
|
||||
compilers=a
|
||||
|
||||
compiler.a.exe=/dev/null
|
||||
compiler.b.exe=/dev/null
|
||||
@@ -280,7 +280,7 @@ export class CompilerFinder {
|
||||
return [];
|
||||
}
|
||||
|
||||
// This seems like no longer needed with orphancompiler.py checks
|
||||
// This seems like no longer needed with propscheck.py checks
|
||||
compilerInfo.libPath = compilerInfo.libPath.split(path.delimiter).filter(p => p !== '');
|
||||
|
||||
logger.debug('Found compiler', compilerInfo);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2020, 2021, Compiler Explorer Authors
|
||||
// Copyright (c) 2021, Compiler Explorer Authors
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
@@ -25,8 +25,8 @@
|
||||
export {AdaCompiler} from './ada';
|
||||
export {AnalysisTool} from './analysis-tool';
|
||||
export {AssemblyCompiler} from './assembly';
|
||||
export {AvrGcc6502Compiler} from './avrgcc6502';
|
||||
export {BeebAsmCompiler} from './beebasm';
|
||||
export {NasmCompiler} from './nasm';
|
||||
export {CarbonCompiler} from './carbon';
|
||||
export {Cc65Compiler} from './cc65';
|
||||
export {CircleCompiler} from './circle';
|
||||
@@ -37,18 +37,19 @@ export {ClangHipCompiler} from './clang';
|
||||
export {CleanCompiler} from './clean';
|
||||
export {CprocCompiler} from './cproc';
|
||||
export {CrystalCompiler} from './crystal';
|
||||
export {CSharpCompiler} from './dotnet';
|
||||
export {DartCompiler} from './dart';
|
||||
export {DefaultCompiler} from './default';
|
||||
export {DMDCompiler} from './dmd';
|
||||
export {CSharpCompiler} from './dotnet';
|
||||
export {EllccCompiler} from './ellcc';
|
||||
export {ErlangCompiler} from './erlang';
|
||||
export {EWARMCompiler} from './ewarm';
|
||||
export {EWAVRCompiler} from './ewavr';
|
||||
export {FakeCompiler} from './fake-for-test';
|
||||
export {FSharpCompiler} from './dotnet';
|
||||
export {FlangCompiler} from './flang';
|
||||
export {FortranCompiler} from './fortran';
|
||||
export {FPCCompiler} from './pascal';
|
||||
export {FSharpCompiler} from './dotnet';
|
||||
export {GCCCompiler} from './gcc';
|
||||
export {GCCRSCompiler} from './gccrs';
|
||||
export {GolangCompiler} from './golang';
|
||||
@@ -62,21 +63,21 @@ export {LDCCompiler} from './ldc';
|
||||
export {LLCCompiler} from './llc';
|
||||
export {LLVMmcaTool} from './llvm-mca';
|
||||
export {MLIRCompiler} from './mlir';
|
||||
export {MrustcCompiler} from './mrustc';
|
||||
export {NasmCompiler} from './nasm';
|
||||
export {NimCompiler} from './nim';
|
||||
export {NvccCompiler} from './nvcc';
|
||||
export {OCamlCompiler} from './ocaml';
|
||||
export {OptCompiler} from './opt';
|
||||
export {OSACATool} from './osaca';
|
||||
export {FPCCompiler} from './pascal';
|
||||
export {PascalWinCompiler} from './pascal-win';
|
||||
export {PonyCompiler} from './pony';
|
||||
export {PPCICompiler} from './ppci';
|
||||
export {PtxAssembler} from './ptxas';
|
||||
export {PythonCompiler} from './python';
|
||||
export {RubyCompiler} from './ruby';
|
||||
export {RustCompiler} from './rust';
|
||||
export {RustcCgGCCCompiler} from './rustc-cg-gcc';
|
||||
export {MrustcCompiler} from './mrustc';
|
||||
export {RustCompiler} from './rust';
|
||||
export {ScalaCompiler} from './scala';
|
||||
export {SdccCompiler} from './sdcc';
|
||||
export {SolidityCompiler} from './solidity';
|
||||
@@ -84,16 +85,15 @@ export {SPIRVCompiler} from './spirv';
|
||||
export {SwiftCompiler} from './swift';
|
||||
export {TenDRACompiler} from './tendra';
|
||||
export {TinyCCompiler} from './tinyc';
|
||||
export {ToitCompiler} from './toit';
|
||||
export {TurboCCompiler} from './turboc';
|
||||
export {TypeScriptNativeCompiler} from './typescript-native';
|
||||
export {VBCompiler} from './dotnet';
|
||||
export {Win32Compiler} from './win32';
|
||||
export {Win32VcCompiler} from './win32-vc';
|
||||
export {Win32Vc6Compiler} from './win32-vc6';
|
||||
export {Win32VcCompiler} from './win32-vc';
|
||||
export {WineVcCompiler} from './wine-vc';
|
||||
export {WslVcCompiler} from './wsl-vc';
|
||||
export {ZigCompiler} from './zig';
|
||||
export {ZigCC} from './zigcc';
|
||||
export {ZigCompiler} from './zig';
|
||||
export {ZigCXX} from './zigcxx';
|
||||
export {TurboCCompiler} from './turboc';
|
||||
export {AvrGcc6502Compiler} from './avrgcc6502';
|
||||
export {ToitCompiler} from './toit';
|
||||
|
||||
@@ -144,8 +144,6 @@ export type EventMap = {
|
||||
toolInputChange: (compilerId: number, toolId: number, input: string) => void;
|
||||
toolInputViewClosed: (compilerId: number, toolId: number, input: string) => void;
|
||||
toolInputViewCloseRequest: (compilerId: number, toolId: number) => void;
|
||||
// TODO: Only emitted
|
||||
toolInputViewOpened: (toolId: number) => void;
|
||||
toolOpened: (compilerId: number, toolState: unknown) => void;
|
||||
toolSettingsChange: (compilerId: number) => void;
|
||||
treeClose: (treeId: number) => void;
|
||||
|
||||
@@ -29,8 +29,8 @@ import './asmruby-mode';
|
||||
import './carbon-mode';
|
||||
import './clean-mode';
|
||||
import './cmake-mode';
|
||||
import './cpp-for-opencl-mode';
|
||||
import './cppcircle-mode';
|
||||
import './cpp-for-opencl-mode';
|
||||
import './cppp-mode';
|
||||
import './cppx-blue-mode';
|
||||
import './cppx-gold-mode';
|
||||
|
||||
@@ -42,11 +42,11 @@ export function isValidAd(ad: Ad, subLang: string): boolean {
|
||||
if (!subLang || ad.filter.length === 0 || ad.filter.includes(subLang)) {
|
||||
const now = Date.now();
|
||||
try {
|
||||
if (ad.valid_from && Date.parse(ad.valid_from) > now) {
|
||||
if (ad.valid_from && now < Date.parse(ad.valid_from)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (ad.valid_until && Date.parse(ad.valid_until) < now) {
|
||||
if (ad.valid_until && now > Date.parse(ad.valid_until)) {
|
||||
return false;
|
||||
}
|
||||
} catch {
|
||||
|
||||
@@ -54,7 +54,6 @@ export class ToolInputView extends MonacoPane<monaco.editor.IStandaloneCodeEdito
|
||||
|
||||
this.updateTitle();
|
||||
this.onSettingsChange(this.settings);
|
||||
this.eventHub.emit('toolInputViewOpened', this._toolId);
|
||||
}
|
||||
|
||||
override getInitialHTML() {
|
||||
|
||||
@@ -94,11 +94,11 @@ class MotdTests implements ITestable {
|
||||
);
|
||||
|
||||
MotdTests.assertAdWithDateNow(
|
||||
1641596400000, // 2022-01-08T00:00:00
|
||||
Date.parse('2022-01-08T00:00:00+00:00'),
|
||||
{
|
||||
filter: [],
|
||||
html: '',
|
||||
valid_from: '2022-01-01T00:00:00',
|
||||
valid_from: '2022-01-01T00:00:00+00:00',
|
||||
},
|
||||
'langForTest',
|
||||
true,
|
||||
@@ -106,11 +106,11 @@ class MotdTests implements ITestable {
|
||||
);
|
||||
|
||||
MotdTests.assertAdWithDateNow(
|
||||
1641596400000, // 2022-01-08T00:00:00
|
||||
Date.parse('2022-01-08T00:00:00+00:00'),
|
||||
{
|
||||
filter: [],
|
||||
html: '',
|
||||
valid_from: '2022-01-16T00:00:00',
|
||||
valid_from: '2022-01-16T00:00:00+00:00',
|
||||
},
|
||||
'langForTest',
|
||||
false,
|
||||
@@ -118,11 +118,11 @@ class MotdTests implements ITestable {
|
||||
);
|
||||
|
||||
MotdTests.assertAdWithDateNow(
|
||||
1641596400000, // 2022-01-08T00:00:00
|
||||
Date.parse('2022-01-08T00:00:00+00:00'),
|
||||
{
|
||||
filter: [],
|
||||
html: '',
|
||||
valid_until: '2022-01-16T00:00:00',
|
||||
valid_until: '2022-01-16T00:00:00+00:00',
|
||||
},
|
||||
'langForTest',
|
||||
true,
|
||||
@@ -130,11 +130,11 @@ class MotdTests implements ITestable {
|
||||
);
|
||||
|
||||
MotdTests.assertAdWithDateNow(
|
||||
1641596400000, // 2022-01-08T00:00:00
|
||||
Date.parse('2022-01-08T00:00:00+00:00'),
|
||||
{
|
||||
filter: [],
|
||||
html: '',
|
||||
valid_from: '2022-01-16T00:00:00',
|
||||
valid_from: '2022-01-16T00:00:00+00:00',
|
||||
},
|
||||
'langForTest',
|
||||
false,
|
||||
@@ -142,12 +142,12 @@ class MotdTests implements ITestable {
|
||||
);
|
||||
|
||||
MotdTests.assertAdWithDateNow(
|
||||
1641596400000, // 2022-01-08T00:00:00
|
||||
Date.parse('2022-01-08T00:00:00+00:00'),
|
||||
{
|
||||
filter: [],
|
||||
html: '',
|
||||
valid_from: '2022-01-01T00:00:00',
|
||||
valid_until: '2022-01-16T00:00:00',
|
||||
valid_from: '2022-01-01T00:00:00+00:00',
|
||||
valid_until: '2022-01-16T00:00:00+00:00',
|
||||
},
|
||||
'langForTest',
|
||||
true,
|
||||
@@ -155,12 +155,12 @@ class MotdTests implements ITestable {
|
||||
);
|
||||
|
||||
MotdTests.assertAdWithDateNow(
|
||||
1641596400000, // 2022-01-08T00:00:00
|
||||
Date.parse('2022-01-08T00:00:00+00:00'),
|
||||
{
|
||||
filter: [],
|
||||
html: '',
|
||||
valid_from: '2022-01-10T00:00:00',
|
||||
valid_until: '2022-01-16T00:00:00',
|
||||
valid_from: '2022-01-10T00:00:00+00:00',
|
||||
valid_until: '2022-01-16T00:00:00+00:00',
|
||||
},
|
||||
'langForTest',
|
||||
false,
|
||||
@@ -168,12 +168,12 @@ class MotdTests implements ITestable {
|
||||
);
|
||||
|
||||
MotdTests.assertAdWithDateNow(
|
||||
978307200000, // 2022-01-20T00:00:00
|
||||
Date.parse('2022-01-20T00:00:00+00:00'),
|
||||
{
|
||||
filter: [],
|
||||
html: '',
|
||||
valid_from: '2022-01-10T00:00:00',
|
||||
valid_until: '2022-01-16T00:00:00',
|
||||
valid_from: '2022-01-10T00:00:00+00:00',
|
||||
valid_until: '2022-01-16T00:00:00+00:00',
|
||||
},
|
||||
'langForTest',
|
||||
false,
|
||||
@@ -181,12 +181,12 @@ class MotdTests implements ITestable {
|
||||
);
|
||||
|
||||
MotdTests.assertAdWithDateNow(
|
||||
1641596400000, // 2022-01-08T00:00:00
|
||||
Date.parse('2022-01-08T00:00:00+00:00'),
|
||||
{
|
||||
filter: [],
|
||||
html: '',
|
||||
valid_from: '2022-01-16T00:00:00',
|
||||
valid_until: '2022-01-10T00:00:00',
|
||||
valid_from: '2022-01-16T00:00:00+00:00',
|
||||
valid_until: '2022-01-10T00:00:00+00:00',
|
||||
},
|
||||
'langForTest',
|
||||
false,
|
||||
@@ -194,12 +194,12 @@ class MotdTests implements ITestable {
|
||||
);
|
||||
|
||||
MotdTests.assertAdWithDateNow(
|
||||
1641596400000, // 2022-01-08T00:00:00
|
||||
Date.parse('2022-01-08T00:00:00+00:00'),
|
||||
{
|
||||
filter: ['fakeLang'],
|
||||
html: '',
|
||||
valid_from: '2022-01-01T00:00:00',
|
||||
valid_until: '2022-01-16T00:00:00',
|
||||
valid_from: '2022-01-01T00:00:00+00:00',
|
||||
valid_until: '2022-01-16T00:00:00+00:00',
|
||||
},
|
||||
'langForTest',
|
||||
false,
|
||||
@@ -207,17 +207,43 @@ class MotdTests implements ITestable {
|
||||
);
|
||||
|
||||
MotdTests.assertAdWithDateNow(
|
||||
1641596400000, // 2022-01-08T00:00:00
|
||||
Date.parse('2022-01-08T00:00:00+00:00'),
|
||||
{
|
||||
filter: ['langForTest'],
|
||||
html: '',
|
||||
valid_from: '2022-01-01T00:00:00',
|
||||
valid_until: '2022-01-16T00:00:00',
|
||||
valid_from: '2022-01-01T00:00:00+00:00',
|
||||
valid_until: '2022-01-16T00:00:00+00:00',
|
||||
},
|
||||
'langForTest',
|
||||
true,
|
||||
'Keep ad if from < now < until and not filtered by lang'
|
||||
);
|
||||
|
||||
MotdTests.assertAdWithDateNow(
|
||||
Date.parse('2022-01-08T00:00:00+00:00'),
|
||||
{
|
||||
filter: ['langForTest'],
|
||||
html: '',
|
||||
valid_from: '2022-01-08T00:00:00+00:00',
|
||||
valid_until: '2022-01-16T00:00:00+00:00',
|
||||
},
|
||||
'langForTest',
|
||||
true,
|
||||
'Keep ad if from = now < until and not filtered by lang'
|
||||
);
|
||||
|
||||
MotdTests.assertAdWithDateNow(
|
||||
Date.parse('2022-01-08T00:00:00+00:00'),
|
||||
{
|
||||
filter: ['langForTest'],
|
||||
html: '',
|
||||
valid_from: '2022-01-01T00:00:00+00:00',
|
||||
valid_until: '2022-01-18T00:00:00+00:00',
|
||||
},
|
||||
'langForTest',
|
||||
true,
|
||||
'Keep ad if from < now = until and not filtered by lang'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,52 +23,52 @@
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
export type LanguageKey =
|
||||
| 'mlir'
|
||||
| 'jakt'
|
||||
| 'c++'
|
||||
| 'llvm'
|
||||
| 'cppx'
|
||||
| 'cppx_gold'
|
||||
| 'cppx_blue'
|
||||
| 'c'
|
||||
| 'openclc'
|
||||
| 'cpp_for_opencl'
|
||||
| 'rust'
|
||||
| 'd'
|
||||
| 'erlang'
|
||||
| 'go'
|
||||
| 'ispc'
|
||||
| 'haskell'
|
||||
| 'hlsl'
|
||||
| 'java'
|
||||
| 'kotlin'
|
||||
| 'scala'
|
||||
| 'ocaml'
|
||||
| 'pony'
|
||||
| 'python'
|
||||
| 'swift'
|
||||
| 'pascal'
|
||||
| 'fortran'
|
||||
| 'assembly'
|
||||
| 'analysis'
|
||||
| 'cuda'
|
||||
| 'zig'
|
||||
| 'clean'
|
||||
| 'ada'
|
||||
| 'nim'
|
||||
| 'crystal'
|
||||
| 'analysis'
|
||||
| 'assembly'
|
||||
| 'c'
|
||||
| 'c++'
|
||||
| 'carbon'
|
||||
| 'circle'
|
||||
| 'circt'
|
||||
| 'ruby'
|
||||
| 'clean'
|
||||
| 'cmake'
|
||||
| 'cpp_for_opencl'
|
||||
| 'cppx'
|
||||
| 'cppx_blue'
|
||||
| 'cppx_gold'
|
||||
| 'crystal'
|
||||
| 'csharp'
|
||||
| 'fsharp'
|
||||
| 'vb'
|
||||
| 'cuda'
|
||||
| 'd'
|
||||
| 'dart'
|
||||
| 'typescript'
|
||||
| 'erlang'
|
||||
| 'fortran'
|
||||
| 'fsharp'
|
||||
| 'go'
|
||||
| 'haskell'
|
||||
| 'hlsl'
|
||||
| 'ispc'
|
||||
| 'jakt'
|
||||
| 'java'
|
||||
| 'kotlin'
|
||||
| 'llvm'
|
||||
| 'mlir'
|
||||
| 'nim'
|
||||
| 'ocaml'
|
||||
| 'openclc'
|
||||
| 'pascal'
|
||||
| 'pony'
|
||||
| 'python'
|
||||
| 'ruby'
|
||||
| 'rust'
|
||||
| 'scala'
|
||||
| 'solidity'
|
||||
| 'swift'
|
||||
| 'toit'
|
||||
| 'carbon';
|
||||
| 'typescript'
|
||||
| 'vb'
|
||||
| 'zig';
|
||||
|
||||
export interface Language {
|
||||
/** Id of language. Added programmatically based on CELanguages key */
|
||||
|
||||
Reference in New Issue
Block a user