diff options
Diffstat (limited to 'gerrit-server/src/test/java/com/google/gerrit/rules/GerritCommonTest.java')
-rw-r--r-- | gerrit-server/src/test/java/com/google/gerrit/rules/GerritCommonTest.java | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/gerrit-server/src/test/java/com/google/gerrit/rules/GerritCommonTest.java b/gerrit-server/src/test/java/com/google/gerrit/rules/GerritCommonTest.java deleted file mode 100644 index 40596e8856..0000000000 --- a/gerrit-server/src/test/java/com/google/gerrit/rules/GerritCommonTest.java +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (C) 2011 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.google.gerrit.rules; - -import static org.easymock.EasyMock.expect; - -import com.google.gerrit.common.data.LabelTypes; -import com.google.gerrit.server.project.Util; -import com.google.gerrit.server.query.change.ChangeData; -import com.google.inject.AbstractModule; -import com.googlecode.prolog_cafe.exceptions.CompileException; -import com.googlecode.prolog_cafe.exceptions.ReductionLimitException; -import com.googlecode.prolog_cafe.lang.JavaObjectTerm; -import com.googlecode.prolog_cafe.lang.Prolog; -import com.googlecode.prolog_cafe.lang.StructureTerm; -import com.googlecode.prolog_cafe.lang.SymbolTerm; -import java.io.PushbackReader; -import java.io.StringReader; -import java.util.Arrays; -import org.easymock.EasyMock; -import org.eclipse.jgit.lib.Config; -import org.junit.Before; -import org.junit.Test; - -public class GerritCommonTest extends PrologTestCase { - @Before - public void setUp() throws Exception { - load( - "gerrit", - "gerrit_common_test.pl", - new AbstractModule() { - @Override - protected void configure() { - Config cfg = new Config(); - cfg.setInt("rules", null, "reductionLimit", 1300); - cfg.setInt("rules", null, "compileReductionLimit", (int) 1e6); - bind(PrologEnvironment.Args.class) - .toInstance( - new PrologEnvironment.Args(null, null, null, null, null, null, null, cfg)); - } - }); - } - - @Override - protected void setUpEnvironment(PrologEnvironment env) throws Exception { - LabelTypes labelTypes = new LabelTypes(Arrays.asList(Util.codeReview(), Util.verified())); - ChangeData cd = EasyMock.createMock(ChangeData.class); - expect(cd.getLabelTypes()).andStubReturn(labelTypes); - EasyMock.replay(cd); - env.set(StoredValues.CHANGE_DATA, cd); - } - - @Test - public void gerritCommon() throws Exception { - runPrologBasedTests(); - } - - @Test - public void reductionLimit() throws Exception { - PrologEnvironment env = envFactory.create(machine); - setUpEnvironment(env); - - String script = "loopy :- b(5).\nb(N) :- N > 0, !, S = N - 1, b(S).\nb(_) :- true.\n"; - - SymbolTerm nameTerm = SymbolTerm.create("testReductionLimit"); - JavaObjectTerm inTerm = - new JavaObjectTerm(new PushbackReader(new StringReader(script), Prolog.PUSHBACK_SIZE)); - if (!env.execute(Prolog.BUILTIN, "consult_stream", nameTerm, inTerm)) { - throw new CompileException("Cannot consult " + nameTerm); - } - - exception.expect(ReductionLimitException.class); - exception.expectMessage("exceeded reduction limit of 1300"); - env.once( - Prolog.BUILTIN, - "call", - new StructureTerm(":", SymbolTerm.create("user"), SymbolTerm.create("loopy"))); - } -} |