I have performed the "elim" (It happens the same with the weight01 algorithm) test in the same gene universe selecting different genes. However the p-values are the same even if different number of genes are indicated as significant for the same GO.ID. Here is a reproducible example:
library("topGO")
data(GOdata)
geneSelectionFun(GOdata) <- function(x) {x == 1L}
GOdata
resultKS.elim <- runTest(GOdata, algorithm = "elim", statistic = "ks")
allRes1 <- GenTable(GOdata, resultKS.elim)
geneSelectionFun(GOdata) <- function(x) {x > 0.5}
GOdata
resultKS.elim2 <- runTest(GOdata, algorithm = "elim", statistic = "ks")
allRes2 <- GenTable(GOdata, resultKS.elim2)
In this case the GO terms with ID GO:0007067, GO:0051301, GO:0000087, GO:0022403, GO:0000226 have different number of "Significant" genes annotated, thus I expect to have a different p-value but it isn't reported different in each result table. Which makes me think if the elim algorithm is independent of the selected genes. Could the maintainer (or anyone else) explain it to me?

Probably related if I set another ontology the same GO terms (they should be different!!) and p-values are used when retrieving scores:
ontology(GOdata) <- "CC" resultKS.elim3 <- runTest(GOdata, algorithm = "elim", statistic = "ks") GenTable(GOdata, resultKS.elim3) GO.ID Term Annotated Significant Expected result1 1 GO:0007067 <NA> 183 86 84.59 2.9e-09 2 GO:0051301 <NA> 126 67 58.25 9.6e-06 3 GO:0008202 <NA> 9 8 4.16 0.00084 4 GO:0022900 <NA> 8 7 3.70 0.00120 5 GO:0009267 <NA> 6 6 2.77 0.00157 6 GO:0007565 <NA> 8 7 3.70 0.00181 7 GO:0000087 <NA> 188 91 86.91 0.00187 8 GO:0006636 <NA> 9 7 4.16 0.00322 9 GO:0022403 <NA> 192 95 88.75 0.00414 10 GO:0000226 <NA> 30 21 13.87 0.00545