================ @@ -158,12 +158,12 @@ TEST_F(InterpreterTest, UndoCommand) { // Fail to undo. auto Err1 = Interp->Undo(); - EXPECT_EQ("Operation failed. Too many undos", + EXPECT_EQ("Operation failed. No input left to undo", llvm::toString(std::move(Err1))); auto Err2 = Interp->Parse("int foo = 42;"); EXPECT_TRUE(!!Err2); auto Err3 = Interp->Undo(2); - EXPECT_EQ("Operation failed. Too many undos", + EXPECT_EQ("Operation failed. No input left to undo", ---------------- DavidSpickett wrote:
The complication here is that although the clang-repl `%undo` only undoes one input, the internal method can actually undo more than that. This test for example is trying to undo 2 things. So the code needs to be a bit more intelligent. You have two situations: * You have nothing left to undo. * You have some things left to undo but *want* to undo more than that. In both cases you error because you don't want to partially undo something, but the message should be specific. In the same order as above, I suggest: * "No input left to undo" * "Want to undo X inputs, only have Y" (with the message formatted with the correct numbers) For formatting the error, we have some utilities to do that, I will find those for you. Side note: "inputs" might not be the right noun, but stick with it for now and we can ask a clang-repl maintainer whether it's ok. https://github.com/llvm/llvm-project/pull/149396 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits